2020-11-27

import time
import tqdm
print("欢迎来到地下城(YZH的小游戏)")
def get(x): #控制通关和不通关的选择界面的函数
    return x
def choose():
    global job
    job = input("请输入你选择的职业(输入a或者b或者c)\nA:邬队长\nB:乐队长\nC:熊队长\n-------")#可以用for循环字典加sleep让每个职业单独显示出来时间并介绍每个职业的成长
def newchoose():
    global newjob
    newjob = input("请输入你选择的职业(输入a或者b或者c或者yzh)\nA:邬队长\nB:乐队长\nC:熊队长\nYZH:mata叶\n-------")
def err(x): #这个函数的意思是开头的选择且判断格式是否错误
    get(x)
    while (job.upper() != "A" and job.upper() != "B" and job.upper() != "C"):
        print("输入错误,请输入正确的选项!")
        get(x)
def main():
    level = int(input("请输入你的等级:"))
    monsterlevel = int(input("请输入怪物的等级:"))
    hp = 0  # 生命值
    att = 0  # 攻击力
    defend = 0  # 防御
    #monsterlevel = 0  # 怪物等级
    if job.upper() == "A":
        hp = 800 + level * 59
        att = 100 + level * 10
        defend = 20 + level * 5
    if job.upper() == "B":
        hp = 500 + level * 35
        att = 120 + level * 19
        defend = 15 + level * 3
    if job.upper() == "C":
        hp = 500 + level * 35
        att = 80 + level * 10
        defend = 30 + level * 10
    bosshp = 10000 + monsterlevel * 30  # boss血量 攻击 和
    bossatt = 50 + monsterlevel * 8
    bossdefend = 50
    print("你的等级是{:-^10},血量是{:-^10},攻击是{:-^10},防御是{:-^10}".format(level, hp, att, defend))
    print("怪兽的等级是{:-^10},血量是{:-^10},攻击是{:-^10},防御是{:-^10}".format(monsterlevel,bosshp,bossatt,bossdefend))

    print("战斗加载中!!")
    for i in tqdm.tqdm(range(1, 1000)):
        time.sleep(0.01)
    print("战斗开始!!!")
    print("怪物获得先手!") #可以考虑加入速度属性 速度快的先手 加一个if条件 或者随机攻击用random函数都可以改进
    while bosshp >= 0 and hp >= 0:
        hpvalue = bossatt-defend #你的生命值每次攻击后的差值
        bosshpvalue = att - bossdefend #boss的生命值每次攻击后的差值
        if hpvalue <=0:
            hpvalue =0
            print("boss无法破防,可以提高难度")
        hp = hp - (hpvalue)
        print("怪兽攻击了你,你的hp - {},剩余hp{}".format(hpvalue,hp))#轮流攻击 boss先手
        bosshp = bosshp - bosshpvalue
        print("你攻击了怪兽,boos的生命值 - {},剩余hp{}".format(bosshpvalue, bosshp))#可以加入元素比如随机数多少 如果到了这个随机数就可以造成幸运一击 或者加入别的元素进来 增加可玩性
        time.sleep(0.5)     #让他刷新不那么快可以让用户可读性变好
        dict ={"a":"邬队长",
               "b":"乐队长",  #创建一个字典 键值对好匹配输入的职业序号 让下面输入出名字
               "c":"熊队长"}
        if hp <= 0:
            print("很可惜!战败,{}属实垃圾老饭桶一个(可以试试把自己的等级提高,怪物等级降低,在运行一次)".format(dict[job]))
        elif bosshp <=0:
            print("牛牛牛 属实帅 恭喜你战胜了boss,解锁了新人物!可以回去看看")  #过于单调的一个Boss 纯文字的打斗 胜利后没有奖励完全没有游戏的喜悦
            err(newchoose())
            #if job.upper() == "YZH" or newjob.upper() == "YZH":
                #hp = 9999 + level * 99
                #att = 9999 + level * 99
                #defend = 9999 + level * 99
            newmain()
def newmain():
    level = int(input("请输入你的等级:"))
    monsterlevel = int(input("请输入怪物的等级:"))
    hp = 0  # 生命值
    att = 0  # 攻击力
    defend = 0  # 防御
    # monsterlevel = 0  # 怪物等级
    if newjob.upper() == "A":
        hp = 800 + level * 59
        att = 100 + level * 10
        defend = 20 + level * 5
    if newjob.upper() == "B":
        hp = 500 + level * 35
        att = 120 + level * 19
        defend = 15 + level * 3
    if newjob.upper() == "C":
        hp = 500 + level * 35
        att = 80 + level * 10
        defend = 30 + level * 10
    if newjob.upper() == "YZH":
        hp = 9999 + level * 99
        att = 9999 + level * 99
        defend = 9999 + level * 99
    bosshp = 10000 + monsterlevel * 30  # boss血量 攻击 和
    bossatt = 50 + monsterlevel * 8
    bossdefend = 50
    print("你的等级是{:-^10},血量是{:-^10},攻击是{:-^10},防御是{:-^10}".format(level, hp, att, defend))
    print("怪兽的等级是{:-^10},血量是{:-^10},攻击是{:-^10},防御是{:-^10}".format(monsterlevel, bosshp, bossatt, bossdefend))

    print("战斗加载中!!")
    for i in tqdm.tqdm(range(1, 1000)):
        time.sleep(0.01)
    print("战斗开始!!!")
    print("怪物获得先手!")  # 可以考虑加入速度属性 速度快的先手 加一个if条件 或者随机攻击用random函数都可以改进
    while bosshp >= 0 and hp >= 0:
        hpvalue = bossatt - defend  # 你的生命值每次攻击后的差值
        bosshpvalue = att - bossdefend  # boss的生命值每次攻击后的差值
        if hpvalue <= 0:
            hpvalue = 0
            print("boss无法破防,可以提高难度")
        hp = hp - (hpvalue)
        print("怪兽攻击了你,你的hp - {},剩余hp{}".format(hpvalue, hp))  # 轮流攻击 boss先手
        bosshp = bosshp - bosshpvalue
        print("你攻击了怪兽,boos的生命值 - {},剩余hp{}".format(bosshpvalue,
                                                   bosshp))  # 可以加入元素比如随机数多少 如果到了这个随机数就可以造成幸运一击 或者加入别的元素进来 增加可玩性
        time.sleep(0.5)  # 让他刷新不那么快可以让用户可读性变好
        dict = {"a": "邬队长",
                "b": "乐队长",  # 创建一个字典 键值对好匹配输入的职业序号 让下面输入出名字
                "c": "熊队长",
                "d": "mata叶"}
        if hp <= 0:
            print("很可惜!战败,{}属实垃圾老饭桶一个(可以试试把自己的等级提高,怪物等级降低,在运行一次)".format(dict[newjob]))
        else:
            print("你已经体验完所有游戏内容!!游戏结束")
        time.sleep(0.1)
err(choose())
main()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值