python游戏,不用pygame库

import random
#主程序开始
cishu = random.randint(8, 15)
nns = 0
dds = 0
for i in range(cishu):
    print('\n')
    print('|第' + str(i + 1) + '回合:\n' + '|')
    si = 0
    zha = random.randint(1, 100)
    shidan = random.randint(random.randint(1, 2), random.randint(3, 4))
    kongbao = random.randint(random.randint(2, 3), random.randint(4, 5))
    banshou = random.randint(0, 1)
    fangda = random.randint(0, 1)
    shoukao = random.randint(0, 1)
    print('|' + str(shidan) + '实弹' + '|')
    print('|' + str(kongbao) + '空包' + '|')
    print('|' + str(banshou) + '扳手' + '|')
    print('|' + str(fangda) + '放大镜' + '|')
    print('|' + str(shoukao) + '手铐' + '|')
    #游戏初始化
    zidanbiao = ''
    shi = 0
    kong = 0
    for j in range(shidan + kongbao):
        zidan = random.randint(0, 1)
        if zidan == 0:
            if kong != kongbao:
                zidanbiao += 'kongbao '
                kong += 1
            else:
                zidanbiao += 'shidan '
                shi += 1
        elif zidan == 1:
            if shi != shidan:
                zidanbiao += 'shidan '
                shi += 1
            else:
                zidanbiao += 'kongbao '
                kong += 1
        if kong > kongbao:
            for l in range(kong - kongbao):
                zidanbiao -= 'kongbao '
        elif shi > shidan:
            for o in range(shi - shidan):
                zidanbiao -= 'shidan '
        z2 = zidanbiao.split(' ') #子弹初始化
        chang = len(z2)
        z2.remove(z2[chang - 1])
    for k in range(len(z2)):
        print('|' + '你开枪' + '|') #你开枪
        kao = 0
        dao = int(input('|' + '是否使用道具?1.是  2.否\n' + '|'))
        if dao == 1:
            print('|' + '你选择了使用道具' + '|')
            daoju = int(input('|' + '1.扳手  2.放大镜  3.手铐\n' + '|'))
            if daoju == 1:
                if banshou != 0:
                    print('|' + '你选择了使用一个扳手,已卸下一枚子弹' + '|')
                    if z2[0] == 'shidan':
                        z1 = '实弹'
                    else:
                        z1 = '空包弹'
                    print('|' + '卸下子弹为' + z1 + '|')
                    z2.remove(z2[0])
                    banshou -= 1
                else:
                    print('|' + '扳手不足' + '|')
            if daoju == 2:
                if fangda != 0:
                    print('|' + '你选择使用了一个放大镜' + '|')
                    if z2[0] == 'shidan':
                        z1 = '实弹'
                    else:
                        z1 = '空包弹'
                    print('|' + '现在子弹为' + z1 + '|')
                    fangda -= 1
                else:
                    print('|' + '放大镜不足' + '|')
            if daoju == 3:
                if shoukao != 0:
                    kao = 1
                    print('|' + '你使用了一个手铐,对面将在这一回合无法开枪' + '|')
                    shoukao -= 1
                else:
                    print('|' + '手铐不足' + '|')
        elif dao == 2:
            print('|' + '你不选择使用道具' + '|')
        fight = int(input('|' + '1.打自己  2.打对面\n' + '|'))
        muqian = z2[0]
        if fight == 1:
            print('|' + '你选择了打自己' + '|')
            if zha > 20 and zha < 45:
                print('|' + '炸膛,敌人死了' + '|')
                si = 1
                dds += 1
            else:
                if muqian == 'kongbao':
                    print('|' + '空包弹,你安全' + '|')
                if muqian == 'shidan':
                    print('|' + '实弹,你死了' + '|')
                    si = 1
                    nns += 1
            z2.remove(z2[0])
        elif fight == 2:
            print('|' + '你选择了打对面' + '|')
            if zha > 20 and zha < 45:
                print('|' + '炸膛,你死了' + '|')
                si = 1
                nns += 1
            else:
                if muqian == 'kongbao':
                    print('|' + '空包弹,对面安全' + '|')
                if muqian == 'shidan':
                    print('|' + '实弹,对面死了' + '|')
                    si = 1
                    dds += 1
            z2.remove(z2[0])
        if si == 1 and i != cishu - 1 :
            print('|' + '本回合结束,死亡者复活' + '|')
            print('|' + '_______________________' + '|')
            print('\n')
            break
        muqian = z2[0]
        if kao == 0:
            print('|' + '对面开枪' + '|') #对面开枪
            duimiankai = 0
            if kongbao < shidan:
                duimiankai = 1
            elif shidan == kongbao:
                duimiankai = random.randint(0, 1)
            else:
                duimiankai = 0
            if duimiankai == 0:
                if zha > 20 and zha < 45:
                    print('|' + '炸膛,你死了' + '|')
                    si = 1
                    nns += 1
                else:
                    print('|' + '对面选择了打自己' + '|')
                    if muqian == 'kongbao':
                        print('|' + '空包弹,对面安全' + '|')
                    elif muqian == 'shidan':
                        print('|' + '实弹,对面死' + '|')
                        si = 1
                        dds += 1
                z2.remove(z2[0])
            elif duimiankai == 1:
                print('|' + '对面选择了打你' + '|')
                if zha > 20 and zha < 45:
                    print('|' + '炸膛,敌人死了' + '|')
                    si = 1
                    dds += 1
                else:
                    if muqian == 'kongbao':
                        print('|' + '空包弹,你安全' + '|')
                    elif muqian == 'shidan':
                        print('|' + '实弹,你死了' + '|')
                        si = 1
                        nns += 1
                z2.remove(z2[0])
        elif kao == 1:
            print('|' + '因为你使用了手铐,所以对面这一回合无法开枪' + '|')
        if si == 1 and i != cishu - 1:
                print('|' + '本回合结束,死亡者复活' + '|')
                print('|' + '_____________________' + '|')
                print('\n')
                break
        elif si == 1 and i == cishu - 1:
            print('|' + '游戏结束,存活者获胜' + '|')
            print('|' + '_____________________' + '|')
            print('\n')
            break
print('|你的得分是:' + str(dds) + '|\n')
print('|敌人的得分是:' + str(nns) + '|\n')
 

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值