我正在做一个电子游戏,我想要增加敌人的数量,当玩家达到20杀,即kills % 20 == 0。我有一个函数enemy_spawn(number_of_enemies),我实现了下面的代码。我想知道我做错了什么,因为一旦它执行,就会有无限的敌人。请建议一些可能的修复方法。我只附上了相关的代码。谢谢。
number_of_enemies = 5
num_check = False
redrawWindow():
global num_check
global number_of_enemies
if kills%20 == 0 and kills > 1:
num_check = True
if num_check:
number_of_enemies += 1
num_check = False发布于 2020-06-15 18:48:23
这是有道理的。将num_check设置为False后,如果用户未获得任何新的杀死,则第一个if条件将其设置回True。
一种解决方案是当num_check为真时也将终止计数重置为0。在实际应用中,使用第二个杀伤数来跟踪总杀伤量可能是符合逻辑的。
发布于 2020-06-16 02:54:44
将第二个if更改为elif,这样它就不会在第一个if设置num_check = True之后立即执行。如下所示:
if kills%20 == 0 and kills > 1:
num_check = True
elif num_check:
number_of_enemies += 1
num_check = Falsehttps://stackoverflow.com/questions/62386498
复制相似问题