如何让这段代码在每次调用 Python 时选择一个随机数?
How to make this code pick a random number each call Python?
#randomly picks a monster for a random encounter
class RanMob:
#randint(1,2)
roll=Dice.die(2)
if roll ==1:
mob=Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
if roll ==2:
mob=Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)
while True:
#pick a new random monster
RanMob()
#print the name of the random monster
print(RanMob.mob.name)
当我 运行 此代码时 RanMob
class 第一次选择一个新的随机数,然后再也没有选择一个新的数字。每次我在主游戏循环中调用 RanMob
时,如何让它选择一个新生物?
不要使用 class。 class 主体只执行一次(当 Python 遇到 class
语句时)。 RanMob()
行在这里完全是多余的,它不是执行 Dice.die()
调用的那一行。
使用函数和return结果:
def ranmob():
#randint(1,2)
roll=Dice.die(2)
if roll ==1:
return Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
if roll ==2:
return Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)
while True:
#pick a new random monster
mob = ranmob()
#print the name of the random monster
print(mob.name)
#randomly picks a monster for a random encounter
class RanMob:
#randint(1,2)
roll=Dice.die(2)
if roll ==1:
mob=Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
if roll ==2:
mob=Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)
while True:
#pick a new random monster
RanMob()
#print the name of the random monster
print(RanMob.mob.name)
当我 运行 此代码时 RanMob
class 第一次选择一个新的随机数,然后再也没有选择一个新的数字。每次我在主游戏循环中调用 RanMob
时,如何让它选择一个新生物?
不要使用 class。 class 主体只执行一次(当 Python 遇到 class
语句时)。 RanMob()
行在这里完全是多余的,它不是执行 Dice.die()
调用的那一行。
使用函数和return结果:
def ranmob():
#randint(1,2)
roll=Dice.die(2)
if roll ==1:
return Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
if roll ==2:
return Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)
while True:
#pick a new random monster
mob = ranmob()
#print the name of the random monster
print(mob.name)