| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
import easygui as e 
import random 
生命 = 100 
等级 = 1 
经验 = 0 
金钱 = 0 
木材 = 0 
石头 = 0 
宝石 = 0 
线 = 0 
ATK = int(random.randint(5,15)) 
DEF = int(random.randint(5,10)) 
打怪 = '打怪' 
武器店 = '武器店' 
防具店 = '防具店' 
冒险 = '冒险' 
返回 = '返回' 
挖矿 = '挖矿' 
退出 = '退出' 
背包 = '背包' 
苹果数量 = 0  
title = '勇者大冒险' 
 
攻击 = '攻击' 
逃跑 = '逃跑' 
使用苹果 = '使用苹果' 
继续攻击 = '继续攻击' 
 
小刀 = '小刀' 
长剑 = '长剑' 
大砍刀 = '大砍刀' 
巨剑 = '巨剑' 
屠龙刀 = '屠龙刀' 
 
买 = '买' 
不买 = '不买' 
 
砍伐大树 ='砍伐大树' 
采石 = '采石' 
 
 
小怪物_atk = 10 
小怪物_def = 2 
小怪物_life = 30 
 
 
巨齿龙_atk = 20 
巨齿龙_def = 10 
巨齿龙_life = 80 
 
def use_apple(): 
    global 苹果数量 
    global 生命 
    if 苹果数量 > 0: 
        苹果数量 -= 1 
        生命 += 10 
        e.msgbox('你用掉一个苹果,现在生命为%d,还剩余%d个苹果' % (生命,苹果数量)) 
        fight_小河边() 
    else: 
        e.msgbox('你的苹果数量不足,请去打怪后获得') 
        fight_小河边() 
 
def use_apple10(): 
    global 苹果数量 
    global 生命 
    if 苹果数量 > 0: 
        苹果数量 -= 1 
        生命 += 10 
        fight_小森林() 
    else: 
        e.msgbox('你的苹果数量不足,请去打怪后获得') 
        fight_小森林() 
 
 
def beibao(): 
    beibao_name =(''' 
                     木材有%d 个, 
                     石头有%d 个, 
                     宝石有%d 个, 
                     苹果有%d 个, 
                     攻击力 %d , 
                     防御力 %d ''' % (木材, 石头, 宝石, 苹果数量, ATK, DEF)) 
    beibao_val = [] 
    beibao_val = e.msgbox(beibao_name, title) 
    主界面() 
 
def fight(): 
    fight_msg = '请问你想去哪里冒险' 
    小河边 = '小河边' 
    小森林 = '小森林' 
    雪山 = '雪山' 
    where = e.buttonbox(fight_msg, title, choices = (小河边, 小森林, 雪山, 返回)) 
    if where == '小河边': 
        fight_小河边() 
    if where == '小森林': 
        fight_小森林() 
    if where == '雪山': 
        fight_雪山() 
    else: 
        主界面() 
 
def fight_小河边(): 
    小怪物_msg = '小怪物 攻击力 10, 防御力 2 , 生命 30' 
    fight_小怪物 = e.buttonbox(小怪物_msg,title, choices = (攻击, 逃跑, 使用苹果, 返回)) 
    if fight_小怪物 == '攻击': 
        gongji() 
    if fight_小怪物 == '逃跑': 
        e.msgbox('你已逃出来') 
        fight() 
    if fight_小怪物 == '返回': 
        主界面() 
    else: 
        use_apple() 
 
def 开始打怪10(): 
    巨齿龙_msg = '巨齿龙 攻击力 20, 防御力 10 , 生命 80' 
    fight_巨齿龙 = e.buttonbox(巨齿龙_msg,title, chioices =(攻击, 逃跑, 使用苹果, 返回)) 
    if fight_巨齿龙 == '攻击': 
        巨齿龙_gongji() 
    if fight_巨齿龙 == '逃跑': 
        e.msgbox('你已逃出来') 
        fight() 
    if fight_巨齿龙 == '返回': 
        主界面() 
    else: 
        use_apple10() 
    
    
     
def gongji(): 
    global 生命 
    global 经验 
    global 等级 
    global 苹果数量 
    damge = ATK - 小怪物_def 
    小怪物_newlife = 小怪物_life - damge 
    生命 = 生命 + (DEF - 小怪物_atk) 
    if 生命 > 0: 
        if 小怪物_newlife <= 0: 
            苹果数量 += 1 
            经验 += 20 
            e.msgbox('恭喜你胜利了,获得一个苹果, 获得20点经验,当前苹果数为%d,当前经验为%d' % (苹果数量,经验)) 
            if 经验 >= 100: 
                等级 += 1 
                e.msgbox('恭喜你升级了等级-->%d' % 等级) 
                经验 -= 100 
            fight_小河边() 
        elif 生命 < 0: 
            e.msgbox('你已经死了,重新开始') 
            生命 = 100 
            主界面() 
        else: 
            while 小怪物_newlife > 0: 
                e.msgbox('小怪物剩余血量%d, 你剩余生命%d' % (小怪物_newlife, 生命)) 
                小怪物_choices = e.buttonbox('小怪物还剩余%d的血' % 小怪物_newlife,title, choices = (继续攻击,使用苹果,逃跑)) 
                if 小怪物_choices == '继续攻击': 
                    小怪物_newlife -= damge 
                    e.msgbox('小怪物剩余血量%d, 你剩余生命%d' % (小怪物_newlife, 生命)) 
                    if 小怪物_newlife <= 0: 
                        苹果数量 += 1 
                        经验 += 20 
                        e.msgbox('恭喜你胜利了,获得一个苹果, 获得20点经验,当前苹果数为%d,当前经验为%d' % (苹果数量,经验)) 
                        if 经验 >= 100: 
                            等级 += 1 
                            e.msgbox('恭喜你升级了等级-->%d' % 等级) 
                            经验 -= 100 
                            break 
                    else: 
                        continue 
                elif 小怪物_choices == '使用苹果': 
                    if 苹果数量 > 0: 
                        生命 += 10 
                        苹果数量 -= 1 
                        return 苹果数量 
                        return 生命 
                        e.msgbox('现在生命为%d' % 生命) 
                        continue 
                    else: 
                        e.msgbox('你的苹果数量不足,请去打怪后获得') 
                        continue 
                         
                else: 
                    小怪物_choices == '逃跑' 
                    e.msgbox('你已逃出来') 
                    fight() 
        fight_小河边()              
             
                                      
    else: 
        e.msgbox('你已经死了,重新开始') 
        生命 = 100 
        主界面() 
         
     
def 巨齿龙_gongji(): 
    global 生命 
    global 经验 
    global 等级 
    global 苹果数量 
    damge = ATK - 巨齿龙_def 
    巨齿龙_newlife = 巨齿龙_life - damge 
    生命 = 生命 + (DEF - 巨齿龙_atk) 
    if 生命 > 0: 
        if 巨齿龙_newlife <= 0: 
            苹果数量 += 1 
            经验 += 80 
            e.msgbox('恭喜你胜利了,获得一个苹果, 获得80点经验,当前苹果数为%d,当前经验为%d' % (苹果数量,经验)) 
            if 经验 >= 100: 
                等级 += 1 
                e.msgbox('恭喜你升级了等级-->%d' % 等级) 
                经验 -= 100 
            fight_小森林() 
        elif 生命 < 0: 
            e.msgbox('你已经死了,重新开始') 
            生命 = 100 
            主界面() 
        else: 
            while 巨齿龙_newlife > 0: 
                e.msgbox('巨齿龙剩余血量%d, 你剩余生命%d' % (巨齿龙_newlife, 生命)) 
                巨齿龙_choices = e.buttonbox('巨齿龙还剩余%d的血' % 巨齿龙_newlife,title, choices = (继续攻击,使用苹果,逃跑)) 
                if 巨齿龙_choices == '继续攻击': 
                    巨齿龙_newlife -= damge 
                    e.msgbox('巨齿龙剩余血量%d, 你剩余生命%d' % (巨齿龙_newlife, 生命)) 
                    if 巨齿龙_newlife <= 0: 
                        苹果数量 += 1 
                        经验 += 80 
                        e.msgbox('恭喜你胜利了,获得一个苹果, 获得80点经验,当前苹果数为%d,当前经验为%d' % (苹果数量,经验)) 
                        if 经验 >= 100: 
                            等级 += 1 
                            e.msgbox('恭喜你升级了等级-->%d' % 等级) 
                            经验 -= 100 
                            break 
                    else: 
                        continue 
                elif 巨齿龙_choices == '使用苹果': 
                    生命 += 10 
                    e.msgbox('现在生命为%d' % 生命) 
                    continue 
                else: 
                    巨齿龙_choices == '逃跑' 
                    e.msgbox('你已逃出来') 
                    fight() 
        fight_小森林()              
             
                                      
    else: 
        e.msgbox('你已经死了,重新开始') 
        生命 = 100 
        主界面() 
 
 
       
 
def fight_小森林(): 
    if 等级 <= 10: 
        e.msgbox('你等级太低啦,建议到10级再来冒险吧') 
        fight() 
    else: 
        开始打怪10() 
 
def fight_雪山(): 
    if 等级 <= 40: 
        e.msgbox('那里太危险了,建议40级以后再来吧') 
        fight() 
    else: 
        e.msgbox('程序员还在开发中') 
        主界面() 
 
def xiaodao(): 
    global 木材 
    global 石头 
    global ATK 
    e.msgbox('制作材料需要5个木材 和 5个石头,您现在拥有%d 个木材 和 %d个石头' %(木材,石头),title,) 
    g = e.buttonbox('是否需要购买小刀 增加2点攻击力',title , choices = (买, 不买)) 
    if g == '买': 
        if 木材 >=5 and 石头 >=5: 
            木材 -= 5 
            石头 -= 5 
            ATK += 2 
            e.msgbox('恭喜你购买成功,攻击力加2.目前攻击力为 %d, 剩余木材为%d, 剩余石头为%d' % (ATK, 木材, 石头),title) 
            sword() 
        else: 
            e.msgbox('你拥有的材料不足,请去挖矿。 剩余木材为%d, 剩余石头为%d' % (木材, 石头),title) 
            sword() 
    if g == '不买': 
        e.msgbox('我靠,客官你逗我呢。 不买赶紧走~~~~',title) 
        sword() 
 
 
def dakandao(): 
    global 木材 
    global 石头 
    global ATK 
    e.msgbox('制作材料需要10个木材 和 10个石头,您现在拥有%d 个木材 和 %d个石头' %(木材,石头)) 
    g = e.buttonbox('是否需要购买大砍刀 增加5点攻击力',title , choices = (买, 不买)) 
    if g == '买': 
        if 木材 >=10 and 石头 >=10: 
            木材 -= 10 
            石头 -= 10 
            ATK += 5 
            e.msgbox('恭喜你购买成功,攻击力加5.目前攻击力为 %d, 剩余木材为%d, 剩余石头为%d' % (ATK, 木材, 石头),title) 
            sword() 
        else: 
            e.msgbox('你拥有的材料不足,请去挖矿。 剩余木材为%d, 剩余石头为%d' % (木材, 石头),title) 
            sword() 
    if g == '不买': 
        e.msgbox('我靠,客官你逗我呢。 不买赶紧走~~~~',title) 
        sword()             
 
def changjian(): 
    global 木材 
    global 石头 
    global ATK 
    e.msgbox('制作材料需要20个木材 和 20个石头,您现在拥有%d 个木材 和 %d个石头' %(木材,石头)) 
    g = e.buttonbox('是否需要购买长剑 增加15点攻击力',title , choices = (买, 不买)) 
    if g == '买': 
        if 木材 >=20 and 石头 >=20: 
            木材 -= 20 
            石头 -= 20 
            ATK += 15 
            e.msgbox('恭喜你购买成功,攻击力加15.目前攻击力为 %d, 剩余木材为%d, 剩余石头为%d' % (ATK, 木材, 石头),title) 
            sword() 
        else: 
            e.msgbox('你拥有的材料不足,请去挖矿。 剩余木材为%d, 剩余石头为%d' % (木材, 石头),title) 
            sword() 
    if g == '不买': 
        e.msgbox('我靠,客官你逗我呢。 不买赶紧走~~~~',title) 
        sword()             
 
 
def jujian(): 
    global 木材 
    global 石头 
    global ATK 
    e.msgbox('制作材料需要40个木材 和 40个石头,您现在拥有%d 个木材 和 %d个石头' %(木材,石头)) 
    g = e.buttonbox('是否需要购买巨剑 增加35点攻击力',title , choices = (买, 不买)) 
    if g == '买': 
        if 木材 >=40 and 石头 >=40: 
            木材 -= 40 
            石头 -= 40 
            ATK += 35 
            e.msgbox('恭喜你购买成功,攻击力加35.目前攻击力为 %d, 剩余木材为%d, 剩余石头为%d' % (ATK, 木材, 石头),title) 
            sword() 
        else: 
            e.msgbox('你拥有的材料不足,请去挖矿。 剩余木材为%d, 剩余石头为%d' % (木材, 石头),title) 
            sword() 
    if g == '不买': 
        e.msgbox('我靠,客官你逗我呢。 不买赶紧走~~~~',title) 
        sword() 
 
def tulongdao(): 
    global 木材 
    global 石头 
    global ATK 
    e.msgbox('制作材料需要60个木材 和 60个石头,您现在拥有%d 个木材 和 %d个石头' %(木材,石头)) 
    g = e.buttonbox('是否需要购买屠龙刀 增加135点攻击力',title , choices = (买, 不买)) 
    if g == '买': 
        if 木材 >=60 and 石头 >=60: 
            木材 -= 60 
            石头 -= 60 
            ATK += 135 
            e.msgbox('恭喜你购买成功,攻击力加135.目前攻击力为 %d, 剩余木材为%d, 剩余石头为%d' % (ATK, 木材, 石头),title) 
            sword() 
        else: 
            e.msgbox('你拥有的材料不足,请去挖矿。 剩余木材为%d, 剩余石头为%d' % (木材, 石头),title) 
            sword() 
    if g == '不买': 
        e.msgbox('我靠,客官你逗我呢。 不买赶紧走~~~~',title) 
        sword()      
 
 
def mucai(): 
    global 木材 
    while True: 
        g = e.buttonbox('欢迎来到伐木世界',title, choices= (砍伐大树,返回)) 
        if g == '砍伐大树': 
            木材 += 2 
            e.msgbox('恭喜获得2个木材 目前拥有 %d 个木材' % 木材 ,title) 
            continue 
        else: 
            e.msgbox('欢迎下次光临,需要的时候再来吧',title) 
            主界面() 
         
 
def shitou(): 
    global 石头 
    while True: 
        g = e.buttonbox('欢迎来到石头世界',title, choices= (采石,返回)) 
        if g == '采石': 
            石头 += 2 
            e.msgbox('恭喜获得2个石头 目前拥有 %d 个石头' % 石头 ,title) 
            continue 
        else: 
            e.msgbox('欢迎下次光临,需要的时候再来吧',title) 
            主界面() 
         
         
     
 
def sword(): 
    g = e.buttonbox('请选择你要购买的武器,可以增加攻击力哦^_^',title, choices = (小刀,大砍刀,长剑, 巨剑, 屠龙刀, 返回)) 
    if g == '小刀': 
        xiaodao() 
    if g == '大砍刀': 
        dakandao() 
    if g == '长剑': 
        changjian() 
    if g == '巨剑': 
        jujian() 
    if g == '屠龙刀': 
        tulongdao() 
    if g == '返回': 
        主界面() 
     
def wakuang(): 
    global 木材 
    global 石头 
    e.msgbox('欢迎来到挖矿世界,在这里你可以获得木材 和石头',title) 
    g = e.buttonbox('请选择你要采集的资源', title, choices = ('木材','石头')) 
    if g == '木材': 
        mucai() 
    if g == '石头': 
        shitou() 
 
def clothes(): 
    e.msgbox('哈哈,程序员俺还在开发中,下次再来玩 :-)',title) 
    主界面() 
 
def maoxian(): 
    e.msgbox('哈哈,程序员俺还在开发中,下次再来玩 :-)',title) 
    主界面() 
     
 
 
def 主界面(): 
    global 生命 
    global 经验 
    global 等级 
    msg = '等级 %d , 经验【%d】,生命 %d' % (等级, 经验, 生命)  
    g = e.buttonbox(msg, title, choices = (背包,打怪,武器店,防具店,冒险,挖矿,退出)) 
    if g == '打怪': 
        fight() 
    elif g == '武器店': 
        sword() 
    elif g == '防具店': 
        clothes() 
    elif g == '冒险': 
        maoxian() 
    elif g == '挖矿': 
        wakuang() 
    elif g == '背包': 
        beibao() 
    else: 
        e.msgbox('游戏结束,谢谢',title) 
        exit() 
 
 
主界面() 
         
#### 希望可以获得改进代码的指点。谢谢  |   
 
 
 
 |