所以我有下面的代碼得到一個功能循環到另一個,然後再返回:如何與不同randints每次
def monsterturn():
global monster
global playerhp
turn = True
print "Rolling for", monster, "...(14 or better to hit)"
time.sleep(1)
if r > 14:
print r, "- The", monster, "hit you!"
playerhp-=1
time.sleep(0.5)
print "Your HP:", playerhp
if playerhp == 0:
turn = False
time.sleep(0.5)
print "YOU HAVE BEEN SLAIN."
else:
turn = False
time.sleep(1.5)
playerturn()
elif r < 14:
print r, "- The", monster, "missed you."
turn = False
playerturn()
r = randrange(1, 21)
功能playerturn()
的結構酷似monsterturn()
,除具有全局變量monsterhp而不是playerhp,r2而不是r,並且爲玩家對話而不是怪物。問題是,它會一次計算一個隨機整數,然後保留它,這往往會在沒有人碰到任何人的情況下永遠結束。我怎樣才能得到它每次計算一個不同的隨機整數?
此外,函數playerturn()
被調用,並在最後觸發monsterturn()
,觸發playerturn()
等等,直到有人死亡。
你不應該使用全局變量這個 –