猫史档案馆


【Python作品分享】勇者地下城【作品秀】

用户:清水入桶真君清水入桶真君查看:0 回复:1 评论:0 创建时间:2022-10-17T20:39:11


【作品展示】

center_image

 

【作品介绍】

每天抽时间做的有bug请不要骂我,只有一些可以玩

 

【作品源代码】

import random as r
import time as t
# r.uniform(x,y)在x至y的浮点数
# r.randint(x,y)在x至y的整数
# r.choice(x)在x中随机一个内容
# t.sleep(x)等待x秒
#开始游戏
print(' 勇者地下城')
t.sleep(2)
print(' **工作室')
t.sleep(r.randint(1,3))
while 1:
    q = input('按下X开始游戏')
    if (q == 'x'):
        break
t.sleep(r.uniform(1.2,0.5))
print('——————————————————————')
#角色武器选择
fswq=['1,火之书(持续5局的燃喵害))','2,冰之书(持续1局的冰冻)','3,冰火玉书(持续2局的燃喵害)'
        ,'4,喵亡宝玉(击杀者越多伤害越高)']
zswq = ['1,大剑(攻击次数越多爆炸伤害越高))', '2,拔刀剑(蓄力越久,伤害越高至多10次)', '3,剑(从天上来的巨剑))'
        , '4,长喵(同时造成多次伤害)',  '5,喵亡之刃(击杀越多伤害越高)']
gw = ['骷髅', '史莱姆', '哥布林', '僵尸']
boss=['僵尸巨人','喵灵','吞噬者']
bossdl喵z=['1','2','3','4','5']
bossdlgjlorfl = ['1', '2', '3', '4', '5']
gwdlw=['up丸','魔法瓶']
blsds=0
s喵s=1
sds=0
sssds=0
upw=0
mfp=0
gltx=1
z = ''
xl=0
cs=0
xlt=1
jstx=0
zzz=1
zz=0
po=0
while 1:
    js=input('1.法师2.战士 选择职业')
    if js=='1':
        print('已选择法师')
        xl=400
        xzxl = 400
        mf=30
        xzmf=30
        fl = 80
        break
    if js=='2':
        print('已选择战士')
        xl=500
        xzxl=500
        ll=70
        break
if js=='2':
    for x in range(len(zswq)):
        print(zswq[x],end=',')
    z=input('请选择')
    yxwq=zswq[int(z)-1]
if js == '1':
    for x in range(len(fswq)):
        print(fswq[x], end=',')
    z = input('请选择')
    yxwq = fswq[int(z)-1]

#游玩游戏
while zzz:
    cs+=1
    print('—————————————第',cs,'层———————————')
    gltx=1
    
    #小怪
    if cs%5!=0:
        jstx=1
        for x in range(r.randint(1,8)):
            aa=(cs//5+1)*78-(cs*5)
            bb=(cs//5+3)*80
            cc=(cs//5+1)*7-(cs//5*10)
            喵=(cs//5+1)*8*cs
            gwxl=r.randint(aa,bb )
            gwgji=r.randint(cc,喵)
            gwm=r.choice(gw)
            while 1:   
                print(str(gwm)+'血量'+str(gwxl) + '攻击力'+str(gwgji))
                if js=='1':
                    print('你的血量'+str(xl)+'/'+str(xzxl)+'现在魔法'+str(mf)+'/'+str(xzmf)+'法力'+str(fl))
                if js == '2':
                    print('你的血量'+str(xl)+'/'+str(xzxl)+'力量'+str(ll))
                if js == '2'and yxwq!=zswq[5]:
                    x=input('v.up丸')
                if x=='v' :
                    if upw>0:
                        upw-=1
                        xzxl+=90
                        
                    if xzxl > xl:
                        xzxl=xl
                        print('现在血量'+str(xl)+'/'+str(xzxl))
                    if upw < 0:
                        print('无法使用')
                if js == '1'and yxwq!=fswq[3]:
                    x = input('v.HP丸 c.魔法瓶')
                    if x == 'v':
                        if upw > 0:
                            upw -= 1
                            xzxl += 90
                            print('现在血量'+str(xl)+'/'+str(xzxl))
                            if xzxl > xl:
                                xzxl = xl
                        if upw < 0:
                            print('无法使用')
                    if x=='c':
                        if mfp>0:
                            mfp-=1
                            xzmf+=90
                            print('现在魔法'+str(mf)+'/'+str(xzmf))
                            if xzmf>mf:
                                mf=xzmf
                        if mfp < 0:
                            print('无法使用')
                    #喵亡宝玉————————————————————————————————————————————————————
                if yxwq==fswq[3]:
                    if s喵s==1:
                        w = input('已杀敌'+str(sds)+'只,业绩'+str(sssds)+'只\nq.降临e.攻击')
                    if s喵s == 0:
                        w = input('已杀敌'+str(sds)+'只,业绩' +str(sssds)+'只\ne.攻击')

                    if w == 'e'and s喵s==1:
                        a = int(fl*2.5)
                        print('造成'+str(a)+'点伤害')
                        gwxl = gwxl-a
                    if w=='q'and s喵s==1:
                        dlsds=sssds
                        s喵s=0
                        a=fl*sds/5
                        print('造成'+str(a)+'点伤害')
                    if w=='e'and s喵s==0:
                        sssds-=1
                        a=fl*sds
                        print('造成'+str(a)+'点伤害')
                        gwxl = gwxl-a
                        if sssds==0:
                            if dlsds>9:
                                a = fl*sds*fl
                                print('喵神镰之斩!!!\n造成'+str(a)+'点伤害')
                                gwxl = gwxl-a
                            s喵s=1
                    #大剑————————————————————————————————————————————————————————
                if yxwq == zswq[0]:
                    w = input('q.破e.攻击')
                    if w == 'e':
                        a = int(ll*1.5)
                        xlt =xlt+ 1
                        print('造成'+str(a)+'点伤害')
                        if xlt > 6:
                            xlt = 6
                        gwxl = gwxl-a
                    if w == 'q':
                        a = int((xlt*ll)*3)
                        print('造成'+str(a)+'点伤害')
                        if xlt == 6:
                            zz = a*2
                            print('消逝的生命回去吧\n', '造成'+str(zz)+'点伤害')
                        xlt = 1
                        gwxl = gwxl-int(a)-int(zz)
                    #拔刀剑————————————————————————————————
                if yxwq==zswq[1]:
                    w=input('q.蓄力e.攻击')
                    if w=='q':
                        xlt+=1
                        qq=int(ll/5*xlt)
                        gwxl-=qq
                        print('造成'+str(qq)+'点伤害')
                        if xlt > 11:
                            xlt=11

                    if w=='e':
                        a=int(xlt*ll+xlt/2*12)
                        print('造成'+str(a)+'点伤害')
                        if xlt==11:
                            zz=int(ll*a)
                            print('最终!灭亡!斩!!!\n''造成'+str(zz)+'点伤害')
                        xlt = 1
                        gwxl=gwxl-int(a)-int(zz)
                    #剑——————————————————————————————————————————————————
                if yxwq == zswq[2]:
                    w = input('q.巨剑e.攻击')
                    if w == 'e':
                        a = int(ll*0.5)
                        xlt = xlt + 1
                        print('造成'+str(a)+'点伤害')
                        if xlt > 6:
                            a=int(ll*0.25)
                        gwxl = gwxl-a
                    if w == 'q':
                        a = int((xlt*xl)*3)
                        print('天外来剑!\n造成'+str(a)+'点伤害')
                        xlt = 0
                        gwxl = gwxl-int(a)
                    #喵亡之刃————————————————————————————————————————————
                    
                if yxwq == zswq[4]:
                    if s喵s == 1:
                        w = input('已杀敌'+str(sds)+'只,业绩' +
                                  str(sssds)+'只\nq.降临e.攻击')
                    if s喵s == 0:
                        w = input('已杀敌'+str(sds)+'只,业绩' + str(sssds)+'只\ne.攻击q.破灭镰')

                    if w == 'e' and s喵s == 1:
                        a = int(ll*2)
                        print('造成'+str(a)+'点伤害')
                        gwxl = gwxl-a
                    if w=='q'and s喵s==0:
                        
                        a = ll*sds*sds*sssds
                        print('清算完成了,可以交差了\n造成'+str(a)+'点伤害')
                        sssds=0
                        gwxl = gwxl-a
                    if w == 'q' and s喵s == 1:
                        dlsds = sssds
                        s喵s = 0
                        a = ll*sds/5
                        print('造成'+str(a)+'点伤害')
                    if w == 'e' and s喵s == 0:
                        sssds -= 1
                        a = ll*sds
                        print('造成'+str(a)+'点伤害')
                        gwxl = gwxl-a
                    if sssds == 0:
                        s喵s = 1
                        #——————————————————————————————————————————————————————————
                if gwxl < 1:
                    if s喵s!=0:
                        sssds+=1
                    print(gwm,'已喵亡')
                    sds+=1
                    
                    x=r.randint(0,15)
                    if x==0:
                        upw+=1
                        print('获得1个up丸')
                    if x==1:
                        upw+=1
                        print('获得1个魔法瓶')
                    break
                if xzxl > xl:
                    xzxl = xl
                xzxl=xzxl-gwgji
                if xzxl<1:
                    print('您已喵亡')
                    zzz=0
                    break
        #boss
    if cs%5 == 0:
        bos喵 = r.choice(boss)
        if bos喵==boss[0]:
            
            bossxl = (cs//5+1)*400*(cs/2.5)-cs*20
            bossgji = (cs//5+1)*50
        if bos喵 == boss[1]:
            bossxl = (cs//5+1)*450*(cs/2.5)-cs*16
            bossgji = (cs//5+1)*30
            jstx = 0
        if bos喵==boss[2]:
            bossxl = (cs//5+1)*300*(cs/2.5)-(cs*20)
            bossgji = (cs//5+1)*100
            jstx = 0
        while 1:
            if js == '1':
                print('你的血量'+str(xl)+'/'+str(xzxl)+'现在魔法' +
                        str(mf)+'/'+str(xzmf)+'法力'+str(fl))
            if js == '2':
                print('你的血量'+str(xl)+'/'+str(xzxl)+'力量'+str(ll))
            

            print(str(bos喵)+'血量'+str(bossxl) + '攻击力'+str(bossgji))
            
            if js == '2' and yxwq != zswq[5]:
                x = input('v.up丸')
                if x=='v':
                    if upw>0:
                        upw-=1
                        xzxl+=90
                        
                    if xzxl > xl:
                        xzxl=xl
                        print('现在血量'+str(xl)+'/'+str(xzxl))
                    if upw < 0:
                        print('无法使用')
            if js == '1' and yxwq != fswq[3]:
                x = input('v.HP丸 c.魔法瓶')
                if x == 'v':
                    if upw > 0:
                        upw -= 1
                        xzxl += 90
                        print('现在血量'+str(xl)+'/'+str(xzxl))
                        if xzxl > xl:
                            xzxl=xl
                        if upw < 0:
                            print('无法使用')
                    if x=='c':
                        if mfp>0:
                            mfp-=1
                            xzmf+=90
                            print('现在魔法'+str(mf)+'/'+str(xzmf))
                            if xzmf>mf:
                                mf=xzmf
                            if mfp < 0:
                                print('无法使用')
                    #喵亡宝玉————————————————————————————————————————————————————
            if yxwq == fswq[3]:
                if s喵s == 1:
                    w = input('已杀敌'+str(sds)+'只,业绩' +
                                  str(sssds)+'只\nq.降临e.攻击')
                if s喵s == 0:
                    w = input('已杀敌'+str(sds)+'只,业绩' + str(sssds)+'只\ne.攻击')

                if w == 'e' and s喵s == 1:
                    a = int(fl*2.5)

                    print('造成'+str(a)+'点伤害')
                    bossxl = bossxl-a
                if w == 'q' and s喵s == 1:
                    dlsds = sssds
                    s喵s = 0
                    a = fl*sds/5
                    print('造成'+str(a)+'点伤害')
                if w == 'e' and s喵s == 0:
                    sssds -= 1
                    a = fl*sds
                    print('造成'+str(a)+'点伤害')
                    bossxl = bossxl-a
                    if sssds == 0:
                        if dlsds > 9:
                            a = fl*sds*fl
                            print('喵神镰之斩!!!\n造成'+str(a)+'点伤害')
                            bossxl = bossxl-a
                        s喵s = 1
            #大剑————————————————————————————————————————————————————————
            if yxwq == zswq[0]:
                w = input('q.破e.攻击')
                if w=='e':
                    a=int((ll*1.5)/gltx)
                    xlt += 1
                    print('造成'+str(a)+'点伤害')
                    if xlt > 6:
                        xlt = 6
                    bossxl = bossxl-int(a)-int(zz)
                if w == 'q':
                    a=xlt*ll*3
                    print('造成'+str(a)+'点伤害')
                    if xlt == 6:
                        zz =int((xlt*a*2)/gltx)
                        print('消逝的生命回去吧\n', '造成'+str(zz)+'点伤害')
                    xlt = 1
                    bossxl = bossxl-int(a)-int(zz)
            #拔刀剑——————————————————————————————————————————————————————
            if yxwq == zswq[1]:
                w = input('q.蓄力e.攻击')
                if w == 'q':
                    xlt += 1
                    qq = int((ll/5*xlt)/gltx)
                    bossxl -= qq
                    print('造成'+str(qq)+'点伤害')
                    if xlt > 11:
                        xlt = 11
                if w == 'e':
                    a = int((xlt*ll+xlt/2*12)/gltx)
                    print('造成'+str(a)+'点伤害')
                    if xlt == 11:
                        zz = int(ll*a)
                        print('最终!灭亡!斩!!!\n','造成'+str(zz)+'点伤害')
                    xlt = 1
                    bossxl = bossxl-int(a)-int(zz)
                    #剑——————————————————————————————————————————————————
                if yxwq == zswq[2]:
                    w = input('q.巨剑e.攻击')
                    if w == 'e':
                        a = int(ll*0.5)
                        xlt = xlt + 1
                        print('造成'+str(a)+'点伤害')
                        if xlt > 6:
                            a = int(ll*0.25)
                        bossxl = bossxl-a
                    if w == 'q':
                        a = int((xlt*xl)*3)
                        print('天外来剑!\n造成'+str(a)+'点伤害')
                        xlt = 0
                        bossxl = bossxl-int(a)
                 #喵亡之刃————————————————————————————————————————————

            if yxwq == zswq[4]:
                if s喵s == 1:
                    w = input('已杀敌'+str(sds)+'只,业绩' +
                            str(sssds)+'只\nq.降临e.攻击')
                if s喵s == 0:
                    w = input('已杀敌'+str(sds)+'只,业绩' +
                              str(sssds)+'只\ne.攻击q.破灭镰')
                if w == 'e' and s喵s == 1:
                    a = int(ll*2)
                    print('造成'+str(a)+'点伤害')
                    bossxl = bossxl-a
                if w == 'q' and s喵s == 0:
                    
                    a = ll*sds*sds*sssds
                    print('清算完成了,可以交差了\n造成'+str(a)+'点伤害')
                    bossxl = bossxl-a
                    sssds=0
                if w == 'q' and s喵s == 1 and sssds>0:
                    dlsds = sssds
                    s喵s = 0
                    a = ll*sds/5
                    print('造成'+str(a)+'点伤害')
                if w == 'e' and s喵s == 0:
                    sssds -= 1
                    a = ll*sds
                    print('造成'+str(a)+'点伤害')
                    bossxl = bossxl-a
                if sssds == 0:
                    s喵s = 1

                #————————————————————————————————————
                
            if yxwq==fswq[0]and w=='q':
                jstx=0
            if s喵s==0:
                jstx=0
            if yxwq==zswq[5]and w=='q':
                jstx=0
            if yxwq == fswq[3] :
                jstx=0
            if bos喵 == boss[0] and jstx == 1 and bossxl < 1:
                print('它复活了!!!')
                bossxl = (cs//5+1)*400-(cs*6)
                jstx = 0
            if bossxl < 1 and jstx==0:
                print(bos喵,'已喵亡')
                sds += 1
                if s喵s == 1:
                    sssds += 1
                
                gltx = 0
                zz=r.choice(bossdl喵z)
                if zz=='1':
                    xl+=150
                    xzxl=xl
                if zz == '2':
                    xl += 100
                    xzxl = xl
                if zz == '3':
                    xl += 200
                    xzxl = xl
                if zz == '4':
                    xl =int(xl*1.5)
                    xzxl = xl
                if zz == '5':
                    xl =int(xl*1.3)
                    xzxl = xl
                zz = r.choice(bossdlgjlorfl)
                if js == '2':
                    if zz == '1':
                        ll += 30 * cs/2.5
                    if zz == '2':
                        ll += 50*cs/2.5
                    if zz == '3':
                        ll += 100* cs/2.5
                    if zz == '4':
                        ll =int(ll*1.5)
                    if zz == '5':
                        ll =int(ll*1.3)
                if js == '1':
                    if zz == '1':
                        fl += 30*cs/2.5
                    if zz == '2':
                        fl += 50 * cs/2.5
                    if zz == '3':
                        fl += 100*cs/2.5
                    if zz == '4':
                        fl =int(fl*1.5)
                    if zz == '5':
                        fl =int(fl*1.3)
                break
                
            while 1:
                bossjn=r.randint(1,20)
                if bossjn!=1:
                    xzxl = xzxl-bossgji
                    if xzxl > xl:
                        xzxl = xl
                    break
                if bossjn==1 and bos喵==boss[0]:
                    xzxl = xzxl-bossgji/10
                    print('腐尸之牢\n造成伤害'+str(bossgji/10))
                if bossjn == 1 and bos喵 == boss[1]:
                    print('撕裂空间')
                    gltx=2
                    break
                if bossjn==1 and bos喵==boss[2]:
                    print('吞噬一切')
                    bossgji=bossgji*2
            if xzxl < 1:
                print('您已喵亡')
                zzz=0
                break       
                

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
华青(13825989209)华青(13825989209)

卢合打开imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E6%90%93%E5%A4%B4.gif"alt="emotion_编程猫_搓头"

点赞1


评论