猫史档案馆


【Python作品分享】文字游戏v1.2【作品秀】

用户:失落的星失落的星查看:42 回复:4 评论:42 创建时间:2022-08-19T12:33:04


【作品展示】

center_image

 

【作品介绍】

作者亲测,真不戳

 

【作品源代码】

import time
import random
import sys


# 职业
a = 0

# 天数
b = 1

# 刷怪
c = 0

# 玩家血量
d = 0

# 玩家攻击力
e = 0

# 玩家等级
f = 1

# 怪物等级
g = 1

# 怪物攻击力
h = 0

# 怪物血量
i = 0

# 回合
j = 1

# 选择道具
k = 0

# 血瓶
l = 5

# 升级所需经验
m = 2

# 当前经验
n = 0

# 名字
o = 0

# 狂怒药水
p = 2

# 超级血瓶
q = 2

# 道具选择
r = 0

# 金币
s = 5

# 血瓶价格
t = 5

# 狂怒药水价格
u = 10

# 超级血瓶价格
v = 10

# 商店选择
w = 0

# 法力值
x = 100

# 法力
y = 0

# 法力瓶
z = 5

# 法力瓶价格
mo = 5

# 赏金周期
zn = 10

# boss 随机
xy = 0

print('文字游戏')
print(' ')
print('开始游戏')
print('退出游戏')
print(' ')
if (int(input('【1】开始游戏  【2】退出游戏')) == 1):
    print('=====================================')
    print('你好,新的勇者')
    o = input('你的名字是?')
    print(o, '?真是一个好名字')
    print('请选择初始的角色 1剑客 2喵手 3法师 4喵')
    print('1剑客 生命值:100 攻击力:40 法力:飞刀,造成两倍伤害 -50法力')
    print('2喵手 生命值:50 攻击力:70 法力:两喵,双倍伤害,-50法力')
    print('3法师 生命值:90 攻击力:40 法力:痊愈,生命双倍,-70法力')
    print('4喵 生命值:170 攻击力:20 法力:大炮,双倍伤害,-30法力')
    print('5熊孩子 生命值:30 攻击力:90 法力:火药,四倍伤害,-100法力')
    print('1剑客 2喵手 3法师 4喵 5熊孩子')
    while (a > 5 or a < 1):
        a = int(input('请输入整数!'))
        if (a == 1):
            print(o, '职业:剑客')
            d = 100
            e = 40
            y = 1
        elif (a == 2):
            print(o, '的职业:喵手')
            d = 50
            e = 70
            y = 2
        elif (a == 3):
            print(o, '的职业:法师')
            d = 90
            e = 30
            y = 3
        elif (a == 4):
            print(o, '的职业:喵')
            d = 170
            e = 20
            y = 4
        elif (a == 5):
            print(o, '的职业:熊孩子')
            d = 30
            e = 90
            y = 5
        else:
            print('请输入1~4的数字!')
        time.sleep(1)
    print('======================================')
    while True:
        print('【第', b, '天】')
        time.sleep(1)
        g = f
        c = random.randint(1, 5)
        if (c == 1):
            print('史莱姆出现了!')
            i = 100
            h = 40
        elif (c == 2):
            print('gai溜子出现了!')
            i = 70
            h = 50
        elif (c == 3):
            print('僵尸出现了!')
            i = 80
            h = 40
        elif (c == 4):
            print('爬虫出现了!')
            i = 40
            h = 70
        elif (c == 5):
            print('石头怪出现了!')
            i = 200
            h = 10
        time.sleep(1)
        i = (i * g)
        h = (h * g)
        print('血量:', i)
        print('攻击力:', h)
        print('等级:', g)
        print('======================================')
        print(o)
        print('血量:', d)
        print('攻击力:', e)
        print('等级:', f)
        print('法力值:',x)
        print('======================================')
        while True:
            k = 0
            k = int(input('【1】战斗 【2】道具 【3】法力'))
            if (k == 1):
                print('===============================')
                if (c == 1):
                    print('史莱姆受到了', e, '点伤害!')
                elif (c == 2):
                    print('gai溜子受到了', e, '点伤害!')
                elif (c == 3):
                    print('僵尸受到了', e, '点伤害!')
                elif (c == 4):
                    print('爬虫受到了', e, '点伤害!')
                elif (c == 5):
                    print('石头怪受到了', e,'点伤害!')
                print('===============================')
                i = (i - e)
                if (i < 1 or d < 1):
                    break
            elif (k == 2):
                r = 0
                print('【1】血瓶(', l, ')  【2】狂怒药水(', p, ')  【3】超级血瓶(', q, ')  【4】法力瓶(',z,')')
                r = int(input())
                if (r == 1):
                    if l>0:
                        print('======================================')
                        print(o,'回复了25点生命值!')
                        d = d+25
                        l = l-1
                        print('======================================')
                elif (r == 2):
                    if p>0:
                        print('======================================')
                        print(o,'的攻击力增加了15!')
                        e = e+15
                        p = p-1
                        print('======================================')
                elif (r == 3):
                    if q>0:
                        print('======================================')
                        print(o,'回复了50点生命值!')
                        q = q-1
                        d = d+40
                        print('======================================')
                elif (r == 4):
                    if z > 0:
                        print('======================================')
                        print(o, '回复了30点法力值!')
                        z = z-1
                        x = x+30
                        if x>100:
                            x = 100
                        print('======================================')
            if (k == 3):
                if y==1:
                    if x>=50:
                        print('===============================')
                        if (c == 1):
                            print('史莱姆受到了', e*2, '点伤害!')
                        elif (c == 2):
                            print('gai溜子受到了', e*2, '点伤害!')
                        elif (c == 3):
                            print('僵尸受到了', e*2, '点伤害!')
                        elif (c == 4):
                            print('爬虫受到了', e*2, '点伤害!')
                        elif (c == 5):
                            print('石头怪受到了', e*2,'点伤害!')
                        print('======================================')
                        i = (i - e*2)
                        x = x-50
                        if (i < 1 or d < 1):
                            break
                elif y==2:
                    if x>=50:
                        print('===============================')
                        if (c == 1):
                            print('史莱姆受到了', e*2, '点伤害!')
                        elif (c == 2):
                            print('gai溜子受到了', e*2, '点伤害!')
                        elif (c == 3):
                            print('僵尸受到了', e*2, '点伤害!')
                        elif (c == 4):
                            print('爬虫受到了', e*2, '点伤害!')
                        elif (c == 5):
                            print('石头怪受到了', e*2,'点伤害!')
                        print('======================================')
                        i = (i - e*2)
                        x = x-50
                        if (i < 1 or d < 1):
                            break
                elif y==3:
                    if x>=70:
                        print('======================================')
                        x = x-70
                        d = d*2
                        print(o,'回复了',d/2'点生命值!')
                        print('======================================')
                elif y == 4:
                    if x>=30:
                        print('===============================')
                        if (c == 1):
                            print('史莱姆受到了', e*2, '点伤害!')
                        elif (c == 2):
                            print('gai溜子受到了', e*2, '点伤害!')
                        elif (c == 3):
                            print('僵尸受到了', e*2, '点伤害!')
                        elif (c == 4):
                            print('爬虫受到了', e*2, '点伤害!')
                        elif (c == 5):
                            print('石头怪受到了', e*2,'点伤害!')
                        print('======================================')
                        i = (i - e*2)
                        x = x-30
                        if (i < 1 or d < 1):
                            break
                elif y == 5:
                    if x == 100:
                        print('===============================')
                        if (c == 1):
                            print('史莱姆受到了', e*4, '点伤害!')
                        elif (c == 2):
                            print('gai溜子受到了', e*4, '点伤害!')
                        elif (c == 3):
                            print('僵尸受到了', e*4, '点伤害!')
                        elif (c == 4):
                            print('爬虫受到了', e*4, '点伤害!')
                        elif (c == 5):
                            print('石头怪受到了', e*4,'点伤害!')
                        print('======================================')
                        i = (i - e*4)
                        x = x-100
                        if (i < 1 or d < 1):
                            break
            print('敌人')
            print('血量:', i)
            print('攻击力:', h)
            print('等级', g)
            print('======================================')
            time.sleep(1)
            print(o)
            print('血量:', d)
            print('攻击力', e)
            print('等级', f)
            print('法力值:',x)
            print('======================================')
            print('玩家受到了', h, '点伤害!')
            time.sleep(1)
            d = (d - h)
            if (i < 1 or d < 1):
                break
            print('======================================')
            print('敌人')
            print('血量:', i)
            print('攻击力:', h)
            print('等级', g)
            print('======================================')
            time.sleep(1)
            print(o)
            print('血量:', d)
            print('攻击力', e)
            print('等级', f)
            print('法力值:',x)
            print('======================================')
        if (i < 1):
            zn = zn-1
            print('======================================')
            print('游戏胜利! 增加1经验! +30HP!  +5攻击力! +',f*5,'金币! 回复20点法力值!')
            print('======================================')
            print('======================================')
            print('距离赏金周期还有',zn,'天')
            print('======================================')
            e = (e + 1)
            d = (d + 30)
            n = (n + 1)
            b = (b + 1)
            e = (e + 5)
            s = (s + f * 5)
            x = x+20
            if x>100:
                x = 100
            if (n == m):
                n = 0
                m = (m + 1)
                print('======================================')
                print('你升级了! +60HP!  +40攻击力! +',f*5,'金币!')
                e = (e + 40)
                d = (d + 60)
                f = (f + 1)
                s = (s + f * 5)
            else:
                print('======================================')
                print('距离下一次升级还剩',m-n,'经验')
            print('======================================')
            print('【商店】')
            print('商人:欢迎光临~')
            print('================')
            t = f*5
            u = f*10
            v = f*10
            mo = f*5
            print(s, '$')
            print('【1】血瓶(',t,'$) 【2】狂怒药水(',u,'$) 【3】超级血瓶(',v,'$) 【4】法力瓶(',mo,'$) 【5】离开')
            w = int(input())
            if w == 1 and s>=t:
                l = l+1
                s = s-t
                print(o,'获得了1瓶血药!',o,'剩下',s,'$')
            else:
                pass
            if w == 2 and s>=u:
                p = p+1
                s = s-u
                print(o,'获得了1瓶狂怒药水!',o,'剩下',s,'$')
            else:
                pass
            if w == 3 and s >= v:
                q = q+1
                s = s-v
                print(o, '获得了1瓶超级血药!', o, '剩下', s, '$')
            else:
                pass
            if w == 4 and s >= mo:
                z = z+1
                s = s-mo
                print(o, '获得了1瓶法力瓶!', o, '剩下', s, '$')
            else:
                pass
            if w == 5:
                pass     
            print('商人:感谢惠顾~')
            time.sleep(1)
            if zn==0:
                print('============================')
                print('【第赏金天】')
                print('============================')
                xy = random.randint(1, 2)
                if xy == 1:
                    i = 150
                    h = 90
                    g = f
                    i = (i * g)
                    h = (h * g)
                    print('赏金猎人')
                else:
                    i = 500
                    h = 50
                    g = f
                    i = (i * g)
                    h = (h * g)
                    print('赏金机器')
                print('血量:', i)
                print('攻击力:', h)
                print('等级:', g)
                print('======================================')
                print(o)
                print('血量:', d)
                print('攻击力:', e)
                print('等级:', f)
                print('法力值:', x)
                print('======================================')
                while True:
                    k = 0
                    k = int(input('【1】战斗 【2】道具 【3】法力'))
                    if (k == 1):
                        print('===============================')
                        if (xy == 1):
                            print('赏金猎人受到了', e, '点伤害!')
                        elif (xy == 2):
                            print('赏金机器受到了', e, '点伤害!')
                        print('===============================')
                        i = (i - e)
                        if (i < 1 or d < 1):
                            break
                    elif (k == 2):
                        r = 0
                        print('【1】血瓶(', l, ')  【2】狂怒药水(', p,
                            ')  【3】超级血瓶(', q, ')  【4】法力瓶(', z, ')')
                        r = int(input())
                        if (r == 1):
                            if l > 0:
                                print('======================================')
                                print(o, '回复了'f*25'点生命值!')
                                d = d+f*25
                                l = l-1
                                print('======================================')
                        elif (r == 2):
                            if p > 0:
                                print('======================================')
                                print(o, '的攻击力增加了',f*15,'!')
                                e = e+f*15
                                p = p-1
                                print('======================================')
                        elif (r == 3):
                            if q > 0:
                                print('======================================')
                                print(o, '回复了',f*60'点生命值!')
                                q = q-1
                                d = d+f*60
                                print('======================================')
                        elif (r == 4):
                            if z > 0:
                                print('======================================')
                                print(o, '回复了30点法力值!')
                                z = z-1
                                x = x+30
                                if x > 100:
                                    x = 100
                                print('======================================')
                    if (k == 3):
                        if y == 1:
                            if x >= 50:
                                print('===============================')
                                if (xy == 1):
                                    print('赏金猎人受到了', e*2, '点伤害!')
                                elif (xy == 2):
                                    print('赏金机器受到了', e*2, '点伤害!')
                                print('======================================')
                                i = (i - e*2)
                                x = x-50
                                if (i < 1 or d < 1):
                                    break
                        elif y == 2:
                            if x >= 50:
                                print('===============================')
                                if (xy == 1):
                                    print('赏金猎人受到了', e*2, '点伤害!')
                                elif (xy == 2):
                                    print('赏金机器受到了', e*2, '点伤害!')
                                print('======================================')
                                i = (i - e*2)
                                x = x-50
                                if (i < 1 or d < 1):
                                    break
                        elif y == 3:
                            if x >= 30:
                                print('======================================')
                                x = x-50
                                d = d+30
                                print('======================================')
                        elif y == 4:
                            if x >= 30:
                                print('===============================')
                                if (xy == 1):
                                    print('赏金猎人受到了', e*2, '点伤害!')
                                elif (xy == 2):
                                    print('赏金机器受到了', e*2, '点伤害!')
                                print('======================================')
                                i = (i - e*2)
                                x = x-30
                                if (i < 1 or d < 1):
                                    break
                        elif y == 5:
                            if x == 100:
                                if (xy == 1):
                                    print('赏金猎人受到了', e*4, '点伤害!')
                                elif (xy == 2):
                                    print('赏金机器受到了', e*4, '点伤害!')
                            print('======================================')
                            i = (i - e*4)
                            x = x-100
                            if (i < 1 or d < 1):
                                break
                    print('======================================')
                    if xy == 1:
                        print('赏金猎人')
                    else:
                        print('赏金机器')
                    print('血量:', i)
                    print('攻击力:', h)
                    print('等级', g)
                    print('======================================')
                    time.sleep(1)
                    print(o)
                    print('血量:', d)
                    print('攻击力', e)
                    print('等级', f)
                    print('法力值:', x)
                    print('======================================')
                    print('玩家受到了', h, '点伤害!')
                    time.sleep(1)
                    d = (d - h)
                    if (i < 1 or d < 1):
                        break
                    print('======================================')
                    if xy == 1:
                        print('赏金猎人')
                    else:
                        print('赏金机器')
                    print('血量:', i)
                    print('攻击力:', h)
                    print('等级', g)
                    print('======================================')
                    time.sleep(1)
                    print(o)
                    print('血量:', d)
                    print('攻击力', e)
                    print('等级', f)
                    print('法力值:', x)
                    print('======================================')
                if (i < 1):
                    zn = 10
                    print('======================================')
                    print('游戏胜利! 增加1经验! +30HP!  +5攻击力! +', f*5, '金币! 回复20点法力值!')
                    print('======================================')
                    print('======================================')
                    zn-1
                    print('距离赏金周期还有', zn, '天')
                    print('======================================')
                    e = (e + 1)
                    d = (d + 30)
                    n = (n + 1)
                    b = (b + 1)
                    e = (e + 5)
                    s = (s + f * 5)
                    x = x+20
                    b = b+1
                    if x > 100:
                        x = 100
                    if (n == m):
                        n = 0
                        m = (m + 1)
                        print('======================================')
                        print('你升级了! +60HP!  +40攻击力! +', f*5, '金币!')
                        e = (e + 40)
                        d = (d + 60)
                        f = (f + 1)
                        s = (s + f * 5)
                    else:
                        print('======================================')
                        print('距离下一次升级还剩', m-n, '经验')
                    print('======================================')
                    print('【商店】')
                    print('商人:欢迎光临~')
                    print('================')
                    t = f*5
                    u = f*10
                    v = f*10
                    mo = f*5
                    print(s, '$')
                    print('【1】血瓶(', t, '$) 【2】狂怒药水(', u, '$) 【3】超级血瓶(',v, '$) 【4】法力瓶(', mo, '$) 【5】离开')
                    w = int(input())
                    if w == 1 and s >= t:
                        l = l+1
                        s = s-t
                        print(o, '获得了1瓶血药!', o, '剩下', s, '$')
                    else:
                        pass
                    if w == 2 and s >= u:
                        p = p+1
                        s = s-u
                        print(o, '获得了1瓶狂怒药水!', o, '剩下', s, '$')
                    else:
                        pass
                    if w == 3 and s >= v:
                        q = q+1
                        s = s-v
                        print(o, '获得了1瓶超级血药!', o, '剩下', s, '$')
                    else:
                        pass
                    if w == 4 and s >= mo:
                        z = z+1
                        s = s-mo
                        print(o, '获得了1瓶法力瓶!', o, '剩下', s, '$')
                    else:
                        pass
                    if w == 5:
                        pass
                    print('商人:感谢惠顾~')
                    time.sleep(1)
                elif (d < 1):
                    print('======================================')
                    print('游戏失败,你存活了', b, '天')
                    print('======================================')
                    sys.exit(0)
            else:
                pass          
        elif (d < 1):
            print('======================================')
            print('游戏失败,你存活了', b, '天')
            print('======================================')
            sys.exit(0)
else:
    sys.exit(0)

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
失落的星失落的星

center_image

点赞1


评论


云吟之游云吟之游

终于找到了

点赞0


评论


云吟之游云吟之游

你这改了啥呀,让我康康

点赞0


评论


一个初级高手一个初级高手

有bug,画 |  的地方少了一个逗号center_image

点赞0


评论