卡牌对决(最终正式版) | python作品分享 -大发黄金版app下载
import random
print(‘———-异物种之战———-‘)
card1 = {‘名称’:’诺兹多姆’,’攻击力’:5000,’防御力’:4000,’敏捷’:40,’攻击距离’:2}
card2 = {‘名称’:’阿莱克斯塔萨’,’攻击力’:3000,’防御力’:2000,’敏捷’:60,’攻击距离’:3}
card3 = {‘名称’:’耐萨里奥’,’攻击力’:6000,’防御力’:2000,’敏捷’:20,’攻击距离’:4}
card4 = {‘名称’:’伊瑟拉’,’攻击力’:2000,’防御力’:6000,’敏捷’:30,’攻击距离’:4}
card5 = {‘名称’:’玛里苟斯’,’攻击力’:2000,’防御力’:4000,’敏捷’:50,’攻击距离’:2}
card6 = {‘名称’:’萨格拉斯’,’攻击力’:8000,’防御力’:7000,’敏捷’:55,’攻击距离’:4}
#血量
playerhp = 10000
enemyhp = 10000
#卡池
cards = [card1,card2,card3,card4,card5,card6]
#抽取卡牌
playercards = []
enemycards = []
for i in range(3):
a = random.randint(0,len(cards) - 1)
playercards.append(cards[a])
b = random.randint(0,len(cards) - 1)
enemycards.append(cards[b])
while true:
#卡牌展示
print('我方卡牌:')
for i in playercards:
print(i)
#我方出牌
playerselect = input('派第几张卡牌出战:')
playerc = playercards[int(playerselect) - 1]
print('我方派出了:' playerc['名称'])
#敌方出牌
enemyselect = random.randint(0,len(enemycards) - 1)
enemyc = enemycards[enemyselect]
print('敌方派出了:' enemyc['名称'])
#我方先攻击
if playerc['敏捷'] > enemyc['敏捷']:
print('我方先发起攻击!')
playerhurt = playerc['攻击力'] - enemyc['防御力']
if playerhurt < 0:
playerhurt = 0
enemyhp -= playerhurt
if enemyhp <= 0:
print('对决结束,敌方血量为0,我方获胜!')
break
else:
print('我方造成伤害:' str(playerhurt) ',敌方剩余血量:' str(enemyhp))
#敌方反击
if enemyc['攻击距离']>playerc['攻击距离']:
print('敌方发起反击')
enemyhurt = enemyc['攻击力'] - playerc['防御力']
if enemyhurt < 0:
enemyhurt = 0
playerhp = playerhp - enemyhurt
if playerhp <= 0:
print('对决结束,我方血量为0,敌方获胜!')
break
else:
print('敌方造成伤害:' str(enemyhurt) ',我方剩余血量:' str(playerhp))
else:
print('敌方攻击距离不够!')
#敌方先攻击
elif playerc['敏捷'] < enemyc['敏捷']:
print('敌方先发起攻击!')
enemyhurt = enemyc['攻击力'] - playerc['防御力']
if enemyhurt < 0:
enemyhurt = 0
playerhp = playerhp - enemyhurt
if playerhp <= 0:
print('对决结束,我方血量为0,敌方获胜!')
break
else:
print('敌方造成伤害:' str(enemyhurt) ',我方剩余血量:' str(playerhp))
#我方反击
if playerc['攻击距离']>enemyc['攻击距离']:
print('我方发起反击!')
playerhurt = playerc['攻击力'] - enemyc['防御力']
if playerhurt < 0:
playerhurt = 0
enemyhp -= playerhurt
if enemyhp <= 0:
print('对决结束,敌方血量为0,我方获胜!')
break
else:
print('我方造成伤害:' str(playerhurt) ',敌方剩余血量:' str(enemyhp))
else:
print('我方攻击距离不够!')
#不攻击
else:
print('对方跑得太快,追不上!')
#删除卡牌
playercards.remove(playerc)
enemycards.remove(enemyc)
#补充卡牌
a = random.randint(0,len(cards) - 1)
playercards.append(cards[a])
b = random.randint(0,len(cards) - 1)
enemycards.append(cards[b])
#魔法泉
sprint = random.randint(1,100)
if sprint <= 30:
print('魔法泉发动!')
magic = random.randint(1,100)
if magic <= 50:
print('攻击力低于3000的卡牌获得-泰坦祝福')
for i in cards:
if i['攻击力'] < 3000:
i['buff'] = '泰坦祝福'
else:
print('攻击力高于6000的卡牌受到-混沌侵蚀')
for i in cards:
if i['攻击力'] > 6000:
i['buff'] = '混沌侵蚀'
else:
print('魔法泉很安静!')
#buff
for i in cards:
if 'buff' in i:
if i['buff'] == '泰坦祝福':
i['攻击力'] = 1000
elif i['buff'] == '混沌侵蚀':
i['攻击力'] -= 1000
if i['攻击力'] < 0:
i['攻击力'] = 0
input(‘结束游戏!’)
python
卡牌我只认游戏王
更新了攻击距离 不再更新