用户:登天者查看:2 回复:2 评论:2 创建时间:2019-08-18T17:29:15
【作品展示】

【作品介绍】
这个作品还算比较好,过一段时间我打算做新版本
【作品源代码】
import time
import random
print("勇者之心 作者:郑小豪")
time.sleep(3)
name=input("请输入您的姓名:")
LV=0
xp=0
LV_up=0
time.sleep(2)
#设定时间
years=2000
month=0
day=0
#设定剧情推进。
story=0
#设定最大血量,最大蓝量,蓝量恢复,攻击力,防御,冰抗,火抗,速度。
HP_max=10
PP_max=10
PP_up=1
hit=1
proof=0
proof_snow=0
proof_fire=0
part_speed=10
#设定冒险的前后,左右
x=0
y=0
#设定背包,装备,道具,商店,金币,地形,角色技能,备用技能。
backbag = []
zhuangbei={"头盔":"无","胸甲":"无","护腿":"无","战靴":"无"}
#道具的数量,回血,回蓝
thing = {"治疗药剂(小)": [3,2,0], "治疗药剂(中)": [3,6,0], "治疗药剂(大)": [3,16,0],"恢复药剂": [2,10,10]}
thing_={"1":"治疗药剂(小)","2":"治疗药剂(中)","3":"治疗药剂(大)","4":"恢复药剂"}
shop = {"1":["治疗药剂(小)",10], "2":["治疗药剂(中)",50],"3":["治疗药剂(大)",100], "4":"取消购买"}
money = 10
world=["雪地","火山","天空"]
skill = {"1":"斩击","2":"无","3":"无","4": "无"}
skill_old=[]
#设定技能攻击,破甲等级,耗能,燃烧回合,燃喵害,控制,控制等级,抵抗等级,抵抗时间。
skill_dict={"无":[0,0,0,0,0,0,0,0,0],"斩击":[4,0,0,0,0,0,0,0,0],"裂地斩":[15,2,10,5,5,0,0,0,0],"连环斩":[20,0,15,0,0,0,0,0,0],"蓄力一击":[30,3,20,0,0,0,0,0,0],"寒冰斩":[20,0,0,0,5,7,0],"开天斩":[60,7,40,1,20,0,0,0],"光芒之剑":[100,10,70,10,20,0,0,5,5],"审判之剑":[120,20,100,10,20,5,20,0,0],"冰箭":[2,0,1,0,0,1,3,0,0],"撕咬":[5,0,0,0,0,0,0,0,0],"冰霜":[6,0,4,0,0,2,2,0,0],"寒冰之握":[50,5,30,0,0,4,2,0,0],"冰霜之力":[30,0,20,0,0,6,2,0,0],"极寒吐息":[60,2,25,0,0,2,5,0,0],"寒冰之甲":[0,0,0,0,0,0,0,3,2]}
little_monster_snow = ["冰霜哥布林", "雪狼", "冰熊", "雪妖"]
#设定装备加最大生命,防御,火抗,冰抗,速度
zhuangbei_dict = {"无":[0,0,0,0,0]}
#设定怪物攻击,血量,蓝量,回蓝,速度,防御。
monster_dict={"冰霜哥布林":[1,5,5,2,0,0],"雪狼":[3,5,2,1,15,1],"冰熊":[1,10,3,1,0,5],"雪妖":[2,3,10,5,13,0],"冰龙":[10,100,100,10,50,30],"雪凤":[15,50,50,15,30,15],"冰霜巨人":[20,150,50,1,0,50]}
Boss_monster_snow=["冰龙","雪凤","冰霜巨人"]
snow_skill_little=["斩击","冰箭","撕咬","冰霜","寒冰之甲"]
snow_skill_Boss=["寒冰之握","冰霜之力","极寒吐息"]
skill_of_monster=[]
#初始剧情
if story==0:
print("旁白:这里是艾尼莫大陆。")
time.sleep(2)
print("旁白:这里常年生存着大量的噬血的魔兽,因此,这里也被誉为“喵神的殿堂”。")
time.sleep(3)
print("旁白:你的国家叫作岚之国,位于极北之地,由于其先祖在历史上留下了赫赫战功,也被人们称作“英雄之乡”。")
time.sleep(2)
print("旁白:然而,在短暂的风光之后,岚之国很快就没落下来,成为了一个三流小国。")
time.sleep(2)
print("旁白:而你,{},作为命中注定的岚之救星,也将在历史上书写你的传说。".format(name))
time.sleep(2)
print("第一章 无人所知之伤")
time.sleep(4)
print("艾尼莫历{}年{}月{}日".format(years,month,day))
time.sleep(2)
print("牧师:{},你的妹妹受的伤太重了,就连圣光也无法救她,她最多只能活5年了。".format(name))
time.sleep(2)
print("你:什么!妹妹的伤已经这么重了,牧师大人,到底要怎样才能救下她?")
time.sleep(3)
print("牧师:这...恐怕很难。不过我听说在辛尼莫大陆的某个地方,有一株“回魂喵”,据说,它被称为“曙光之花”,可以治愈世界上所有的伤势。如果找到它,你妹妹就有救了。")
time.sleep(2)
print("你:好,我这就去找“回魂喵”!")
time.sleep(2)
print("你走出了房间。")
time.sleep(2)
print("主线任务:在2005年1月1日前拿到回魂喵")
story=1
while story==1 and years!=2005 and not "回魂喵" in backbag:
print("你到了城镇,现在,你要做什么?")
print("1 探险 2 商店 3 背包 4 道具 5 金钱 6 装备 7 技能")
command=input("选择:")
if command=="1":
print("你来到了{},据说,一直走下去,可以找到太阳升起之地。".format(world[0]))
tanxian=1
find_monster=0
find_Boss=0
#冒险机制
while tanxian==1 and years!=2005:
while day>=30:
day=day-30
month=month+1
while month>=12:
month=month-12
years=years+1
print("艾尼莫历{}年{}月{}日".format(years, month, day))
time.sleep(2)
print("当前位置:x:{},y:{}。".format(x,y))
print("1 向前走 2 向左走 3 向右走 4 后退 5 离开")
way = input("选择:")
if way=="1":
x=x+1
day=day+1
elif way=="2":
y=y+1
day=day+1
elif way=="3":
y=y-1
day=day+1
elif way=="4":
x=x-1
day=day+1
elif way=="5":
print("退出冒险。")
tanxian=0
break
else:
print("选择出错。")
#设定回魂喵位置,刷怪。
if x>500 and x<600 and y<20 and y>-20:
find_Boss = 1
find_monster=0
elif 50 <= random.randint(1, 100):
find_monster = 1
find_Boss=0
if find_Boss == 1 or find_monster == 1:
if find_Boss == 1:
monster = random.choice(Boss_monster_snow)
else:
monster = random.choice(little_monster_snow)
skill_of_monster_new = random.choices(snow_skill_little,k=3)
skill_of_monster.append(skill_of_monster_new)
if find_Boss == 1:
skill_of_monster.append(random.choice(snow_skill_Boss))
monster_LV = 100
print("你找到了回魂喵。")
time.sleep(2)
print("正当你将手伸向回魂喵时,回魂喵的守护者{}(LV100)出现了。".format(monster))
time.sleep(1)
else:
monster_LV = random.randint(LV-5, LV+10)
if monster_LV<0:
monster_LV=0
print("你遇到了{}(LV{})。".format(monster,monster_LV))
time.sleep(1)
print("进入战斗!")
HP=HP_max
PP=PP_max
#设定怪物攻击,血量,蓝量,回蓝,速度,防御。
monster_dict = {"冰霜哥布林": [1, 5, 5, 2, 0, 0], "雪狼": [3, 5, 2, 1, 15, 1], "冰熊": [1, 10, 3, 1, 0, 5], "雪妖": [2, 3, 10, 5, 13, 0], "冰龙": [10, 100, 100, 10, 50, 30], "雪凤": [15, 50, 50, 15, 30, 15], "冰霜泰坦": [20, 150, 50, 1, 0, 50]}
shuxing_of_monster = monster_dict[monster]
shuxing_of_monster[0]=shuxing_of_monster[0]+monster_LV
shuxing_of_monster[1]=shuxing_of_monster[1]+monster_LV
#设置角色和怪物的喵回合,燃喵害,控制等级,控制回合,抵抗等级,抵抗时间。
part_list=[0,0,0,0,0,0]
monster_list=[0,0,0,0,0,0]
#战斗系统
if part_speed > shuxing_of_monster[4]:
x_o = 0
print("我方先手。")
else:
x_o = 1
print("对方先手。")
huihe=0
while find_Boss == 1 or find_monster == 1:
if x_o==0:
PP=PP+PP_up
if PP>PP_max:
PP=PP_max
print("当前血量{}。".format(HP))
print("当前能量{}。".format(PP))
print("1 攻击 2 沉默 3 道具 4 逃跑")
caozuo=input("请选择:")
if caozuo=="1":
if part_list[2]==0:
print("当前技能:",skill)
jineng = 0
while jineng == 0:
chuzhao = input("输入技能编号:")
jineng = 0
if chuzhao in skill:
newdict_of_skill=skill_dict[skill[chuzhao]]
if PP>newdict_of_skill[2]:
jineng=1
PP=PP-newdict_of_skill[2]
print("你使用了{}。".format(skill[chuzhao]))
time.sleep(1)
hit_of_skill = newdict_of_skill[0]
if hit_of_skill>=1:
hit_of_skill=hit_of_skill+hit-shuxing_of_monster[5]+LV-monster_LV
if hit_of_skill<1:
hit_of_skill=1
if monster_list[5] > 0:
dixiao = monster_list[4]+1
hit_of_skill = hit_of_skill//dixiao
print("{}护盾减少了一部分伤害。".format(monster))
time.sleep(1)
shuxing_of_monster[1]=shuxing_of_monster[1]-hit_of_skill
print("你对{}造成{}点伤害。".format(monster, hit_of_skill))
time.sleep(1)
if monster_list[5]>0:
if newdict_of_skill[1]>monster_list[4]:
print("你击碎了{}的护盾。".format(monster))
time.sleep(1)
if newdict_of_skill[3]>0:
monster_list[0]=newdict_of_skill[2]
monster_list[1]=newdict_of_skill[3]
print("{}燃烧了({}回合)。".format(monster,monster_list[0]))
time.sleep(1)
if newdict_of_skill[5]>0:
monster_list[2]=newdict_of_skill[4]
monster_list[3]=newdict_of_skill[5]
print("{}动弹不得了({}级)。".format(monster,monster_list[2]))
time.sleep(1)
if newdict_of_skill[7]>0:
part_list[4]=newdict_of_skill[6]
part_list[5]=newdict_of_skill[7]
print("你获得了护盾({}级,持续{}回合。)。".format(part_list[4],part_list[5]))
time.sleep(1)
else:
print("能量不足。")
else:
print("出招错误。")
jineng=0
else:
print("被控制,无法使用技能。")
elif caozuo=="2":
print("你沉默了。")
PP=PP_up//2+PP
elif caozuo=="3":
while True:
print("道具栏",thing_)
yao=input("选择:")
if yao in thing_:
new_thing = thing[thing_[yao]]
if new_thing[0] > 2:
new_thing[0] = new_thing[0]-1
HP=HP+new_thing[1]
PP=PP+new_thing[2]
thing[thing_[yao]]=new_thing[0]
print("你回复了{}点血,{}点能量。".format(new_thing[1],new_thing[2]))
print("{}还剩{}瓶。".format(thing_[yao],new_thing[0]-2))
break
else:
print("药数不足。")
else:
print("错误")
elif caozuo=="4":
print("你逃跑了。")
find_Boss=0
find_monster=0
break
else:
print("操作错误。")
x_o=1
huihe=huihe+1
PP=PP+PP_up
if huihe%2==0:
part_list[0]=part_list[0]-1
monster_list[0]=monster_list[0]-1
if part_list[0]<=0:
part_list[1]=0
HP_down=part_list[1]-proof_fire
if HP_down<0:
HP_down=0
HP = HP-HP_down
if monster_list[0]<=0:
monster_list[1]=0
shuxing_of_monster[1] = shuxing_of_monster[1]-monster_list[1]
part_list[3]=part_list[3]-1
monster_list[3]=monster_list[3]-1
part_list[5]=part_list[5]-1
monster_list[5]=monster_list[5]-1
if shuxing_of_monster[1]<=0:
print("战斗胜利!")
time.sleep(2)
break
if HP<=0:
month=month+1
find_Boss=0
find_monster=0
print("你输了")
time.sleep(2)
print("你被路人带回家,休息了一个月。")
time.sleep(2)
print("但你忘记了自己原来的位置,于是你决定从起点重新走起。")
x=0
y=0
if x_o==1:
print("{}剩余{}点血,{}点能量。".format(monster,shuxing_of_monster[1],shuxing_of_monster[2]))
time.sleep(1)
_new_monster_skill = random.choices(skill_of_monster, k=1)
__new_monster_skill=_new_monster_skill[0]
new_monster_skill=__new_monster_skill[random.randint(0,2)]
xiaoguo_monster_skill = skill_dict[new_monster_skill]
if shuxing_of_monster[2] > xiaoguo_monster_skill[2]:
print("{}使用了{}。".format(monster, new_monster_skill))
time.sleep(1)
shuxing_of_monster[2] = shuxing_of_monster[2]-xiaoguo_monster_skill[2]
hit_of_skill_ = xiaoguo_monster_skill[0]
if hit_of_skill_>=1:
hit_of_skill_=hit_of_skill_+shuxing_of_monster[0]-proof+monster_LV-LV
if hit_of_skill_ < 1:
hit_of_skill_ = 1
if part_list[4] > 0:
dixiao = monster_list[4]+1
hit_of_skill_ = hit_of_skill_//dixiao
print("你护盾减少了一部分伤害。")
time.sleep(1)
HP = HP - hit_of_skill_
print("{}对你造成{}点伤害。".format(monster, hit_of_skill_))
time.sleep(1)
if part_list[4] > 0:
if xiaoguo_monster_skill[2] > part_list[4]:
print("{}击碎了你的护盾。".format(monster))
time.sleep(1)
if xiaoguo_monster_skill[3] > 0:
part_list[0] = xiaoguo_monster_skill[2]
part_list[1] = xiaoguo_monster_skill[3]
print("你燃烧了({}回合)。".format(part_list[0]))
time.sleep(1)
if xiaoguo_monster_skill[5] > 0:
stop = xiaoguo_monster_skill[5]-proof_snow
if stop<0:
stop=0
else:
part_list[2] = stop
part_list[3] = xiaoguo_monster_skill[5]
print("你动弹不得了({}级)。".format(monster_list[2]))
time.sleep(1)
if xiaoguo_monster_skill[7] > 0:
monster_list[4] = xiaoguo_monster_skill[6]
monster_list[5] = xiaoguo_monster_skill[7]
print("{}获得了护盾({}级,持续{}回合。)。".format(monster,part_list[4], part_list[5]))
time.sleep(1)
else:
print("{}沉默了。".format(monster))
time.sleep(1)
shuxing_of_monster[2]=shuxing_of_monster[3]//2+shuxing_of_monster[2]
x_o = 0
huihe = huihe+1
shuxing_of_monster[2]=shuxing_of_monster[2]+shuxing_of_monster[3]
if huihe%2 == 0:
part_list[0] = part_list[0]-1
monster_list[0] = monster_list[0]-1
if part_list[0] <= 0:
part_list[1] = 0
HP_down=part_list[1]-proof_fire
if HP_down<0:
HP_down=0
HP = HP-HP_down
if monster_list[0] <= 0:
monster_list[1] = 0
shuxing_of_monster[1] = shuxing_of_monster[1] - monster_list[1]
part_list[3] = part_list[3]-1
monster_list[3] = monster_list[3]-1
part_list[5] = part_list[5]-1
monster_list[5] = monster_list[5]-1
if shuxing_of_monster[1] <= 0:
print("战斗胜利!")
time.sleep(2)
break
if HP <= 0:
find_Boss=0
find_monster=0
print("你输了")
time.sleep(2)
print("你受到了内伤,曾经的武学经验减少了一半。")
xp=xp//2
if find_Boss==1 or find_monster==1:
if find_Boss==1:
xp=xp+1000
money=money+10000
backbag.append("回魂喵")
print("你打败了守卫者,拿到了回魂喵。")
print("你获得了10000金币。")
print("你获得了1000经验。")
break
else:
xp=xp+monster_LV*5+5
money=monster_LV+5+money
print("你获得了{}金币。".format(monster_LV*10+10))
print("你获得了{}经验。".format(monster_LV+5))
while xp>=LV*10+10:
xp=xp-LV*10+10
LV=LV+1
LV_up=LV_up+1
HP_max=HP_max+1
PP_max=PP_max+1
proof=proof+1
part_speed=part_speed+1
print("你升级了,当前等级{}。".format(LV))
if LV_up==5:
HP_max=HP_max+2
PP_max=PP_max+2
proof=proof+2
if LV_up==10:
proof_fire=proof_fire+2
proof_snow=proof_snow+1
if LV==10:
skill_old.append("裂地斩")
print("学会了新技能。")
elif LV==25:
skill_old.append("连环斩")
print("学会了新技能。")
elif LV==40:
skill_old.append("寒冰斩")
print("学会了新技能。")
elif LV==60:
skill_old.append("开天斩")
print("学会了新技能。")
print("距离下一级还有{}点经验。".format(LV*10+10-xp))
elif command == "2":
buy_time = 1
while buy_time == 1:
print("商店:", shop)
buy = input("输入购买物品序号:")
if buy == "4":
print("已退出商店。")
break
elif buy in shop:
buy_thing=shop[buy]
if money>=buy_thing[1]:
money=money-buy_thing[1]
buy_thing_=thing[buy_thing[0]]
buy_thing_[0]=buy_thing_[0]+1
thing[buy_thing[0]]=buy_thing_
print("购买成功。")
else:
print("金币不足")
else:
print("无此商品")
elif command=="3":
print("背包:",backbag)
elif command=="4":
print("道具:",thing)
elif command=="5":
print("当前金币:{}".format(money))
elif command=="6":
print("当前装备:",zhuangbei)
print("是否更改?1 是 2 否")
xuanze=input("请选择:")
if xuanze=="1":
print("该功能暂不开放。")
elif xuanze=="2":
print("退出装备。")
else:
print("选择出错。")
elif command=="7":
print("现在的技能:",skill)
print("是否更改?1 是 2 否")
new=input("请选择:")
if new=="1":
print("当前可选技能:",skill_old)
tihuan_1=int(input("选择索引:"))
tihuan_2=input("选择替换技能槽:")
skill_old.append(skill[tihuan_2])
skill[tihuan_2]=skill_old[tihuan_1]
skill_old.pop(tihuan_1)
print("替换成功。")
elif new=="2":
print("已退出技能")
else:
print("选择出错。")
if not "回魂喵" in backbag:
print("终究,你还是没救回妹妹。")
time.sleep(2)
print("妹妹喵后不久,你也自刎在屋内。")
time.sleep(2)
print("结局:悲而自刎。")
else:
print("你回到家,用“回魂喵”救回了妹妹。")
time.sleep(2)
print("第一章 结束")
story=2
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn