pyscreeps-arena 0.5.1.0__tar.gz → 0.5.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/PKG-INFO +2 -1
  2. pyscreeps_arena-0.5.8.2/pyscreeps_arena/__init__.py +88 -0
  3. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/compiler.py +432 -53
  4. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/const.py +1 -1
  5. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/localization.py +10 -0
  6. pyscreeps_arena-0.5.8.2/pyscreeps_arena/project.7z +0 -0
  7. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/P2PY.py +108 -0
  8. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/__init__.py +12 -0
  9. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/creeplogic_edit.py +14 -0
  10. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/map_render.py +705 -0
  11. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/mapviewer.py +14 -0
  12. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/project_ui.py +215 -0
  13. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qcreeplogic/__init__.py +3 -0
  14. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qcreeplogic/model.py +72 -0
  15. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qcreeplogic/qcreeplogic.py +770 -0
  16. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/__init__.py +1 -0
  17. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/qmapmarker.py +339 -0
  18. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/qvariable.py +303 -0
  19. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/test_compact_variable.py +61 -0
  20. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/test_qmapmarker.py +71 -0
  21. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/test_qvariable.py +49 -0
  22. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapker/to_code.py +100 -0
  23. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/__init__.py +3 -0
  24. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/qcinfo.py +567 -0
  25. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/qco.py +441 -0
  26. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/qmapv.py +728 -0
  27. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_array_drag.py +191 -0
  28. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_drag.py +107 -0
  29. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_qcinfo.py +169 -0
  30. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_qco_drag.py +7 -0
  31. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_qmapv.py +224 -0
  32. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qmapv/test_simple_array.py +303 -0
  33. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qrecipe/__init__.py +1 -0
  34. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qrecipe/model.py +434 -0
  35. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/qrecipe/qrecipe.py +914 -0
  36. pyscreeps_arena-0.5.8.2/pyscreeps_arena/ui/rs_icon.py +43 -0
  37. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena.egg-info/PKG-INFO +2 -1
  38. pyscreeps_arena-0.5.8.2/pyscreeps_arena.egg-info/SOURCES.txt +49 -0
  39. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena.egg-info/entry_points.txt +1 -0
  40. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena.egg-info/requires.txt +1 -0
  41. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/setup.py +3 -1
  42. pyscreeps_arena-0.5.1.0/pyscreeps_arena/__init__.py +0 -32
  43. pyscreeps_arena-0.5.1.0/pyscreeps_arena/project.7z +0 -0
  44. pyscreeps_arena-0.5.1.0/pyscreeps_arena.egg-info/SOURCES.txt +0 -19
  45. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/build.py +0 -0
  46. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/__init__.py +0 -0
  47. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/basic.py +0 -0
  48. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/config.py +0 -0
  49. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/core.py +0 -0
  50. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/main.py +0 -0
  51. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena/core/utils.py +0 -0
  52. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena.egg-info/dependency_links.txt +0 -0
  53. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/pyscreeps_arena.egg-info/top_level.txt +0 -0
  54. {pyscreeps_arena-0.5.1.0 → pyscreeps_arena-0.5.8.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyscreeps-arena
3
- Version: 0.5.1.0
3
+ Version: 0.5.8.2
4
4
  Summary: Python api|interface to play game: Screeps: Arena.
5
5
  Author-email: 2229066748@qq.com
6
6
  Maintainer: Eagle'sBaby
@@ -16,6 +16,7 @@ Requires-Dist: colorama
16
16
  Requires-Dist: py7zr
17
17
  Requires-Dist: chardet
18
18
  Requires-Dist: Transcrypt==3.9.1
19
+ Requires-Dist: PyQt6
19
20
  Requires-Dist: mkdocs
20
21
  Requires-Dist: mkdocstrings[python]
21
22
  Requires-Dist: mkdocs-material
@@ -0,0 +1,88 @@
1
+ import os
2
+ import sys
3
+ import shutil
4
+ import py7zr
5
+ from pyscreeps_arena.core import const, config
6
+ from pyscreeps_arena.ui.mapviewer import run_mapviewer
7
+ from pyscreeps_arena.ui.project_ui import run_project_creator
8
+ from pyscreeps_arena.ui.creeplogic_edit import run_creeplogic_edit
9
+
10
+ def CMD_NewProject():
11
+ """
12
+ cmd:
13
+ pyscreeps-arena [project_path]
14
+ arena [project_path]
15
+
16
+ * 复制"src" "game" "build.py" 到指定目录
17
+
18
+ Returns:
19
+
20
+ """
21
+ if len(sys.argv) < 2:
22
+ print("Usage: pyarena new [project_path]\n# or\narena new [project_path]")
23
+ return
24
+ project_path = sys.argv[1]
25
+ if not os.path.exists(project_path):
26
+ os.makedirs(project_path)
27
+ this_path = os.path.dirname(os.path.abspath(__file__))
28
+ extract_7z(os.path.join(this_path, 'project.7z'), project_path)
29
+ print("Project created at", project_path)
30
+
31
+ def CMD_OpenUI():
32
+ """
33
+ cmd:
34
+ psaui 无参数,启用project ui
35
+ psaui -c/-e 启用creeplogic edit
36
+ psaui -m [-c/-e] 启用mapviewer. 默认cn,可以指定-c/-e
37
+ psaui -h 显示帮助信息
38
+
39
+ * 打开UI界面
40
+
41
+ Returns:
42
+
43
+ """
44
+ try:
45
+ # 显示帮助信息
46
+ if len(sys.argv) > 1 and sys.argv[1] == '-h':
47
+ print("Usage:")
48
+ print(" psaui 启用project ui")
49
+ print(" psaui -c/-e 启用creeplogic edit (-c: 中文, -e: 英文)")
50
+ print(" psaui -m [-c/-e] 启用mapviewer (-c: 中文, -e: 英文, 默认: 中文)")
51
+ print(" psaui -h 显示帮助信息")
52
+ print(" --------------------------------------------------------------")
53
+ print(" psaui run `project ui`")
54
+ print(" psaui -c/-e run `creeplogic edit` (-c: chinese, -e: english)")
55
+ print(" psaui -m [-c/-e] run `mapviewer` (-c: chinese, -e: english, default: chinese)")
56
+ print(" psaui -h Show this help message")
57
+
58
+ return
59
+
60
+ # 检查是否使用mapviewer
61
+ if len(sys.argv) > 1 and sys.argv[1] == '-m':
62
+ # 检查语言参数
63
+ if len(sys.argv) > 2 and sys.argv[2] == '-e':
64
+ from pyscreeps_arena.core import config
65
+ config.language = 'en'
66
+ run_mapviewer()
67
+ # 检查是否使用creeplogic edit
68
+ elif len(sys.argv) > 1 and sys.argv[1] == '-c':
69
+ run_creeplogic_edit()
70
+ elif len(sys.argv) > 1 and sys.argv[1] == '-e':
71
+ from pyscreeps_arena.core import config
72
+ config.language = 'en'
73
+ run_creeplogic_edit()
74
+ # 默认启用project ui
75
+ else:
76
+ run_project_creator()
77
+ except ImportError as e:
78
+ print(f"错误: 无法导入UI模块 - {e}")
79
+ print("请确保已安装PyQt6: pip install PyQt6")
80
+ except Exception as e:
81
+ print(f"错误: 打开UI界面失败 - {e}")
82
+
83
+ def extract_7z(file_path, output_dir):
84
+ with py7zr.SevenZipFile(file_path, mode='r') as archive:
85
+ archive.extractall(path=output_dir)
86
+
87
+ if __name__ == '__main__':
88
+ CMD_OpenUI()