卡牌对决(最终正式版) | python作品分享 -380玩彩网官网入口

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

python

1年前

卡牌我只认游戏王

1年前
(楼主) 1年前

更新了攻击距离 不再更新

1年前

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