python不用pygame的小游戏

这篇文章介绍了一个基于Python的射击游戏,包含地图生成、随机元素和玩家与敌人的互动,包括核弹、子弹等武器的使用和血量管理。游戏规则涉及玩家和敌人藏身、开枪以及血量扣除。
摘要由CSDN通过智能技术生成

import random
def map():
    m = random.randint(1, 3)
    if m == 1:
        print('_____________________')
        print('|      %   ++        |')
        print('|_________________2_ |')
        print('| 1   |            | |')
        print('|--------------------- |')
        print('|  {  3  _______;;;;; |')
        print('______________________')
    elif m == 2:
        print('_________________________')
        print('     1 )))))(()  __  !! ')
        print('^^^^^^^^^^^^^^^^^^^^^^^^')
        print('___2_________&&&&&&&')
        print('qqqqqqqwwwwwweeeeerrr')
        print('  3nnnnnnnnnn*********$$')
        print('________________________')
    else:
        print('_______________________________')
        print('[   1              l  ppoo{{  ]')
        print('qwertyuioplkjhgfdsazxcvbnm,./;')
        print('\\\\\\\\\\\\\\\\\\ 2 ||||||||')
        print('!@#$%^&*()_+~{}|:"<>? \][   ')
        print('  3 lllpppoooiiijjjddhh--==]]{|. ')
        print('______________________________')
#地图设定函数
hedan = 0
huojian = 0
zidan = random.randint(4, 6)
dizidan = random.randint(5, 7)
hedanjilv = random.randint(0, 100)
huojiandan = random.randint(1, 5)
if hedanjilv == 10 or hedanjilv == 20:
    hedan += 2
elif hedanjilv > 90:
    hedan += 1
if huojiandan == 2:
    huojian += 2
elif huojiandan > 3:
    huojian += 1
print('核弹可以一次性扣除对面2滴血。')
print('   ')
#子弹类型及数量设定
xue = 3
dixue = 3
map()
while True:
    shen = 0
    print('  ')
    while xue == 3 or dixue == 3:
        print('你有' +str(xue) + '滴血,' + '对面有' + str(dixue) + '滴血')
        print('你有' + str(zidan) + '发子弹')
        print('你有' + str(hedan) + '发核弹')
        print('对面有' + str(dizidan)  + '发子弹')
        cang = int(input('你选择藏身点(1、2、3)\n'))
        if cang == 1:
            shen = 1
        elif cang == 2:
            shen = 1
        else:
            shen = 3
        print('对面开枪')
        if dizidan != 0:
            duimiankai = random.randint(1, 3)
            print('砰!')
            if duimiankai == shen:
                print('被击中,你死了!')
                print('你失去了一滴血')
                dizidan -= 1
                xue -= 1
                print('对面有' + str(dizidan)  + '发子弹')
            elif duimiankai != shen:
                print('没打中,你安全')
                dizidan -= 1
                print('对面有' + str(dizidan)  + '发子弹')
        else:
            print('敌人子弹不足')
        if zidan != 0 or huojian != 0 or hedan != 0:
            print('对面选择藏身点')
            duicang = random.randint(1, 3)
            ni = int(input('1.子弹  2.核弹\n'))
            if ni == 1:
                if zidan != 0:
                    nikai = int(input('你开枪,选择攻击位置\n'))
                    if nikai == duicang and ni == 1:
                        print('打中了!对面死!')
                        print('对面失去了一滴血')
                        dixue -= 1
                        zidan -= 1
                        print('你有' + str(zidan) + '发子弹')
                    elif nikai != duicang and ni == 1:
                        print('没打中,对面安全')
                        zidan -= 1
                        print('你有' + str(zidan) + '发子弹')
                else:
                    print('子弹不足')
            else:
                if hedan != 0:
                    dixue -= 2
                    print('你使用了一枚核弹,对面减少了2滴血')
                else:
                    print('核弹不足')
        else:
            print('你的子弹不足')
            break
    if xue == 0 or dixue == 0 or dixue < 0:
        print('游戏结束,存活者胜利')
        break
 

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值