Python 卡牌版本的《田忌赛马》

"""玩家从1—10的卡牌内出牌,电脑也从1—10的牌内随机抽牌,

牌数较大的一方得一分,较小的一方不得分,相同则都得一分,一共比10轮。"""
import random
def cardgame():
    rounds = 10
    playerscore = 0
    computerscore = 0
    playerdeck = list(range(1, 11))#玩家牌堆,一共10张牌
    computerdeck = list(range(1, 11))#玩家牌堆,一共10张牌      
    print('******************************欢迎来到卡片对战游戏!****************************')
    print('*****************学习过《田忌赛马》吗?想要战无不胜,田忌是这么做的:***********')
    print('用自己的下等马对别人的上等马,用中等马对别人的下等马,最后用上等马对别人的中等马')
    print('************************在这个游戏中,你将与电脑进行10轮的对战,*****************')
    print('**************每轮中,你将会从1到10的范围内出一张牌,而电脑也会出一张牌。*******')
    print('********如果你们的牌相同,则双方都得一分;如果一方胜利,则胜利的一方得一分,*****')
    print('**************最终,谁的得分更高,谁就赢得了游戏。如果得分相同,则平手。********')
    print('*****************************现在,让我们开始游戏吧!***************************\n')
    for r in range(rounds):
        print(f"第{r + 1}轮:")# 玩家出牌
        playercard = int(input("请输入你的卡牌数字(1-10):"))
        while playercard not in playerdeck:
            print("卡牌无效或者已经出过!请重新输入。")
            playercard = int(input("请输入你的卡牌数字(1-10):"))
        playerdeck.remove(playercard)# 从牌堆中移除卡牌
        # 电脑出牌
        computercard = random.choice([i for i in computerdeck])# 从剩余的牌中随机选择一张
        computerdeck.remove(computercard)# 从牌堆中移除卡牌 
        print(f"你出了{playercard},电脑出了{computercard}。")
        if playercard > computercard:
            print("你赢了这一轮!你加一分!")
            playerscore += 1
        elif playercard < computercard:
            print("电脑赢了这一轮!电脑加一分!!")
            computerscore += 1
        else:
            print("平局!各得一分。")
            playerscore += 1
            computerscore += 1
        print(f'第{r+1}轮结束,你的得分是{playerscore},电脑的得分是{computerscore}。\n')
        print(" ------------------------------------------------------------------------")
        print("                                                                       ")
        print("                                                                       ")
        # 比较分数,确定赢家
    if playerscore > computerscore:
        print("小伙子不错!你赢了!")
    elif playerscore < computerscore:
        print("电脑赢了,渣渣!")
    else:
        print("平手!")
while True:
    cardgame()
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值