马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最近在用python写一个文字rpg游戏
但是写完初始框架后才发现一个问题
我的main就一句话
然后其他所有的操作均由各种函数完成
但是由于游戏的原因
我在其中运用了大量的递归
例如#主操控面板
def main_panel():
print('\n%s,你现在正处在%s。' % (leading_main.name,leading_main.place))
print('【1】查看属性')
print('【2】查看背包')
print('【3】查看队伍\n')
map_activity('print',leading_main.place)
choose = input('\n【0】退出游戏\n请做出选择:')
if(choose == '0'):
sys.exit(0)
elif(choose == '1'):
inspect_attribute(choose)
elif(choose == '2'):
inspect_package(choose)
else:
map_activity(choose)
print('----------------------------------------------------------------')
main_panel()
我设定的递归函数全是无返回值的
但是据我所知递归的原理
在下一层的函数没有进行完时
上层的函数就会一直等待返回值
还有python的递归锁的问题
这是否会导致这个游戏会占用大量的内存
并且会突然被锁死闪退
如果会,那就只有把递归函数转化成主函数里无限循环这一种办法能解决吗? |