猫史档案馆


【Python作品分享】猿人【求助帖】

用户:cyanmaplecyanmaple查看:0 回复:0 评论:0 创建时间:2021-02-19T18:47:20


【作品展示】

center_image

 

【作品介绍】

一个小游戏

 

【作品源代码】

import time
import random
import easygui as e
import turtle as t


print('trceback (most recent call last):')
print('  file"C:\\Users\\unknown\\unknown\\unknown\\unknown\\codemao-Ic7se7/temp.py",line unknown,in')
print(    'unknown')
print('NameError: unexpected indent')
print('程序运行结束')
time.sleep(2)
e.msgbox('哈哈,吓唬你的','吓唬人的代码','靠')
def wet(ta):
    if buff=='y':
        time.sleep(ta/3)
    else:
        time.sleep(ta)
        
def x1(numnum):
    i2=0
    if numnum==2:
        for i2 in range(1, 101):
            print('召唤进度', i2, '%', flush=True, sep='')
            time.sleep(0.1)
    elif numnum==1:
        t = random.randint(1, 10)  # 随机等待时间
        print("搜寻怪物中", end='')
        for i in range(t+1):
            print('.', end='', flush=True)  # 实现loading效果
            time.sleep(1)
    else:
        e.msgbox('特效完了之后最小化到托盘,不要关闭','系统提示','好的')
        c = ['blue', 'red', 'yellow', 'orange', 'white', 'green', 'Gold']
        import turtle as t
        t.hideturtle()
        t.speed(0)
        t.bgcolor('black')
        a2 = 2
        while True:
            b = random.choice(c)
            t.pencolor(b)
            a = c.index(b)
            if (a != a2):
                break
        for i in range(300):
            t.forward((i * 2))
            t.left(91)

a8 = 0
a9=0
nb=0
e.msgbox('您好,欢迎来玩猿人游戏                                                          本游戏以通过用户输入的方式来完成', '开局提示', '好的')
while True:
    if e.ynbox('请问您准备好了吗', '选择', ('是', '否'))==True:
        break
    else:
        time.sleep(2)
name = input("请输入角色名称:")
buff=input('是否需要文字加速功能(y,n):')
print("猿人游戏中存在数不清的种族,目前有六个供你选择:【1】龙蜥【2】砍砍猴【3】雪狌狌【4】鲲【5】豸【6】诡异")
hhhh = ('龙蜥', '砍砍猴', '雪胜胜', '鲲', '豸', '诡异', '噬', '陌陨')
while True:
    race = input("请按照编号选择你的种族:")
    if race=='1' or race=='2' or race=='3' or race=='4' or race=='5' or race=='6' or race=='7' or race=='10086':
        race=int(race)
        break
    else:
        print('输入错误,请重新输入')
pp=('灼烧','冻结','晕的和泥','潮湿','恐惧')#初始暴击技能
num=0
if race == 1:#火系
    hp = 5000  # 角色初始生命值
    aggressivity = 75
      # 角色初始攻击力
    skill = ("龙息", "龙爪", "逆鳞")  # 技能名称
elif race == 2:  # 格斗系
    hp = 4500  # 角色初始生命值
    aggressivity = 71  # 角色初始攻击力
    skill = ("木棒螺旋三角杀", "木棒螺旋二十八角杀", "木棒螺旋万角杀")  # 技能名称
elif race == 4:  # 水系
    hp = 5000  # 角色初始生命值
    aggressivity = 74  # 角色初始攻击力
    skill = ("水波动", "水流尾", "虚灵震怒")  # 技能名称
elif race == 5:  # 火系
    hp = 5555  # 角色初始生命值
    aggressivity = 67  # 角色初始攻击力
    skill = ("火焰牙", "火焰爪", "爆炸火焰")  # 技能名称
elif race == 6:  # 幽灵系
    hp = 4500  # 角色初始生命值
    aggressivity = 80
    skill = ("虚刃", "虚石", "EX——域斩")  # 技能名称
elif race == 3:  # 冰系
    hp = 4678  # 角色初始生命值
    aggressivity = 70  # 角色初始攻击力
    skill = ("咬咬", "痛烈撕咬", "终极朝天螺旋咬")  # 技能名称
elif race == 7:  # 幽灵系
    hp = 8500  # 角色初始生命值
    aggressivity =100#角色初始攻击力
    skill = ("阎神威", "阎神怒目", "噬灵")  # 技能名称
elif race==10086:
    hp = 喵0000000000000000000000000000000000000000000000000000000000000  # 角色初始生命值
    aggressivity = 喵0000000000000000000000000000000000000000000000000000000000000  # 角色初始攻击力
    skill = ("天陨灭世", "亚火红莲", "制裁光粒")  # 技能名称
grade = 6  # 角色初始等级
experience = 0  # 角色初始经验
skilltime = 60  # 角色初始技能值
x = ''
if '天陨灭世' in skill:
    skilltime = 喵0000000000000000000000000000000000000000000000000000000000000
    print('管喵专用角色角色(玩家别动)', hhhh[7], ',生命值∞', ',攻击力∞',
          ',全部技能', skill,'初始等级6,初始技能值∞', sep='')
    if e.ynbox('请选择密码', '身份验证', ('201012', '1234567q'))==None:
        print('通过验证')
    else:
        while True:
            print('滚',end='',flush=True)
            time.sleep(0.5)
    nb = 1
else:
    print('角色', hhhh[race-1], ',生命值', hp, ',攻击力', aggressivity,',全部技能',skill,'初始等级6,初始技能值60',sep='')
wet(2)
print("_____________________________________________________________________________________________________________________________________________")
wet(0.5)
c = 0
wet(1)
while True:
    if grade >= 30:
        print('恭喜你成功通关,期待和你再次见面')
        break
    if hp <= 0:  # 判断生命值
        print("角色喵亡,游戏已结束!")
        break
    if x != '滚':
        x=input('请输入提取码:(没有可以按"y"):')
    if x == '201012' or grade == 15:
        x1(2)
        grade_enemy = random.randint(50, 100)  # 初始化本次怪物等级
        aggressivity_enemy = random.randint(300, 500)  # 怪物的攻击力
        hp_enemy = random.randint(2000, 10000)
        x喵='黑暗.使者(15级boss)'
        x喵2=4
        print('成功召唤"黑暗.使者"')
    elif x == '1234567q' or grade == 20:
        x1(2)
        grade_enemy = random.randint(100, 300)  # 初始化本次怪物等级
        aggressivity_enemy = random.randint(500, 1000)  # 怪物的攻击力
        hp_enemy = random.randint(10000, 30000)
        x喵 = '黑暗.荣耀(20级boss)'
        x喵2 = 6
        print('成功召唤"黑暗.荣耀"')
    elif x == '54188' or grade == 29:
        x1(3)
        grade_enemy = random.randint(500, 1000)  # 初始化本次怪物等级
        aggressivity_enemy = random.randint(1000, 3000)  # 怪物的攻击力
        hp_enemy = random.randint(100000, 200000)
        x喵 = '黑暗.boss(29级终级boss)'
        x喵2 = 10
        print('成功召唤"黑暗.boss"')
    else:
        x1(1)
        print('')
        print("怪物出现,准备战斗!")
        wet(0.5)
        t = str(random.randint(1, 10))
        xiaoguai = ('1', '2', '3', '4', '5')
        jingying = ('6', '7', '8')
        boss = ('9', '10')
        if t in xiaoguai:
            x喵 = '小怪'
            x喵2 = 0
        elif t in jingying and grade >= 10:
            x喵 = '精英怪'
            x喵2 = 1
        elif t in boss and grade >= 15:
            x喵 = 'boss'
            x喵2 = 3
        else:
            x喵 = '小怪'
            x喵2 = 0
        grade_enemy = random.randint(grade-5, grade+5)  # 初始化本次怪物等级
        aggressivity_enemy = grade_enemy*7  # 怪物的攻击力
        hpp = random.randint(50, 170)
        if grade < 20:
            hp_enemy = grade_enemy*400+hpp+x喵2*400  # 怪物的血量
        else:
            hp_enemy = grade_enemy*400+hpp+grade*1500+x喵2*400
    skilll = 0
    print("该怪物等级为:", grade_enemy, "攻击力为:",
          aggressivity_enemy, "血量为:", hp_enemy,'这只怪是',x喵, sep="|")  # 报出怪物属性
    wet(1.5)
    a = input("是否进入战斗(y/n):")
    if a == 'y':   # 进入战斗
        print("开始战斗!")
        wet(0.3)
        num += 1  # 怪物数量存储
        i = 1  # 重置回合数
        tp2=''
        while True:
            # 如果怪物生命值为0或角色生命值为0,结束本次战斗
            if hp <= 0:  # 判断生命值
                print("角色喵亡,游戏已结束!")
                break
            print("----------------------------")
            print('对战第',num,'只怪物的',"第", i, "回合",sep='')
            wet(0.3)
            # 角色攻击脚本b
            if tp2!=1:
                tp=input('是否逃跑(y,n):')
                if tp=='y':
                    print('你选择了逃跑')
                    t = random.randint(0, x喵2+1)
                    if t==0:
                        print('你成功逃掉了')
                        print("----------------------------")
                        break
                    else:
                        print('怪物追上了你,你跑不掉了')
                        tp2=1
            print(name, "开始攻击!",sep='')
            hp3 = random.randint(13, 69)
            hp3_enemy = random.randint(13, 69)
            if skilltime >= 10:
                b = input("是否使用技能攻击(y/n):")
                if b == 'y':  # 使用技能攻击
                    if grade >= 20 or nb==1:
                        c = int(input("请问你想使出第几个技能(现有3个技能):"))
                        if c == 3 and skilltime >= 20:
                            skilll = 2  # 玩家自选技能
                            skilltime -= 20
                        elif c == 2 and skilltime >= 15:
                            skilll = 1
                            skilltime -= 15
                        else:
                            if c == 3 or c == 2:
                                print('对不起,你的技能知不足,所以只能用技能一')
                                wet(0.8)
                                skilll = 0
                                skilltime -= 10
                    elif grade >= 12:
                        c = int(input("请问你想使出第几个技能(现有2个技能):"))
                        if c == 2 and skilltime >= 15:
                            skilll = 1   # 玩家自选技能1
                            skilltime -= 15
                        else:
                            if c == 2:
                                print('对不起,你的技能知不足,所以只能用技能一')
                                wet(0.8)
                            skilll = 0
                            skilltime -= 10
                    else:
                        skilll = 0  # 修改元组项数
                        skilltime -= 10
                    t = random.randint(1, 5)
                    hp_enemy -= grade * aggressivity+skilll*grade*16+hp3
                    if hp_enemy > 0:
                            print("你使用", skill[skilll], "对怪物造成了", grade *  # 攻击力乘等级加技能加成
                                  aggressivity+skilll*grade*16+hp3, "伤害!怪物剩余", hp_enemy, '血量', sep='')
                            wet(1)
                            print('你现在有', skilltime, '技能值', sep='')
                            wet(0.5)
                            bj = random.randint(1,3)
                            bj2 = random.randint(3, 7)
                            bj3 = bj2/10
                            if bj == 3 and hp_enemy > 0:
                                hp_enemy -= int((grade *
                                                aggressivity+skilll*grade*16+hp3)*bj3)
                                if hp_enemy>0:
                                    print('你引发了暴击增加了', int((grade * aggressivity+skilll*grade*16+hp3)*bj3), '点伤害!怪物剩余',
                                        hp_enemy, '血量', sep='')
                                    wet(1)
                                else:
                                    print('你引发了暴击增加了', int((grade * aggressivity+skilll*grade*16+hp3)*bj3), '点伤害!怪物已喵亡',
                                        sep='')
                                    wet(1)
                    else:
                        print("你使用", skill[skilll], "对怪物造成了", grade *
                                aggressivity+skilll*grade*16+hp3, "伤害!怪物已喵亡", sep='')
                        wet(1)
                        print('你现在有', skilltime, '技能值', sep='')
                        wet(0.5)
                else:  # 使用普通攻击
                    hp_enemy -= grade*int(aggressivity/2)+hp3
                    if hp_enemy <= 0:
                        print("你使用普通攻击对怪物造成了", grade * int(aggressivity/2)+hp3,
                              "伤害!怪物已喵亡", sep='')
                        wet(1)
                    else:
                        print("你使用普通攻击对怪物造成了", grade * int(aggressivity/2)+hp3,
                              "伤害!怪物剩余", hp_enemy, '血量', sep='')
                        wet(1)
                        bj = random.randint(1, 3)
                        bj2=random.randint(3,7)
                        bj3=bj2/10
                        if bj == 3 and hp_enemy > 0:
                            hp_enemy -= int((grade * aggressivity/2+hp3)*bj3)
                            if hp_enemy > 0:
                                print('你引发了暴击增加了', int((grade * aggressivity/2+hp3)*bj3), '点伤害!怪物剩余',
                                    hp_enemy, '血量', sep='')
                                wet(1)
                            else:
                                print('你引发了暴击增加了', int((grade * aggressivity/2+hp3)*bj3), '点伤害!怪物已喵亡',
                                       sep='')
                                wet(1)
            else:
                hp_enemy -= grade*int(aggressivity/2)
                if hp_enemy<=0:
                    print("你的技能值已耗尽,你使用普通攻击对怪物造成了", grade*int(aggressivity/2),
                        '伤害!怪物已喵亡',sep='')
                else:
                    print("你的技能值已耗尽,你使用普通攻击对怪物造成了", grade*int(aggressivity/2),
                        "伤害!怪物剩余", hp_enemy, '血量', sep='')
                wet(0.5)
            if hp_enemy <= 0:
                if x == '201012' or grade == 15:
                    grade_enemy = random.randint(40, 60)
                elif x == '1234567q' or grade == 20:
                    grade_enemy = random.randint(60, 100)
                elif x == '54188' or grade == 29:
                    grade_enemy = 0
                print("____________________________________________________________")
                print("恭喜你成功打败第", num, '只怪物', sep='')
                wet(0.5)
                a9+=1
                if a9 == 10:
                    print("恭喜你获的成就:韭菜供应商")
                    wet(0.5)
                    print("你可真是个懂事的孩子,这么小就知道割韭菜补贴家用")
                    wet(0.5)
                    hp+=200
                if a8 == 5 and a9-1 == 5:
                    print("恭喜你获的成就:举世无双阴阳人")
                    wet(0.5)
                    print("您可真是个带好人")
                    wet(0.5)
                    hp+=500
                f = random.randint(grade_enemy*30,  grade_enemy*60)  # 随机经验
                experience += f  # 加上随机经验
                if 10= 1000:
                    experience_2=0
                    while experience-experience_2 > 1000:
                        experience_2+=1000
                    grade += int(experience_2/1000)  # 等级加一
                    print("恭喜你升到了", grade, "级", sep='')
                    wet(0.5)
                    experience -= experience_2  # 充值经验
                    for i3 in range(int(experience_2/1000 + 1)):
                        aggressivity += random.randint(3, 12)  # 增加攻击量
                    print('升级后你的攻击力变成了', aggressivity, sep='')
                    wet(0.5)
                    if grade == 12 :  # 判断等级来解锁技能
                        print('恭喜你解锁新技能:', skill[1],
                            ',你已拥有2个技能',sep='')
                        wet(0.5)
                    elif grade == 20 :  # 判断等级来解锁技能
                        print('恭喜你解锁新技能:', skill[2],
                            ',你已拥有3个技能', sep='')
                        wet(0.5)  
                else:
                    print('加油,还差',1000-experience,'技能值就能升到',grade+1,'级了',sep='')
                    wet(0.5)
                    if grade <= 12:  # 判断等级来确定技能区间
                        print('加油,还差', 12-grade, '级就有新技能了', sep='')
                        wet(0.5)
                    elif grade <= 20:  # 判断等级来确定技能区间
                        print('加油,还差', 20-grade, '级就有新技能了', sep='')
                        wet(0.5)
                    else:
                        print('您已拥有最高技能')
                        wet(0.3)
                if nb==1:
                        hp = 喵0000000000000000000000000000000000000000000000000000000000000  # 角色初始生命值
                        aggressivity = 喵0000000000000000000000000000000000000000000000000000000000000  # 角色初始攻击力
                        skilltime = 喵0000000000000000000000000000000000000000000000000000000000000
                print(
                    "____________________________________________________________")
                break
            wet(1)
            # 怪物攻击脚本
            if grade<8 and x喵=='小怪':
                hp -= grade_enemy*20+hp3_enemy+x喵2*400  # 生命减少
                if hp > 0:
                    print("怪物开始反击!对你造成了", (grade_enemy*20 +
                          hp3_enemy)+x喵2*400, "伤害!你剩余", hp, '血量', sep='')
                    wet(1)
                else:
                    print("怪物开始反击!对你造成了", grade_enemy*20 +
                          hp3_enemy+x喵2*400, '伤害!你已喵亡', sep='')
            else:
                hp -= grade_enemy*50+hp3_enemy+grade*grade*6+x喵2*400  # 生命减少
                if hp > 0:
                    print("怪物开始反击!对你造成了", (grade_enemy*50 +
                        hp3_enemy)+grade*grade*6+x喵2*400, "伤害!你剩余", hp, '血量', sep='')
                    wet(1)
                else:
                    print("怪物开始反击!对你造成了", (grade_enemy*50 +
                          hp3_enemy)+grade*grade*6, '伤害!你已喵亡', sep='')
                    wet(1)
            wet(1)
            bj = random.randint(1, 3)
            bj2=random.randint(3,7)
            bj3=bj2/10
            if bj == 3 and hp > 0:
                hp_enemy -= int((grade_enemy*20+hp3_enemy+grade*grade*6)*bj3)
                if hp > 0:
                    print('怪物引发了暴击增加了', int((grade_enemy*20+hp3_enemy+grade*grade*6)*bj3), '点伤害!你剩余',
                          hp, '血量', sep='')
                    wet(1)
                else:
                    print('怪物引发了暴击增加了', int(
                        (grade_enemy*20+hp3_enemy+grade*grade*6)*bj3), '点伤害!你已喵亡', sep='')
                    wet(1)
            i += 1  # 记录回合
    else:  # 放跑怪物
        if hp<=0:
            break
        print("你放跑了怪物")
        wet(0.3)
        print("您可真善良!")
        wet(0.5)
        a8 += 1
        if a8 == 10:
            print("恭喜你获的成就:大善喵")
            wet(0.5)
            print("这是个打怪游戏,你搁这办慈善联欢晚会呢?")
            wet(0.5)
            hp+=100
        if a8 == 5 and a9 == 5:
            print("恭喜你获的成就:举世无双阴阳人")
            wet(0.5)
            print("您可真是个带好人")
            wet(0.5)
            hp+=500
        continue
i=0
if hp<=0:
    while True:
        if i % 7 == 0:
            print(random.randint(1, 150)*' '+'您的一生结束了')
        elif i % 3 == 0:
            print(random.randint(1, 150)*' '+'你见到上帝了')
        elif i % 11 == 0:
            print(random.randint(1, 150)*' '+'你挂了')
        elif i % 5 == 0:
            print(random.randint(1, 150)*' '+'You dead')
        elif i % 2 == 0:
            print(random.randint(1, 150)*' '+'你喵了')
        i += 1
        time.sleep(0.04)

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页