【发布时间】:2015-10-20 16:29:04
【问题描述】:
基本上,我正在制作一个基于文本的 python 游戏,并且遇到了一个障碍。
玩家可以进入战斗,并且一如既往,你有可能会死(hp为0)。我想要做的是打破游戏的主循环,这是几个功能,大致5-6(从主到战斗系统功能),分散在不同的文件中。
结构如下:
core()
while True:
main()
game_over()
- core - 在 While 循环中运行 main 函数和 game_over()
- 主函数运行游戏
- 主调用事件函数
- 事件函数根据条件/情况执行某些操作(如果不满足,则不执行任何操作) -> 每当玩家编写“battle”时,该函数都会调用战斗循环
- 战斗循环中使用了很多函数,但循环的最终作用是检查玩家的 hp 是否大于 0。
我想要做的是,每当玩家的 hp 变为 0(甚至更低)时,main() 函数就会被破坏,以便提示玩家退出游戏或再次运行 main 函数.我希望这种情况的发生与必须在每个函数之后键入 return 和一个值不同。
game_over 函数提示玩家输入“new”并再次启动 main(),因为该函数根本不做任何事情,或者“退出”并且该函数将调用 quit() 并退出游戏。
TL:DR - 我怎样才能从一个较小的函数中分离出来?试图避免返回数组?
【问题讨论】:
-
你不能“跳出函数” -
return是唯一的方法。