假设有一个玩家,一个怪物,分别对应一连串数字,第一个数字为初始血量,从第二个开始到最后为其可能的攻击力,可选择的攻击力数量大于等于2, 每回合都有可能是玩家或者怪物攻击(随机选择),攻击力为玩家/怪物本身的攻击力中的随机一个,互相攻击直到其中一方血量小于等于0,输出胜利者及其剩余血量
import random
role = {"player": [5, 2, 3, 4], "monster": [10, 1, 2]}
#role["monster"][0]-=atk1
#role["player"][0]-=atk2
rolerange=[]
rolerange.extend(list(role))
while role["player"][0] > 0 and role["monster"][0] > 0:
atkrole=random.choice(rolerange)
if atkrole=='player':
print('玩家攻击')
choic=random.randint(1,3)#玩家攻击
atk1=role["player"][choic]
print('攻击力为'+str(atk1))
role["monster"][0]-=atk1
print('怪物剩余的生命为'+str(role["monster"][0]))
else:
print('怪物攻击')
n=random.randint(1,2)#怪物攻击
atk2=role["monster"][n]
print('攻击力为'+str(atk2))
role["player"][0]-=atk2
print('玩家剩余的生命为'+str(role["player"][0]))
if role["player"][0]<=0:
print('怪物获胜')
else:
print('玩家获胜')