基本上,我正在製作一個基於文本的python遊戲,並碰到了一個塊。在python中返回低級函數的高級函數?
玩家可以進入一場戰鬥,並且一如既往有機會死亡(HP爲0)。我想要做的就是打破遊戲的主循環,這是幾種功能,大致爲5-6(從主要到戰鬥系統功能),分散在不同的文件中。
的結構如下:
core()
while True:
main()
game_over()
- 芯 - 運行在一個While循環
- 主要功能運行遊戲的主要功能和game_over()
- 主呼叫事件功能
- 事件函數根據條件/情況做出一些事情(或者,如果沒有滿足,則什麼也不做) - >當玩家寫'戰鬥'時,函數調用戰鬥循環
- 相當一堆的功能都是在戰鬥中循環使用,但什麼循環並最終被檢查,如果玩家的HP大於0
我想要做的是,每當玩家的HP雲0(甚至低於)時,main()函數將被打破,這樣玩家可以被提示退出遊戲或再次運行主函數。我希望這會發生不同於在每個函數後鍵入return和value。
game_over函數提示玩家輸入「new」並再次啓動main(),因爲該函數根本不會做任何事情,或者「退出」,函數會調用quit()並退出遊戲。
TL:DR - 我如何從一個較小的功能中突破功能?試圖避免一系列的回報?
不能*「打出來的函數「* - 'return'是唯一的方法。 – jonrsharpe