猫史档案馆


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

用户:失落的星失落的星查看:153 回复: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 没修,现在修了,顺便还更新了小鬼

今天可能可以出v1.3版本

这么勤奋啊

害,没啥啦,我记得我学python之前我是学scratch的,当时我一天做了一个有10个场景的生存游戏,现在找不到了

v1.3其实也就改几行代码,加几行代码就完事了

你可以搞一个列表,把怪放进去,然后随机出来,让玩家刷级,达到一定等级就能打Boss,打完就通关了

我之前也做了个差不多的

好主意,整个练习场,每隔五天就不进入商店,进入训练场,训练场去一次放5只假人刷级

v1.4应该可以出

v1.4可能要做两天,因为我打算在v1.4加一个故事模式

期待你的V1.4

加油

yee,不知道为啥,发完这个帖子之后,今天一整天都发不了帖子,真奇怪


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

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

点赞0


评论

引号外面

我知道,已经改了,但发不了帖子

不过后面貌似还有一堆bug(

喵?社区出啥bug了

不知道,但是海龟编辑器不能发布作品,提示说”公测不支持频繁发帖,请稍后再试“

你写得不错诶,但是我又发现了一些个bug,咱们可以合作嘛?我也会写python

我来吃个瓜

可以啊,你开个工作室?

这个感觉不用了吧,可以以后再说

加一下QQ?

他似乎开不了吧

是的(

......

emm.......

emmmmmmmmmmmmmmm..................................

你们先聊,我上课去了

?所以说 加一下QQ?

以后工作室可以你开

咕噜咕噜...(潜水中)

开了之后记得叫我

终于下课了

没qq耶

v1.3发布哩!在我主页里有!

OK

额那么怎么联系?

不知道

。。。

你用不用irc?

你先开一个工作室吧(