猫史档案馆


【Python作品分享】卡牌对决(完整版)【作品秀】

用户:xdfsfddxdfsfdd查看:0 回复:2 评论:0 创建时间:2020-09-21T12:45:41


【作品展示】

center_image

 

【作品介绍】

wu

 

【作品源代码】

import random


print('-- -- -- 卡牌对决 -- -- --')
card1 = {'名称': '老八(吃粑粑)', '攻击力': 50000, '防御力': 9999, '敏捷': 999999}
card2 = {'名称': '茄子(WDNMD)', '攻击力': 99999, '防御力': 10000, '敏捷': 999999}
card3 = {'名称': 'giao哥(一给窝里giao)', '攻击力': 0.001, '防御力': 100, '敏捷': 0.1}
card4 = {'名称': '大司马(哟)', '攻击力': 100000,
         '防御力': 10000, '敏捷': 10000000}
card5 = {'名称': '蛋黄派(尿啊)', '攻击力': 1, '防御力': 2000, '敏捷': 20}
print("""规则:
1、双方初始血量:100000000
2、对决之前,双方随机获得5张卡牌
3、每回合双方派出1张卡牌出战,对决后,出战卡牌消失,并重新抽取1张卡牌
4、敏捷高的一方进行攻击,对方根据自身卡牌的防御力,扣除血量
5、接着敏捷低的一方进行反击,对方根据自身卡牌的防御力,扣除血量
6、血量低于0的一方输掉比赛
""")

# 血量
playerHP = 1000000
enemyHP = 1000000
# 卡池
cards = [card1, card2, card3, card4, card5]
# 抽取卡牌
playerCards = []
enemyCards = []
for i in range(5):
    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 = (enemyHP - playerHurt)
        if (enemyHP <= 0):
            print('对决结束,敌方血量为0,我方获胜!')
            break
        else:
            print(((('我方造成伤害:' + str(playerHurt)) + ',敌方剩余血量:') + str(enemyHP)))
        # 敌方反击
        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('敌方发起攻击!')
        enemyHurt = (enemyC['攻击力'] - playerC['防御力'])
        if (enemyHurt < 0):
            enemyHurt = 0
        playerHP = (playerHP - enemyHurt)
        if (playerHP <= 0):
            print('对决结束,我方血量为0,敌方获胜!')
            break
        else:
            print(((('敌方造成伤害:' + str(enemyHurt)) + ',我方剩余血量:') + str(playerHP)))
        # 我方反击
        print('我方发起反击!')
        playerHurt = (playerC['攻击力'] - enemyC['防御力'])
        if (playerHurt < 0):
            playerHurt = 0
        enemyHP = (enemyHP - playerHurt)
        if (enemyHP <= 0):
            print('对决结束,敌方血量为0,我方获胜!')
            break
        else:
            print(((('我方造成伤害:' + str(playerHurt)) + ',敌方剩余血量:') + str(enemyHP)))
        # 不攻击
    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])

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
lsk666666lsk666666

《关于随便从哪儿找张图就能当封面这事儿》

点赞1


评论


小鹿deer小鹿deer

积木拼的

点赞0


评论