# ------------------------------- # Difficult Rocket # Copyright © 2020-2023 by shenjackyuanjie 3695888@qq.com # All rights reserved # ------------------------------- import os import sys import time import traceback import threading from pathlib import Path hi = """Difficult Rocket is writen by shenjackyuanjie email: 3695888@qq.com or shyj3695888@163.com QQ: 3695888""" def print_path() -> None: print(f"{__file__=}") print(f"{sys.path=}") print(f"{sys.path[0]=}") print(f"{sys.argv[0]=}") print(f"{Path.cwd()=}") print(f"{Path(__file__).absolute()=}") print(f"{Path(__file__).parent=}") def modify_path() -> None: os.chdir(Path(__file__).parent) # 将运行路径切换到文件位置 防止bug sys.path.append("./libs") # 添加 libs path def start(start_time_ns: int) -> None: from Difficult_Rocket import crash, DR_status from Difficult_Rocket.runtime import DR_runtime from Difficult_Rocket.exception import TestError DR_runtime.start_time_ns = start_time_ns try: from Difficult_Rocket import main main_game = main.Game() main_game.start() if DR_status.crash_report_test: raise TestError("debug crash test") except: # noqa: E722 trace = traceback.format_exc() crash.create_crash_report(trace) print(trace) crash.write_info_to_cache(sys.stdout) print(crash.all_thread) print(crash.all_process) for a_thread in threading.enumerate(): print(a_thread) if a_thread.is_alive() and not a_thread.daemon: if ( a_thread != threading.current_thread() and a_thread != threading.main_thread() ): a_thread.join(2) # wait for 2 sec import pyglet pyglet.app.exit() # make sure that pyglet has stopped def main() -> int: print(hi, f"\n{time.ctime()}") # hi! # 记录启动信息 start_time_ns = time.time_ns() print_path() modify_path() start(start_time_ns) return 0 if __name__ == "__main__": sys.exit(main())