d + stat_summary(fun.data = "mean_cl_boot", colour = "red",
size = 2, geom = "linerange") +
stat_summary(fun.data = "mean_cl_boot", colour = "blue",
size = 1.8, geom = "point", shape = 4)
我有一个问题,当我再次进行战斗时,敌人仍然是相同的,并且仍然有0或更少的健康。我认为enemynum会选择一个不同的敌人,但它并没有,我也不知道如何将健康等敌人变量重置为70.
答案 0 :(得分:1)
我认为你每次死亡时都应该创造新的敌人实例。在preFight功能:
def preFight():
global enemy
enemynum=random.randint(1,3)
if enemynum==1:
enemy=goblin("Goblin")
elif enemynum==2:
enemy=zombie("Zombie")
elif enemynum==3:
enemy=skeleton("Skeleton")
fight()
答案 1 :(得分:1)
在每个敌人类定义下,你创建一个这样的敌人对象:
class goblin():
def __init__(self,name):
self.name=name
self.maxhealth=50
self.health=self.maxhealth
self.attack=5
self.goldgain=10
goblinIG=goblin("Goblin")
但是当你使用prefight()时,你只会引用同一个敌人对象。因此,一旦该对象的健康状况设置为0,它就会保持这种状态,你就这样继续引用它:
def preFight():
global enemy
enemynum=random.randint(1,3)
if enemynum==1:
enemy=goblinIG
elif enemynum==2:
enemy=zombieIG
elif enemynum==3:
enemy=skeletonIG
fight()
每次都应该通过
创建新的敌人对象enemy = goblin("goblin")
或者你想做的任何一个。