0
所以main()是一個運行遊戲的遊戲循環。無論何時在遊戲循環內部引發GameOver異常(例如在戰鬥中死亡時),我都會提示玩家退出遊戲或開始新遊戲。如果你開始一款新遊戲,那麼它運行良好,除了一個主要缺陷 - 迄今爲止所有變化的變化都保持不變。基本上從例外情況來說,main()循環會重新運行,但它不會重置變量,因爲它們在程序執行過程中已經被更改了。重新執行程序並從程序本身恢復變量(Python)
有沒有辦法重置變量的值和幾乎所有的方式重讀所有的python文件,而不必重新執行腳本本身?
我有這樣的代碼:
while True:
try:
main()
except GameOver:
a = game_over_prompt()
if a == "quit":
quit()
else:
print("\n" * 50)
print("┌──────────────────────┐")
print("│ Starting a new game! │")
print("└──────────────────────┘")
print()
loading(30)
什麼是「加載」?聽起來像'main'不會初始化遊戲狀態,否則這將工作正常 –
重新將它們初始化爲默認值,在每次調用新遊戲時運行的方法中。 – Dan
如果你的遊戲狀態存儲在局部變量中,這已經可以工作。不要使用全局變量。或者,如果您的遊戲狀態存儲在文件中以實現持久性,則您需要有一個初始狀態文件,您可以在每次重新啓動遊戲時複製該文件。 –