卡牌对决(最终正式版)

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(‘结束游戏!’)

讨论数量: 4

卡牌我只认游戏王

1年前 评论
1400742483 (楼主) 1年前

更新了攻击距离 不再更新

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!