英雄杀小游戏

博主利用Python编程语言制作了一款三国主题的卡牌游戏,耗时约1小时。期待游戏能受到欢迎,未对点赞和收藏抱有期望。
摘要由CSDN通过智能技术生成

这是用Python做的一个三国卡牌游戏 

我大约做了1个小时

希望能火

不求点赞和收藏

#导库
from tkinter import*
from time import*
from sys import*
from random import*
from xes import*
from tkinter import messagebox
import urllib.request
import requests
import json

#定义游戏

def 三国杀():
    root.destroy()
    sleep(1)
    clear()
    pai = ["桃","酒","杀","闪","万箭齐发","南蛮入侵","顺手牵羊","过河拆桥","釜底抽薪","无中生有","无懈可击","火杀","雷杀"]
    wopai = []
    dipai = []
    wokill = 1
    dikill = 1
    woxue = 3
    dixue = 3
    print("欢迎进入三国杀游戏!")
    print("开局随机抽牌4张")
    print("正在抽取己方卡牌")
    for i in range(4):
        aa = choice(pai)
        wopai.append(aa)
    sleep(0.5)
    print("正在抽取敌方卡牌")
    for i in range(4):
        bb = choice(pai)
        dipai.append(bb)
    sleep(0.5)
    print("抽牌完成!")
    while True:
        if woxue == 0:
            print("敌方获胜!")
            break
        if dixue == 0:
            print("我方获胜!")
            break
        print("我方回合")
        k = ""
        while k != "结束":
            clear()
            print("我方血量:",woxue,"敌方血量:",dixue)
            print("我方回合")
            print("我方所拥有的牌:")
            for i in wopai:
                print(i)
            k = input("请输入你想出的牌,输入“结束”以结束出牌")
            if k == "结束":
                break
            if k in wopai:
                if k == "杀":
                    if "闪" in dipai:
                        input("敌方使用了闪,你的杀失效了!按下回车以进入下一轮出牌")
                        dipai.remove("闪")
                    else:
                        dixue -= 1
                        input("出牌成功!敌方血量减少1点,按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "火杀" or k == "雷杀":
                    if "闪" in dipai:
                        input("敌方使用了闪,你的杀失效了!按下回车以进入下一轮出牌")
                        dipai.remove("闪")
                    else:
                        dixue -= 2
                        input("出牌成功!敌方血量减少2点,按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "无中生有":
                    if "无懈可击" in dipai:
                        dipai.remove("无懈可击")
                        input("敌方使用了无懈可击,你的牌失效了!按下回车以进入下一轮出牌")
                    else:
                        for i in range(2):
                            g = choice(pai)
                            wopai.append(g)
                        sleep(0.25)
                        input("抽牌成功!按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "桃":
                    if "无懈可击" in dipai:
                        dipai.remove("无懈可击")
                        input("敌方使用了无懈可击,你的牌失效了!按下回车以进入下一轮出牌")
                    elif woxue == 3:
                        input("我方血量已达上限!按下回车以进入下一轮出牌")
                    else:
                        woxue += 1
                        sleep(0.25)
                        input("回血成功!按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "酒":
                    if "无懈可击" in dipai:
                        dipai.remove("无懈可击")
                        input("敌方使用了无懈可击,你的牌失效了!按下回车以进入下一轮出牌")
                    else:
                        wokill += 1
                        sleep(0.25)
                        input("使用成功!我方攻击加1!按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "南蛮入侵":
            
                    if "杀" in dipai:
                        dipai.remove("杀")
                        input("敌方使用了杀,你的牌失效了!按下回车以进入下一轮出牌")
                    else:
                        dixue -= wokill
                        sleep(0.25)
                        input("使用成功!敌方血量减一!按下回车以进入下一轮出牌")
                    wopai.remove(k)
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "顺手牵羊":
                    if len(dipai) > 0:
                        if "无懈可击" in dipai:
                            dipai.remove("无懈可击")
                            input("敌方使用了无懈可击,你的牌失效了!按下回车以进入下一轮出牌")
                        else:
                            for i in range(len(dipai)):
                                print(i + 1)
                            u = int(input("请输入你想抽的牌序号:"))
                            er = dipai[u - 1]
                            dipai.remove(er)
                            wopai.append(er)
                            print("你抽了敌方的",er)
                            input("抽牌成功!按下回车以进入下一轮出牌")
                        wopai.remove(k)  
                    else:
                        input("敌方已无手牌,按下回车以进入下一轮出牌")
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "过河拆桥" or k == "釜底抽薪":
                    if "无懈可击" in dipai:
                        dipai.remove("无懈可击")
                        input("敌方使用了无懈可击,你的牌失效了!按下回车以进入下一轮出牌")
                    else:
                        for i in range(len(dipai)):
                            print(i + 1)
                        u = int(input("请输入你想废掉的牌序号:"))
                        er = dipai[u - 1]
                        dipai.remove(er)
                        print("你废了敌方的",er)
                        input("废牌成功!按下回车以进入下一轮出牌")
                    wopai.remove(k)  
                    if woxue == 0:
                        print("敌方获胜!")
                        break
                    if dixue == 0:
                        print("我方获胜!")
                        break
                if k == "万箭齐发":
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值