猫史档案馆


【Python作品分享】做了个烂文字游戏,各位大佬帮看看哈ヾ(•ω•`)o

用户:罗马文森特罗马文森特查看:0 回复:2 评论:0 创建时间:2022-09-30T17:28:26


有BUG麻烦回帖

import random
import sys
green=0
upper=0
blue=0
purple=0
red=0
yellow=0
a=1
ups=0
god=0
up=0
go=0
liv=1
HP1=100
gold=5
weak=0
print('欢迎来到"角斗场"\n本游戏由君士坦丁制作\n感谢"月上揽星辰"为本游戏提供"生命交易所"的灵感')
id1=input('请输入你的用户名:')
if id1=="测试":
    test=input('测试模式已开启')
    test2 = input('金币、生命精华、生命已调为无限')
    gold=9999999999999999999999999999999999999999999999999999999
    liv=9999999999999999999999999999999999999999999999999999999
    HP1=9999999999999999999999999999999999999999999999999999999
while go==0:
    print('   A:角斗场\n   B:商店\n   C:个人面板\n   D:生命交易所')
    juzi=input('选择:')
    if juzi=='A':
        print('   A:简单(3金币)\n   B:困难(7金币)\n   C:噩梦(10金币)\n   D:退出角斗场')
        sent=input('选择难度:')
        rd=0
        if sent=='A':
            print('战前补充:生命+20')
            HP1 += 20
            HP2 = random.randint(50, 70)
            while a==1:
                rd += 1
                print('------------------------------------------------------------------------------------------')
                print('第%s回合' % (rd))
                attack = random.randint(7, 13)
                attack2 = random.randint(5, 7)
                HP1-=attack2
                print('【%s】被【角斗士】攻击了,HP-%s' % (id1,attack2+2*ups))
                HP2-=attack+up
                print('【角斗士】被【%s】攻击了,HP-%s' % (id1,attack+up))
                print('【%s】的HP:%s' % (id1,HP1))
                sent = input('【角斗士】的HP:%s' % (HP2))
                if HP2 <= 0:
                    gold += 3
                    santa=input('【%s】胜利了\n金币+3' % (id1))
                    break
                elif HP1 < 0:
                    if weak >= 1:
                        print('致命伤害已被无视')
                        weak -= 1
                        HP1 = 15
                        break
                    print('你输了')
                    while go == 0:
                        s = input('游戏结束')
                        sys.exit(0)
                else:
                    a = 1
        elif sent=='B':
            print('战前补充:生命+20')
            HP1 += 20
            HP2 = random.randint(90, 110)
            while a == 1:
                rd += 1
                print('------------------------------------------------------------------------------------------')
                print('第%s回合' % (rd))
                attack = random.randint(7, 13)
                attack2 = random.randint(8, 10)
                HP1 -= attack2
                print('【%s】被【角斗士】攻击了,HP-%s' % (id1, attack2 + 3 * ups))
                HP2 -= attack + up
                print('【角斗士】被【%s】攻击了,HP-%s' % (id1, attack + up))
                print('【%s】的HP:%s' % (id1, HP1))
                sent = input('【角斗士】的HP:%s' % (HP2))
                if HP2 <= 0:
                    gold += 7
                    santa = input('【%s】胜利了\n金币+7' % (id1))
                    break
                elif HP1 < 0:
                    print('你输了')
                    if weak >= 1:
                        print('致命伤害已被无视')
                        weak -= 1
                        HP1 = 15
                        sys.exit(0)
                    while go == 0:
                        s = input('游戏结束')
                        sys.exit(0)
                else:
                    a = 1
        elif sent == 'C':
            print('战前补充:生命+20')
            HP1 += 20
            HP2 = random.randint(90, 120)
            while a == 1:
                rd += 1
                print('------------------------------------------------------------------------------------------')
                print('第%s回合' % (rd))
                attack = random.randint(7, 13)
                attack2 = random.randint(8, 12)
                HP1 -= attack2
                print('【%s】被【角斗士】攻击了,HP-%s' % (id1, attack2 + up - 2))
                HP2 -= attack + up
                print('【角斗士】被【%s】攻击了,HP-%s' % (id1, attack + up))
                print('【%s】的HP:%s' % (id1, HP1))
                sent = input('【角斗士】的HP:%s' % (HP2))
                if HP2 <= 0:
                    gold += 10
                    santa = input('【%s】胜利了\n金币+10' % (id1))
                    break
                elif HP1 < 0:
                    print('你输了')
                    if weak >= 1:
                        print('致命伤害已被无视')
                        weak -= 1
                        HP1 = 15
                        break
                    while go == 0:
                        s = input('游戏结束')
                        sys.exit(0)
                else:
                    a = 1
        else :
            continue
    if juzi=='B':
        print('--------------------------------------------------------------------------------------------')
        print('   A:005金币  低级卡包(60%绿卡 30%蓝卡 10%紫卡)')
        print('   B:010金币  高级卡包(30%绿卡 40%蓝卡 20%紫卡 10%红卡)')
        print('   C:025金币  超级卡包(20%绿卡 35%蓝卡 25%紫卡 15%红卡 5%金卡)')
        print('   D:003金币  生命药剂(回复15血)')
        print('   E:006金币  生命大药剂(回复35血)')
        print('   F:100金币  最强角斗证(购买后即可通关)')
        print('   G:退出')
        buy=input('购买:')
        if buy=='A':
            if gold < 5:
                print('买不起!\n')
                continue
            else:
                gold-=5
                luck=random.randint(1,100)
                if luck<=60:
                    green+=1
                    print('你获得了......')
                    print(f'\033[1;32m一张绿卡!\033[0m')
                elif 60<luck<=90:
                    print('你获得了......')
                    print(f'\033[1;34m一张蓝卡!\033[0m')
                    blue+=1
                else:
                    print('你获得了......')
                    print(f'\033[1;35m一张紫卡!\033[0m')
                    purple += 1
        if buy=='B':
            if gold < 10:
                print('买不起!\n')
                continue
            else:
                gold-=10
                luck=random.randint(1,100)
                if luck<=30:
                    print('你获得了......')
                    print(f'\033[1;32m一张绿卡!\033[0m')
                    green += 1
                elif 30<luck<=70:
                    print('你获得了......')
                    print(f'\033[1;34m一张蓝卡!\033[0m')
                    blue += 1
                elif 70<luck<=90:
                    print('你获得了......')
                    print(f'\033[1;35m一张紫卡!\033[0m')
                    purple+=1
                else:
                    print('你获得了......')
                    print(f'\033[1;31m一张红卡!\033[0m')
                    red+=1
        if buy=='C':
            if gold < 10:
                print('买不起!\n')
                continue
            else:
                gold-=10
                luck=random.randint(1,100)
                if luck<=20:
                    print('你获得了......')
                    print(f'\033[1;32m一张绿卡!\033[0m')
                    green += 1
                elif 20<luck<=65:
                    print('你获得了......')
                    print(f'\033[1;34m一张蓝卡!\033[0m')
                    blue += 1
                elif 65<luck<=85:
                    print('你获得了......')
                    print(f'\033[1;35m一张紫卡!\033[0m')
                    purple += 1
                elif 85<luck<=95:
                    print('你获得了......')
                    print(f'\033[1;31m一张红卡!\033[0m')
                    red+=1
                else:
                    print('你获得了......')
                    print(f'\033[1;33m一张金卡!\033[0m')
                    yellow+=1
        if buy=='D':
            if gold < 3:
                print('买不起!\n')
                continue
            else:
                gold-=3
                HP1+=10
                print('血量+5')
        if buy=='E':
            if gold < 6:
                print('买不起!\n')
                continue
            else:
                gold-=5
                HP1+=30
                print('血量+30')
        elif buy=='F':
            if gold < 100:
                print('买不起!\n')
                continue
            go+=1
    if juzi=='C':
        print('【%s】的HP:%s' % (id1, HP1))
        print('你的金币:%s'%(gold))
        print('你的生命精华:%s'%(liv))
        print('你的护身符:%s'%(weak))
        print(f'\033[1;32mA:使用绿卡:%s张(攻击力+1)\033[0m'%(green))
        print(f'\033[1;34mB:使用蓝卡:%s张(攻击力+2)\033[0m'%(blue))
        print(f'\033[1;35mC:使用紫卡:%s张(攻击力+3~5)\033[0m' % (purple))
        print(f'\033[1;31喵:使用红卡:%s张(攻击力+4~7)\033[0m' % (red))
        print(f'\033[1;33mE:使用金卡:%s张(攻击力+7~13)\033[0m' % (yellow))
        print(f'\033[1;32mF:\033[0m\033[1;34m使\033[0m\033[1;33m用\033[0m\033[1;35m神\033[0m\033[1;35m卡\033[0m\033[1;31m:%s张(攻击力+17)\033[0m'%(god))
        print('G:返回')
        ask=input('选择:')
        if ask=='A':
            if green < 1:
                print('数量不够!\n')
                continue
            green-=1
            upper=1
            ups+=1
            up+=upper
            print('攻击力+1')
        elif ask=='B':
            if blue < 1:
                print('数量不够!\n')
                continue
            upper= 2
            blue-=1
            ups+=1
            up += upper
            print('攻击力+2')
        elif ask=='C':
            if purple < 1:
                print('数量不够!\n')
                continue
            upper=random.randint(3,5)
            ups+=1
            purple-=1
            up += upper
            print('攻击力+%s'%(upper))
        elif ask=='D':
            if red < 1:
                print('数量不够!\n')
                continue
            upper = random.randint(4, 7)
            ups += 1
            red-=1
            up += upper
            print('攻击力+%s' % (upper))
        elif ask=='E':
            if yellow < 1:
                print('数量不够!\n')
                continue
            upper = random.randint(7, 13)
            ups += 1
            up += upper
            yellow-=1
            print('攻击力+%s' % (upper))
        elif ask=='F':
            if god < 1:
                print('数量不够!\n')
                continue
            upper = 17
            ups += 1
            up += upper
            god-=1
            print('攻击力+%s' % (upper))
    if juzi=='D':
        print('   交易A:付出20生命,获得1生命精华')
        print('   交易B:付出1生命精华,增加1~30生命')
        print('   交易C:付出1生命精华,抽取0~8金币')
        print('   交易D:付出2生命精华,得到护身符(在你被击败时,保护你以15血量的状态回到主界面)')
        print('   交易E:付出3生命精华,获得生命卡包(50%紫卡 35%红卡 10%金卡 5%神卡)')
        print('   F:退出')
        buy2=input('购买:')
        if buy2=='A':
            if HP1 <= 20:
                while a==1:
                    print('你把自己抽干了!\n太厉害了\n')
                    s = input('游戏结束')
                    sys.exit(0)
            if liv < 1:
                print('买不起!\n')
                continue
            print('HP-20,生命精华+1')
            HP1-=20
            liv+=1
        elif buy2=='B':
            if liv < 1:
                print('买不起!\n')
                continue
            liv-=1
            HPU=random.randint(1,30)
            HP1+=HPU
            print('增加了%s点生命'%(HPU))
        elif buy2=='C':
            if liv < 1:
                print('买不起!\n')
                continue
            liv-=1
            golder=random.randint(0,8)
            gold+=golder
            print('你获得了%s金币'%(golder))
        elif buy2=='D':
            if liv < 2:
                print('买不起!\n')
                continue
            weak+=1
            print('你获得了1护身符')
        elif buy2=='E':
            if liv < 3:
                print('买不起!\n')
                continue
            else:
                liv-=10
                luck=random.randint(1,100)
                if 0<luck<=50:
                    print('你获得了......')
                    print(f'\033[1;35m一张紫卡!\033[0m')
                    purple += 1
                elif 50<luck<=85:
                    print('你获得了......')
                    print(f'\033[1;31m一张红卡!\033[0m')
                    red+=1
                elif 85<luck<=95:
                    print('你获得了......')
                    print(f'\033[1;33m一张金卡!\033[0m')
                    yellow+=1
                else:
                    print('你获得了......')
                    print(f'\033[1;32m你\033[0m\033[1;34m获\033[0m\033[1;33m得\033[0m\033[1;35m了\033[0m\033[1;35m一张\033[0m\033[1;31m神卡\033[0m')
                    god += 1
print('你通关了!\n制作者:君士坦丁\n特别感谢:月上揽星辰')


回复

上一页1 页 / 共 1下一页
小铭同学1小铭同学1

实际并不烂imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"

点赞1


评论


罗马文森特罗马文森特

啊...忘了说,不要用IDLE打开,否则有时会卡乱码

点赞0


评论