cout<<"你毫无怜悯的看着被僵尸啃食的村民...\n";
Sleep(1000);
cout<<"两只僵尸都向你冲来!\n";
getch();
fight("僵尸",20,3,0,0,3,5,2,50,0);
fight("僵尸村民",20,3,0,0,3,5,2,0,1);
}else{
cout<<"你冲上前去,挡在了村民前面!\n";
getch();
fight("僵尸",20,3,0,0,3,5,2,100,1);
drop("僵尸");
if(dead){
credit+=5;
cout<<"你击败了僵尸,村民对你无比感激!\n";
getch();
cout<<"村民给了你 2 颗绿宝石!\n";
money+=2;
getch();
}else{
cout<<"在你被僵尸激战时,村民已经去村庄找到了铁傀儡助战!\n";
getch();
cout<<"铁傀儡打败了僵尸并将你救出。\n";
getch();
}
}
break;
case 11:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,6,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
}
}
if(place=="森林"){
int find=rand()%100;
if(find==0){
cout<<"你发现了一个废弃的地狱传送门!\n";
getch();
int obsidian=2+rand()%2,gold=2+rand()%3;
cout<<"你打开箱子,获得了 "<<obsidian<<" 个黑曜石和 "<<gold<<" 个金锭!\n";
bag[65]+=obsidian;
bag[32]+=gold;
getch();
return;
}
switch(1+rand()%9){
case 1:
cout<<"你遇见了一头牛!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("牛",20,2,100,0,3,10,1,50,0);
}else return;
break;
case 2:
cout<<"你遇见了一只羊!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("羊",20,2,100,0,3,10,1,50,0);
}else return;
break;
case 3:
cout<<"你什么也没遇见...\n";
getch();
break;
case 4:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 5:
cout<<"你遇见了流浪商人!\n";
getch();
cout<<"0,离开 1,交易\n";
cin>>choose;
if(choose==1) shop("流浪商人");
else return;
break;
case 6:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 7:
cout<<"你遇见了一只强壮的僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[2]=1;
fight("强壮僵尸",25,5,30,5,3,5,2,250,3);
enemyskill[2]=0;
drop("强壮僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
enemyskill[2]=1;
fight("强壮僵尸",25,5,30,5,3,5,2,250,3);
enemyskill[2]=0;
drop("强壮僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 8:
cout<<"你发现了一颗苹果!\n";
bag[36]++;
getch();
break;
case 9:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,6,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
}
}
if(place=="洞穴"){
int add;
switch(1+rand()%8){
case 1:
cout<<"你什么也没遇见...\n";
getch();
break;
case 2:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 3:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 4://发现铁矿
add=2+rand()%4;
cout<<"你发现了 "<<add<<" 块铁矿石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
return;
}
destroy(100000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[20]<<" "<<add<<" 个!\n";
bag[20]+=add;
cout<<"当前有 "<<itemname[20]<<" "<<bag[20]<<" 个!\n";
getch();
}else return;
break;
case 5://发现金矿
add=2+rand()%2;
cout<<"你发现了 "<<add<<" 块金矿石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
return;
}
destroy(120000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[31]<<" "<<add<<" 个!\n";
bag[31]+=add;
cout<<"当前有 "<<itemname[31]<<" "<<bag[31]<<" 个!\n";
getch();
}else return;
break;
case 6://发现青金石矿
add=3+rand()%4;
cout<<"你发现了 "<<add<<" 块青金石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
return;
}
destroy(90000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[43]<<" "<<add<<" 个!\n";
bag[43]+=add;
experience+=add*15;
cout<<"当前有 "<<itemname[43]<<" "<<bag[43]<<" 个!\n";
getch();
}else return;
break;
case 7://发现钻石矿
add=1+rand()%3;
cout<<"你发现了 "<<add<<" 块钻石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
return;
}
destroy(160000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[44]<<" "<<add<<" 个!\n";
bag[44]+=add;
experience+=add*30;
cout<<"当前有 "<<itemname[44]<<" "<<bag[44]<<" 个!\n";
getch();
}else return;
break;
case 8:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,6,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
}
}
if(place=="沙漠"){
int find=rand()%100;
if(find==0){
cout<<"你发现了一个废弃的地狱传送门!\n";
getch();
int obsidian=2+rand()%2,gold=2+rand()%3;
cout<<"你打开箱子,获得了 "<<obsidian<<" 个黑曜石和 "<<gold<<" 个金锭!\n";
bag[65]+=obsidian;
bag[32]+=gold;
getch();
return;
}
find=rand()%100;
if(find<=10&&desert_temple==false){//10%
cout<<"你正冒险时,突然发现了什么...\n";
Sleep(1000);
getch();
cout<<"你仔细一看,自己的前方是一座神殿!\n";
getch();
cout<<"尘封的沙漠神殿,已被黄沙覆盖,埋藏的宝藏等待着冒险者的发现...\n";
Sleep(1000);
getch();
cout<<"解锁副本:沙漠神殿!\n";
getch();
desert_temple=true;
return;
}
switch(1+rand()%6){
case 1:
cout<<"你什么也没遇见...\n";
getch();
break;
case 2:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 3:
cout<<"你遇见了流浪商人!\n";
getch();
cout<<"0,离开 1,交易\n";
cin>>choose;
if(choose==1) shop("流浪商人");
else return;
break;
case 4:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 5:
cout<<"你遇见了一只尸壳!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("尸壳",24,5,30,5,3,5,2,150,2);
drop("尸壳");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,尸壳发现了你并向你冲来!\n";
getch();
fight("尸壳",24,5,30,5,3,5,2,150,2);
drop("尸壳");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 6:
cout<<"你遇见了一只浑身是沙的骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("沙骷",20,4,20,0,3,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("沙髅",20,4,20,0,3,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
}
}
if(place=="丛林"){
int find=rand()%100;
if(find==0){
cout<<"你发现了一个废弃的地狱传送门!\n";
getch();
int obsidian=2+rand()%2,gold=2+rand()%3;
cout<<"你打开箱子,获得了 "<<obsidian<<" 个黑曜石和 "<<gold<<" 个金锭!\n";
bag[65]+=obsidian;
bag[32]+=gold;
getch();
return;
}
find=rand()%100;
if(find<=10&&jungle_temple==false){//10%
cout<<"你正冒险时,突然发现了什么...\n";
Sleep(1000);
getch();
cout<<"你仔细一看,自己的前方是一座神庙!\n";
getch();
cout<<"远古的丛林神庙,四周遍布青苔,沉睡的怪物是否将会苏醒...\n";
Sleep(1000);
getch();
cout<<"解锁副本:丛林神庙!\n";
getch();
jungle_temple=true;
return;
}
switch(1+rand()%9){
case 1:
cout<<"你遇见了一头牛!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("牛",20,2,100,-10,3,10,1,50,0);
}else return;
break;
case 2:
cout<<"你遇见了一只羊!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("羊",20,2,100,-10,3,10,1,50,0);
}else return;
break;
case 3:
cout<<"你什么也没遇见...\n";
getch();
break;
case 4:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 5:
cout<<"你遇见了流浪商人!\n";
getch();
cout<<"0,离开 1,交易\n";
cin>>choose;
if(choose==1) shop("流浪商人");
else return;
break;
case 6:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,3);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,3);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 7:
cout<<"你遇见了一只强壮的僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[2]=1;
fight("强壮僵尸",25,5,30,5,3,5,2,250,3);
enemyskill[2]=0;
drop("强壮僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
enemyskill[2]=1;
fight("强壮僵尸",25,5,30,5,3,5,2,250,3);
enemyskill[2]=0;
drop("强壮僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 8:
cout<<"你发现了一颗苹果!\n";
bag[36]++;
getch();
break;
case 9:
cout<<"你遇见了一只蜘蛛!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("蜘蛛",20,8,25,-10,4,8+rand()%4,2,300,3);
drop("蜘蛛");
}else return;
break;
}
}
if(place=="雪地"){
int find=rand()%50;
if(find==0){
cout<<"你正在行走时,忽然发现了一个洞穴...\n";
Sleep(1000);
getch();
cout<<"你仔细一看,洞穴四处被厚厚的积雪覆盖,上方还有几根尖锐的冰刺。\n";
Sleep(1000);
getch();
cout<<"直觉告诉你,这里面可能会有宝藏...\n";
getch();
cout<<"要进去吗?\n";
cin>>choose;
cout<<"0,不进 1,进\n";
if(choose==0){
cout<<"你无视了洞穴...\n";
getch();
return;
}else{
cout<<"\n"<<"你走进洞窟之中...\n";
getch();
dungeon("寒冰洞窟");
}
return;
}
if(badguy>=3){
if(badguy>=4){
if(badguy==5){
cout<<"“你准备好了吗?”\n";
cout<<"0,还没有 1,好了\n";
cin>>choose;
if(choose==0){
cout<<"“好吧。那你可以在雪地冒险...”\n";
getch();
system("cls");
}else{
system("cls");
cout<<"“准备好了?”\n";
getch();
help=true;
dungeon("寒冰洞窟");
help=false;
return;
}
}else{
cout<<"准备好了吗?!\n";
getch();
cout<<"开始吧!\n";
getch();
system("cls");
cout<<"一名挑战者用鄙视的眼光看向你,向你冲了过来!\n";
getch();
fight("挑战者",20,4,0,3,3,5,2,200,3);
if(!dead){
cout<<"你被赶下台去,狼狈逃走了\n";
getch();
cout<<"你决定重整旗鼓,以后再继续来挑战!\n";
return;
}
cout<<"另一名身穿重甲的挑战者向你走来,对你发起挑战!\n";
getch();
fight("重甲挑战者",20,4,0,16,3,5,2,300,4);
if(!dead){
cout<<"你被赶下台去,狼狈逃走了\n";
getch();
cout<<"你决定重整旗鼓,以后再继续来挑战!\n";
return;
}
cout<<"场上仅剩你与最后一名挑战者。\n";
getch();
cout<<"对方冷笑一声,便拔出一把长弓向你射出一箭!\n";
getch();
cout<<"你受到了 ";
sc(4);
cout<<"5 点伤害!\n";
sc(7);
Sleep(1000);
health-=5;
cout<<"你还剩 ";
sc(4);
cout<<health<<" 点生命!\n";
sc(7);
if(health<=0){
cout<<"你毫无防备,倒在了地上...\n";
getch();
cout<<"你愤愤不平,发誓之后定要一雪前耻!\n";
health=2;
getch();
place="村庄";
return;
}
getch();
cout<<"你恼羞成怒,向那人冲去!\n";
getch();
enemyskill[4]=1;
fight("长弓挑战者",20,5,0,-5,2,8,6,500,8);
enemyskill[4]=0;
if(!dead){
cout<<"你被赶下台去,狼狈逃走了\n";
getch();
cout<<"你决定重整旗鼓,以后再继续来挑战!\n";
return;
}
system("cls");
credit+=5;
cout<<"那名偷袭的挑战者自知不敌,连忙逃走了。\n";
getch();
cout<<"你通过了选拔!你将会获得寻找宝藏的资格!\n";
getch();
cout<<"此时,一名男人向你缓缓走来。\n";
Sleep(1000);
cout<<"“不愧是恶霸村民推荐过的勇者...能在这么多挑战者中胜利,确实有些本事。”\n";
Sleep(1000);
badguy=5;//探险 开始!
say("现在你可以去为这次探险做准备了...我们会在这等着你。\n",20);
getch();
cout<<"“对了,这是一些绿宝石,收下吧,好好准备,这次探险很危险...”\n";
Sleep(500);
money+=10;
cout<<"获得了 10 颗绿宝石!\n";
getch();
system("cls");
return;
}
}else{
cout<<"你来到雪地,看到了一个公告牌和几个村民。\n";
getch();
cout<<"“我要选出一个足够勇敢的勇士,前往雪地深处找到宝藏!”\n";
getch();
cout<<"你毫不犹豫报了名...\n";
badguy=4;
getch();
system("cls");
Sleep(1000);
cout<<"你将要面对其他的挑战者,与他们战斗后才能得到资格去寻找宝藏!\n";
Sleep(500);
cout<<"现在,你可以去为这次选拔进行准备!\n";
Sleep(500);
cout<<"准备完后,只需回到雪地便可参加选拔...\n";
getch();
return;
}
}
switch(1+rand()%8){
case 1:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("僵尸",20,4,25,0,3,5,2,100,1);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 2:
cout<<"你遇见了一只流浪者!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[41]=1;
fight("流浪者",20,4,20,0,1,6+rand()%4,8,300,3);
enemyskill[41]=0;
drop("流浪者");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,流浪者已经对你瞄准了!\n";
getch();
enemyskill[41]=1;
fight("流浪者",20,4,20,0,1,6+rand()%4,8,300,3);
enemyskill[41]=0;
drop("流浪者");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 3:
cout<<"你遇见了一只巨型雪怪!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[2]=2;
fight("雪怪",36,8,25,20,3,9,3,500,5);
enemyskill[2]=0;
drop("雪怪");
}else return;
break;
case 4:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 5:
cout<<"你遇见了一只浑身是雪的僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("雪人",24,5,25,8,3,5,2,250,3);
drop("寒冰僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸发现了你并向你冲来!\n";
getch();
fight("雪人",24,5,25,8,3,5,2,250,3);
drop("寒冰僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 6:
cout<<"你遇见了流浪商人!\n";
getch();
cout<<"0,离开 1,交易\n";
cin>>choose;
if(choose==1) shop("流浪商人");
else return;
break;
case 7:
cout<<"你什么都没遇见...\n";
getch();
break;
case 8:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,7,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
}
}
if(place=="地狱"){
int find=rand()%100;
if(find==0){
cout<<"你发现了一个废弃的地狱传送门!\n";
getch();
int obsidian=2+rand()%2,gold=2+rand()%3;
cout<<"你打开箱子,获得了 "<<obsidian<<" 个黑曜石和 "<<gold<<" 个金锭!\n";
bag[65]+=obsidian;
bag[32]+=gold;
getch();
return;
}
find=rand()%100;
if(find<=10&&nether_fortress==false){//10%
cout<<"你正冒险时,突然发现了什么...\n";
Sleep(1000);
getch();
cout<<"你仔细一看,自己的前方是一座下界砖铸成的巨大要塞!\n";
getch();
cout<<"解锁新区域:下界要塞!\n";
getch();
nether_fortress=true;
return;
}
switch(1+rand()%6){
case 1:
cout<<"你遇见了一只僵尸猪人!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("僵尸猪人",20,5,0,0,3,6+rand()%3,2,200,2);
drop("僵尸猪人");
system("cls");
if(dead){
cout<<"你正想离开时,引来了一群僵尸猪人!\n";
getch();
fight("僵尸猪人",20,5,0,0,3,6+rand()%3,2,200,2);
drop("僵尸猪人");
if(dead){
cout<<"你杀死了两只僵尸猪人后,连忙逃走了...\n";
getch();
}
}
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
case 2:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,7,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
case 3:
cout<<"你遇见了一头疣猪兽!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("疣猪兽",40,8,50,-5,3,10,4,250,3);
}else{
cout<<"你趁着它扭头的瞬间,悄悄走开了。\n";
getch();
}
break;
case 4:
cout<<"你什么都没遇见...\n";
getch();
break;
case 5:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,骷髅发现了你!\n";
getch();
fight("骷髅",20,4,20,0,1,6+rand()%4,8,250,2);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 6:
cout<<"你遇见了一只猪灵!\n";
cout<<"0,离开 1,靠近\n";
cin>>choose;
if(choose==1){
if(armor1!=3&&armor2!=3&&armor3!=3&&armor4!=3){
cout<<"猪灵愤怒的看向你,手持金剑向你攻击!\n";
getch();
fight("猪灵",16,8,20,5,3,4+rand()%4,2,200,2);
drop("猪灵");
}else{
cout<<"你要?\n";
cout<<"0,交易 1,攻击\n";
cin>>choose;
if(choose==1){
fight("猪灵",16,8,20,5,3,4+rand()%4,2,200,2);
drop("猪灵");
}else{
while(1){
system("cls");
cout<<"当前你有 "<<bag[32]<<" 个金锭。\n";
cout<<"0,离开 1,交易\n";
cin>>choose;
if(choose==0) break;
else{
if(bag[32]<1){
cout<<"猪灵呆呆的看着你,突然好像明白了什么,愤怒的走开了。\n";
getch();
break;
}else{
cout<<"你把一块金锭交给猪灵。\n";
bag[32]--;
getch();
cout<<"猪灵捡起金锭,仔细的端详着...\n";
Sleep(5000+rand()%3000);
getch();
int i,add;
switch(1+rand()%11){
case 1:
i=121,add=1+rand()%3;
break;
case 2:
case 3:
i=14,add=4+rand()%5;
break;
case 4:
case 5:
i=126,add=3+rand()%3;
break;
case 6:
i=1001+rand()%2,add=1;
break;
case 7:
i=4,add=5+rand()%3;
break;
case 8:
i=117+rand()%4,add=1;
break;
case 9:
i=125,add=6+rand()%6;
break;
case 10:
i=132,add=1+rand()%2;
break;
case 11:
i=65,add=1+rand()%3;
break;
}
cout<<"获得 "<<item[i].itemname<<" "<<add<<" 个!\n";
bag[i]+=add;
getch();
}
}
}
}
}
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,猪灵发现了你!\n";
getch();
if(armor1!=3&&armor2!=3&&armor3!=3&&armor4!=3){
cout<<"猪灵愤怒的看向你,手持金剑向你攻击!\n";
getch();
fight("猪灵",16,8,20,5,3,4+rand()%4,2,200,2);
drop("猪灵");
}else{
cout<<"猪灵从你面前经过,没有理会你。\n";
getch();
}
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
}
}
if(place=="下界要塞"){
switch(1+rand()%4){
case 1:
cout<<"你遇见了一只烈焰人!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[44]=1;
fight("烈焰人",20,5,0,0,2,6+rand()%3,6,350,3);
enemyskill[44]=0;
drop("烈焰人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
case 2:
cout<<"你遇见了一只末影人!\n";
cout<<"0,离开 1,注视\n";
cin>>choose;
if(choose==1){
fight("末影人",40,7,30,-10,9999,5,3,300,3);
drop("末影人");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
case 3:
cout<<"你遇见了一只凋零骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
enemyskill[45]=1;
fight("凋零骷髅",30,7,0,0,3,5+rand()%3,2,350,3);
enemyskill[45]=0;
drop("凋零骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
break;
case 4:
cout<<"你什么都没遇见...\n";
getch();
break;
}
}
if(place=="末地")
if(place=="边境之地"){
switch(1+rand()%2){
case 1:
cout<<"你遇见了一只僵尸!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("_僵尸",50,12,50,20,4,8+rand()%4,2,1000,10);
drop("僵尸");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,僵尸冷冷的扫视了你一眼...并向你冲来!\n";
getch();
fight("_僵尸",50,12,50,20,4,8+rand()%4,2,1000,10);
drop("僵尸");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
case 2:
cout<<"你遇见了一只骷髅!\n";
cout<<"0,离开 1,击杀\n";
cin>>choose;
if(choose==1){
fight("骷髅_",40,10,40,15,3,8+rand()%6,10,1500,12);
drop("骷髅");
}else{
choose=rand()%2;
if(choose==1){
cout<<"你正欲离开时,一支箭射在了你的身前...\n";
getch();
fight("骷髅_",40,10,40,15,3,8+rand()%6,10,1500,12);
drop("骷髅");
}else{
cout<<"你悄悄走开了。\n";
getch();
}
}
break;
}
}
system("cls");
return;
}
void go(){//前进 更改地点
system("cls");
SetConsoleTitle("--前进--");
cout<<"你要去哪里?\n";
cout<<"0,返回 1,村庄 2,平原 3,森林 4,洞穴 5,沙漠 6,丛林 7,雪地 8,地狱 9,末地";
cout<<"\n";
if(farland) cout<<"11,边境之地 ";
if(jungle_temple) cout<<"12,丛林神庙 ";
if(nether_fortress) cout<<"13,下界要塞 ";
if(desert_temple) cout<<"14,沙漠神殿 ";
cout<<"\n";
cin>>choose;
string ps[20]={"0","村庄","平原","森林","洞穴","沙漠","丛林","雪地","地狱","末地","10","边境之地","丛林神庙","下界要塞","沙漠神殿"};
if(choose==0) return;
if(place==ps[choose]){
cout<<"你已经在"<<place<<"了!\n";
Sleep(1000);
go();
return;
}
switch(choose){
case 0:
return;
break;
case 1:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="村庄";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 2:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="平原";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 3:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="森林";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 4:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="洞穴";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
case 5:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="沙漠";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 6:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="丛林";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 7:
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="雪地";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
break;
case 8:
if(nether){
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="地狱";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
}else{
cout<<"无法前进,你没有建造/发现地狱传送门\n";
Sleep(1000);
go();
}
break;
case 9:
if(ender){
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="末地";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
}else{
cout<<"无法前进,你没有发现末地传送门\n";
Sleep(1000);
go();
}
break;
case 11:
if(farland){
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="边境之地";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
}
break;
case 12:
if(jungle_temple){
dungeon("丛林神庙");
return;
}
break;
case 13:
if(nether_fortress){
if(place!="地狱"){
cout<<"当前无法前进至此处!\n";
Sleep(1000);
go();
return;
}
cout<<"前进中...\n";
Sleep(3000);
system("cls");
place="下界要塞";
cout<<"已到达 "<<place<<"!\n";
Sleep(1000);
return;
}
break;
case 14:
if(desert_temple){
dungeon("沙漠神殿");
return;
}
break;
}
return;
}
void chop(string place){//砍树
cout<<"发现树木!\n";
Sleep(1000);
cout<<"开始砍树...\n";
Sleep(1000);
system("cls");
destroy(360000,tool1speed[tool1]);
if(place=="平原"||place=="森林"){
int add=5+rand()%8;
cout<<"获得橡木 "<<add<<" 个!\n";
bag[1]+=add;
cout<<"当前拥有橡木 "<<bag[1]<<" 个\n";
Sleep(2000);
}
if(place=="丛林"){
int add=7+rand()%3;
cout<<"获得丛林木 "<<add<<" 个!\n";
bag[2]+=add;
cout<<"当前拥有丛林木 "<<bag[2]<<" 个\n";
Sleep(2000);
}
if(place=="雪地"){
int add=8+rand()%6;
cout<<"获得针叶木 "<<add<<" 个!\n";
bag[3]+=add;
cout<<"当前拥有针叶木 "<<bag[3]<<" 个\n";
Sleep(2000);
}
if(place=="地狱"){
int add=6+rand()%6;
cout<<"获得绯红木 "<<add<<" 个!\n";
bag[4]+=add;
cout<<"当前拥有绯红木 "<<bag[4]<<" 个\n";
Sleep(3000);
}
int apple=1+rand()%3,appleadd=1+rand()%2;
if(apple==3&&place!="地狱"){
cout<<"你在树上发现了 "<<appleadd<<" 个苹果!\n";
bag[36]+=appleadd;
Sleep(2000);
}
return;
}
void tree(string place){//砍树
if(place=="村庄"){
system("cls");
cout<<"似乎这里没有树...难道你想拆了村民的房子?\n\n";
cout<<"系统提示:请去别的地方砍树!\n";
Sleep(1500);
return;
}
if(place=="洞穴"){
system("cls");
cout<<"洞穴里只有坚硬的石头,没有树...\n\n";
cout<<"系统提示:请去别的地方砍树!\n";
Sleep(1500);
return;
}
if(place=="沙漠"){
system("cls");
cout<<"似乎这里没有树,有的只是长满了尖刺的仙人掌...\n\n";
cout<<"系统提示:请去别的地方砍树!\n";
Sleep(1500);
return;
}
if(place=="末地"){
system("cls");
cout<<"紫菘果可不是木头!\n\n";
cout<<"系统提示:请去别的地方砍树!\n";
Sleep(1500);
return;
}
system("cls");
if(tool1==0){
cout<<"看起来你没有斧子,但凭坚硬的双手,也许可以拿下这些木头...\n\n";
cout<<"如果你有一把斧子,会大大加快砍树的速度。\n";
Sleep(1000);
cout<<"\n";
}
cout<<"当前你装备:";
cout<<tool1name[tool1]<<"\n"<<"\n";
cout<<"提示:你所处的位置会影响你发现树木的速度。\n";
cout<<" 同时,你装备的斧头会决定你砍伐树木的速度。\n\n";
Sleep(2000);
cout<<"0,返回 1,砍树\n";
cin>>choose;
system("cls");
if(choose==1){
if(place=="平原"){
cout<<"大约需要 20 秒...\n";
cout<<"寻找树木中...\n";
Sleep(16000+rand()%8000);
chop("平原");
}
if(place=="森林"){
cout<<"大约需要 5 秒...\n";
cout<<"寻找树木中...\n";
Sleep(3000+rand()%4000);
chop("森林");
}
if(place=="丛林"){
cout<<"大约需要 10 秒...\n";
cout<<"寻找树木中...\n";
Sleep(6000+rand()%8000);
chop("丛林");
}
if(place=="雪地"){
cout<<"大约需要 30 秒...\n";
cout<<"寻找树木中...\n";
Sleep(25000+rand()%10000);
chop("雪地");
}
if(place=="地狱"){
cout<<"大约需要 10 秒...\n";
cout<<"寻找树木中...\n";
Sleep(6000+rand()%8000);
chop("地狱");
}
}
else return;
}
void dig(string place){//挖矿
while(1){
if(place!="洞穴"&&place!="地狱"){
cout<<"此处无法挖矿!请去其他地方挖矿!\n";
Sleep(1500);
return;
}
if(tool2==0){
cout<<"空手无法挖矿!请装备稿子后再来挖矿!\n";
Sleep(2000);
return;
}
system("cls");
cout<<"现在你在:"<<place<<"\n";
cout<<"你现在装备:"<<tool2name[tool2]<<"\n"<<"\n";
cout<<"提示:一些矿石只有特定的或足够好的稿子才能挖掘。\n";
cout<<" 同时,你装备的稿子会决定你挖掘矿石的速度。\n\n";
if(place=="洞穴"){
cout<<"0,返回 1,挖矿\n";
cin>>choose;
if(choose==1){
cout<<"0,挖圆石 1,挖矿物\n";
cin>>choose;
if(choose==0){//挖石头
cout<<"你要挖多少块圆石?\n";
cin>>choose;
if(choose>64){
cout<<"数量太多,无法执行操作!\n";
getch();
return;
}
cout<<"开始挖掘...\n";
Sleep(2000);
system("cls");
destroy(60000*choose,tool2speed[tool2]);
cout<<"获得圆石 "<<choose<<" 个!\n";
bag[14]+=choose;
cout<<"当前拥有圆石 "<<bag[14]<<" 个\n";
Sleep(2000);
return;
}else{//挖矿石
system("cls");
cout<<"探索矿洞中...\n";
int figh=rand()%8;//1/4的概率还是高了?我觉得应该强迫带武器下矿。
if(figh==0){
Sleep(2000+rand()%1000);
figh=1+rand()%2;
if(figh==1){
cout<<"你遇到了僵尸!\n";
getch();
fight("僵尸",20,3,40,0,3,5+rand()%5,2,90+rand()%60,1);
drop("僵尸");
return;
}else{
cout<<"你遇到了骷髅!\n";
getch();
fight("骷髅",20,3,30,0,1,8+rand()%4,10,150+rand()%100,2);
drop("骷髅");
return;
}
}
Sleep(4000+rand()%6000);
int add;
switch(1+rand()%6){
case 1://发现煤炭
add=8+1+rand()%8;
cout<<"你发现了 "<<add<<" 块煤炭!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
destroy(80000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[19]<<" "<<add<<" 个!\n";
bag[19]+=add;
experience+=add*5;
cout<<"当前有 "<<itemname[19]<<" "<<bag[19]<<" 个!\n";
Sleep(2000);
continue;
}else continue;
break;
case 2://发现铁矿
add=2+1+rand()%8;
cout<<"你发现了 "<<add<<" 块铁矿石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
continue;
}
destroy(100000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[20]<<" "<<add<<" 个!\n";
bag[20]+=add;
cout<<"当前有 "<<itemname[20]<<" "<<bag[20]<<" 个!\n";
Sleep(2000);
continue;
}else continue;;
break;
case 3://发现金矿
add=4+1+rand()%3;
cout<<"你发现了 "<<add<<" 块金矿石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
continue;
}
destroy(120000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[31]<<" "<<add<<" 个!\n";
bag[31]+=add;
cout<<"当前有 "<<itemname[31]<<" "<<bag[31]<<" 个!\n";
Sleep(2000);
continue;
}else continue;
break;
case 4://发现青金石矿
add=6+1+rand()%6;
cout<<"你发现了 "<<add<<" 块青金石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
continue;
}
destroy(90000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[43]<<" "<<add<<" 个!\n";
bag[43]+=add;
experience+=add*15;
cout<<"当前有 "<<itemname[43]<<" "<<bag[43]<<" 个!\n";
Sleep(2000);
continue;
}else continue;
break;
case 5://发现钻石
add=2+1+rand()%4;
cout<<"你发现了 "<<add<<" 块钻石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!\n";
Sleep(2000);
continue;
}
destroy(160000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[44]<<" "<<add<<" 个!\n";
bag[44]+=add;
experience+=add*30;
cout<<"当前有 "<<itemname[44]<<" "<<bag[44]<<" 个!\n";
Sleep(2000);
continue;
}else continue;
break;
case 6://发现黑曜石
add=2+1+rand()%3;
cout<<"你发现了 "<<add<<" 块黑曜石!\n";
Sleep(1000);
cout<<"0,离开 1,挖掘\n";
cin>>choose;
if(choose==1){
system("cls");
if(tool2<5){
cout<<"当前稿子无法挖掘黑曜石!\n";
Sleep(2000);
continue;
}
destroy(600000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[65]<<" "<<add<<" 个!\n";
bag[65]+=add;
cout<<"当前有 "<<itemname[65]<<" "<<bag[65]<<" 个!\n";
getch();
continue;
}else continue;
break;
}
}
}else return;
}
if(place=="地狱"){
cout<<"0,返回 1,挖矿\n";
cin>>choose;
if(choose==1){
cout<<"1,挖矿\n";
cin>>choose;
if(choose==1){
system("cls");
cout<<"探索地狱中...\n";
cout<<"这个过程可能会有些漫长,耐心等待...\n";
choose=1+rand()%5;
if(choose==5) Sleep(20000+rand()%12000);
else Sleep(6000+rand()%6000);
system("cls");
int add;
if(choose==5) add=1+rand()%2,cout<<"你发现了 "<<add<<" 块远古残骸!\n";//1/5?
if(choose==1||choose==2) add=4+rand()%4,cout<<"你发现了 "<<add<<" 块下界金矿!\n";
if(choose==3||choose==4) add=3+rand()%8,cout<<"你发现了 "<<add<<" 块下界石英!\n";
Sleep(1000);
int a;
cout<<"0,离开 1,挖掘\n";
cin>>a;
if(a==0) continue;
if(choose==5){
if(tool2<5){
cout<<"当前稿子无法挖掘远古残骸!\n";
Sleep(2000);
continue;
}else{
destroy(500000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[55]<<" "<<add<<" 个!\n";
bag[55]+=add;
cout<<"当前有 "<<itemname[55]<<" "<<bag[55]<<" 个!\n";
}
}
if(choose==1||choose==2){//金矿
destroy(90000*add,tool2speed[tool2]);
add=add*(3+rand()%3)+rand()%add;
cout<<"挖掘完毕!获得 "<<itemname[125]<<" "<<add<<" 个!\n";
bag[125]+=add;
cout<<"当前有 "<<itemname[125]<<" "<<bag[125]<<" 个!\n";
}
if(choose==3||choose==4){
destroy(100000*add,tool2speed[tool2]);//石英
cout<<"挖掘完毕!获得 "<<itemname[126]<<" "<<add<<" 个!\n";
bag[126]+=add;
experience+=add*20;
cout<<"当前有 "<<itemname[126]<<" "<<bag[126]<<" 个!\n";
}
getch();
continue;
}else continue;
}else return;
}
}
}
void jvqing(){//剧情输出
system("cls");
cout<<"加载剧情中...\n";
Sleep(2000);
cout<<"加载完毕!\n";
Sleep(1000);
system("cls");
Sleep(500);
say("很久很久之前......虚空中有两位神,分别是Notch和Herobrine。\n\n",50);
Sleep(1000);
say("他们是一对兄弟,两人本来平安无事。Notch与Herobrine共同联手,消耗了大量的神力,创造了一个方块世界。\n\n",50);
Sleep(1000);
say("之后,Notch又创造出了人类,动物,使整个世界充满了生机。\n\n",50);
Sleep(1000);
say("但他的弟弟Herobrine与他相反,他痴迷于毁灭,还创造出了亡灵大军。\n\n",50);
Sleep(1000);
say("两人意见很快便不合,最终Notch与Herobrine彻底决裂,势不两立。\n\n",50);
Sleep(1000);
say("Herobrine率领着众多亡灵,血洗了方块大陆上的几乎一切生灵......\n\n",50);
Sleep(1000);
say("Notch耗尽了近乎所有的神力,才在地狱将Herobrine封印了。\n\n",50);
Sleep(1000);
say("但尽管如此,Herobrine创造出的亡灵也早已遍布世界,无法根除。\n\n",50);
Sleep(1000);
say("而Herobrine也积蓄着力量,集结着黑暗的势力准备反扑。\n\n",50);
Sleep(1000);
getch();
system("cls");
say("......",350);
say("数百年过去了,和平安宁的景象即将被打破......\n\n",50);
Sleep(1500);
say("能够拯救这个世界的,",40);
say("就只有--",70);
Sleep(300);
say("你,才能拯救世界,打败Herobrine,保护世界的和平!\n\n",45);
Sleep(2500);
say("属于你的传奇,现在开始......\n\n",70);
//真是太中二了!(((
getch();
return;
}
void show_recipe(int x){//打印合成配方
cout<<"\n";
cout<<"以下为所有与 "<<item[x].itemname<<" 关联的合成配方!\n";
cout<<"若未显示则为无配方\n\n";
for(int i=1;i<=500;i++){
if(craft[i].num1==x||craft[i].num2==x||craft[i].num3==x||craft[i].num4==x){
cout<<"编号"<<i<<": ";
switch(craft[i].condition1){//不同要求 真的太细了(
case 2:
cout<<"熔炼 ";
break;
case 3:
cout<<"锻造 ";
break;
default:
cout<<"合成 ";
break;
}
cout<<item[craft[i].num1].itemname<<"x"<<craft[i].amount1<<" 需要 ";
cout<<item[craft[i].num2].itemname<<"x"<<craft[i].amount2<<" ";
if(craft[i].amount3>0) cout<<","<<item[craft[i].num3].itemname<<"x"<<craft[i].amount3<<" ";
if(craft[i].amount4>0) cout<<","<<item[craft[i].num4].itemname<<"x"<<craft[i].amount4<<" ";
cout<<"\n";
}
}
getch();
return;
}
void checkbag(){//检查背包
SetConsoleTitle("--背包--");
cout<<"显示顺序为 编号-物品名-数量\n\n";
cout<<"若未显示则为无物品\n\n";
cout<<"输入物品编号可查看物品信息/交互\n\n";
for(int i=1;i<=1000;i++){
if(bag[i]!=0){
if(item[i].level==0||item[i].level>hide_level){
cout<<"编号 "<<i<<" "<<itemname[i]<<" 数量:"<<bag[i]<<" 个";
if(item[i].type!=0) cout<<" <可装备>";
}else cout<<"<Hidden>";
cout<<"\n";
if(wide) cout<<"\n";
}
else continue;
}
for(int i=1001;i<1020;i++){
if(bag[i]!=0){
cout<<"编号 "<<i<<" "<<itemname[i]<<" 数量:"<<bag[i]<<" 个\n";
if(wide) cout<<"\n";
}
else continue;
}
for(int i=1;i<10;i++){
if(arrow[i]!=0){
cout<<"箭矢 "<<i<<" "<<arrowname[i]<<" 数量:"<<arrow[i]<<" 个\n";
if(wide) cout<<"\n";
}
else continue;
}
cout<<"\n"<<"输入 0 返回\n";
cin>>choose;
if(choose==0) return;
if(bag[choose]<=0){
cout<<"请勿乱输!\n";
getch();
return;
}
system("cls");
cout<<"编号:"<<choose<<"\n";
cout<<"物品:"<<item[choose].itemname<<"\n";
cout<<"出售:";
if(item[choose].sell_num) cout<<"每 "<<item[choose].sell_num<<" 个 价值 "<<item[choose].sell_price<<" 绿宝石\n";
else cout<<"无价\n";
switch(item[choose].type){
case 0:cout<<"类型:材料/物品\n";break;
case 1:cout<<"类型:主手武器\n";break;
case 2:cout<<"类型:副手武器\n";break;
case 3:cout<<"类型:斧\n";break;
case 4:cout<<"类型:稿\n";break;
case 5:cout<<"类型:头盔\n";break;
case 6:cout<<"类型:胸甲\n";break;
case 7:cout<<"类型:护腿\n";break;
case 8:cout<<"类型:靴子\n";break;
}
if(item[choose].type){
cout<<"<可装备>\n";
}
sc(2);
cout<<"输入‘r’以查看所有与此物品有关的合成配方!\n\n";
sc(7);
//cout<<item[choose].level;
cout<<"描述:";
switch(choose){
case 0:return;break;
case 1:cout<<"基础的木头,可在平原,森林砍树获得。可以制作橡木木板。\n";break;
case 2:cout<<"基础的木头,可在丛林砍树获得。可以制作丛林木板。\n";break;
case 3:cout<<"基础的木头,可在雪地砍树获得。可以制作针叶木木板。\n";break;
case 4:cout<<"来自地狱的木头,能防火,可在地狱砍树获得。可以制作绯红木板。\n";break;
case 5:cout<<"基础的木板,可以制作各种木制品。\n";break;
case 6:cout<<"基础的木板,可以制作各种木制品。\n";break;
case 7:cout<<"基础的木板,可以制作各种木制品。\n";break;
case 8:cout<<"来自地狱的木板,能防火,可以制作各种木制品。\n";break;
case 9:cout<<"一个制作站,在<建造>中将其放置便可合成更多新物品。\n"<<"“这是,工作台?”。\n";break;
case 10:cout<<"木制的棍子,是组装武器和工具必备的材料。\n";break;
case 11:cout<<"木制的剑,简单好用。\n";break;
case 12:cout<<"木制的斧,可略微提升砍树的速度。\n";break;
case 13:cout<<"木制的稿,可以挖掘石头和煤炭。\n"<<"“挖矿时间到”!\n"; break;
case 14:cout<<"地下四处可采集的石头,是制作石制工具的必要材料。\n";break;
case 15:cout<<"石质的剑,朴实无华,简单耐用。\n";break;
case 16:cout<<"石质的斧,可小幅提升砍树的速度。\n";break;
case 17:cout<<"石质的稿,比木稿的挖掘速度更快,还可挖掘铁矿。\n";break;
case 18:cout<<"“热门话题”!在<建造>中将其放置便可熔炼矿物。\n";break;
case 19:cout<<"基础的燃料,可用于熔炼矿物。\n";break;
case 20:cout<<"中级的矿石,将其用熔炉熔炼可获得铁锭。\n";break;
case 21:cout<<"中级的矿锭,可以制作精良的铁质装备。\n"<<"“来硬的”!\n";break;
case 22:cout<<"铁质的剑,锋利耐用,是优秀的武器。\n"; break;
case 23:cout<<"铁质的斧,可较快提升砍树速度。\n";break;
case 24:cout<<"铁质的稿,可以挖掘钻石,金矿石等中级矿物,且可较快提升挖掘速度。\n";break;
case 25:cout<<"铁质的头盔,可抵挡受到的伤害。\n";cout<<"“整装上阵”!\n"; break;
case 26:cout<<"铁质的胸甲,可抵挡受到的伤害。\n";cout<<"“整装上阵”!\n"; break;
case 27:cout<<"铁质的护腿,可抵挡受到的伤害。\n";cout<<"“整装上阵”!\n"; break;
case 28:cout<<"铁质的靴子,可抵挡受到的伤害。\n";cout<<"“整装上阵”!\n"; break;
case 29:cout<<"防御的盾牌,可以大幅抵挡自己受到的伤害。\n"; cout<<"“抱歉,今天不行”\n"; break;
case 30:cout<<"优秀的远程武器,使用箭作为弹药。\n"; break;
case 31:cout<<"中高级的矿石,将其用熔炉熔炼可获得金锭。\n"; break;
case 32:cout<<"中高级的矿锭,可以制作速度极快的金质装备。\n"; break;
case 33:cout<<"金质的剑,但效果不尽人意。\n"; break;
case 34:cout<<"金质的斧,速度极快。\n"; break;
case 35:cout<<"金质的稿,速度极快。\n"; break;
case 36:cout<<"美味的水果,可以在砍树时获得。可以合成金苹果。\n"; break;
case 37:
cout<<"镀了金的苹果,可恢复 5 点生命。可以合成钻石苹果。\n";
cout<<"0,返回 1,使用\n";
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[37]--;
cout<<"你使用了金苹果!\n";
int recover=5;
Sleep(500);
cout<<"你回复了 ";
sc(4);
cout<<recover<<" 点生命!\n";
sc(7);
Sleep(500);
health+=min(recover,maxhealth-health);
cout<<"当前你有 ";
sc(4);
cout<<health<<" 点生命!\n";
sc(7);
getch();
}
break;
case 38:cout<<"击杀蜘蛛掉落的丝,可制作弓。\n"; cout<<"“丝绸之路”。\n"; break;
case 39:cout<<"金质的头盔,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。\n"; break;
case 40:cout<<"金质的胸甲,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。\n"; break;
case 41:cout<<"金质的护腿,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。\n"; break;
case 42:cout<<"金质的靴子,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。\n"; break;
case 43:cout<<"蕴含着强大魔力的矿石,可以提升魔力......\n"; break;
case 44:cout<<"中高级的矿石,可以制作钻石装备。\n"; break;
case 45:cout<<"钻石的剑,可以使用下界合金锭升级。\n"; break;
case 46:cout<<"钻石的斧,可大幅提升砍树速度。\n"; break;
case 47:cout<<"钻石的稿,速度较快,可以挖掘黑曜石。\n"; break;
case 48:cout<<"钻石的头盔,可抵挡受到的伤害。\n";cout<<"“钻石护体”!\n"; break;
case 49:cout<<"钻石的胸甲,可抵挡受到的伤害。\n";cout<<"“钻石护体”!\n"; break;
case 50:cout<<"钻石的护腿,可抵挡受到的伤害。\n";cout<<"“钻石护体”!\n"; break;
case 51:cout<<"钻石的靴子,可抵挡受到的伤害。\n";cout<<"“钻石护体”!\n"; break;
case 52:cout<<"钻石制成的块,可以合成钻石苹果。\n"; break;
case 53:
cout<<"钻石与金苹果结合的造物,可以增加";
sc(4);
cout<<"血量上限。\n";
sc(7);
cout<<"注:你已使用了 "<<diamondapple<<" 次钻石苹果。最多使用 2 次。\n";
cout<<"0,返回 1,使用\n";
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
if(diamondapple<2){
cout<<"你使用了钻石苹果!\n";
getch();
cout<<"你增加了";
sc(4);
cout<<" 5 点生命上限!\n";
sc(7);
maxhealth+=5;
getch();
diamondapple++;
bag[53]--;
cout<<"你还可使用 "<<2-diamondapple<<" 个钻石苹果。\n";
}else{
cout<<"你已达使用上限!\n";
}
}
break;
case 54:cout<<"一个坚固的锻造台,可以锻造出下界合金装备。\n"; break;
case 55:cout<<"地狱经历数千年打磨,坚固强大的矿石。\n"; break;
case 56:cout<<"坚硬的合金碎片,由远古残骸烧制而成。可以合成下界合金锭。\n"; break;
case 57:cout<<"坚硬而耐用的合金锭,可以将钻石装备锻造成下界合金装备。\n"; break;
case 58:cout<<"由钻石剑和下界合金锭升级而成的宝剑。\n"; break;
case 59:cout<<"由钻石稿和下界合金锭升级而成的稿子。\n"; break;
case 60:cout<<"由钻石斧和下界合金锭升级而成的斧子。\n"; break;
case 61:cout<<"由钻石头盔和下界合金锭升级而成的头盔。\n";sc(5);cout<<"“残骸裹身”!\n";sc(7); break;
case 62:cout<<"由钻石胸甲和下界合金锭升级而成的护甲。\n";sc(5);cout<<"“残骸裹身”!\n";sc(7); break;
case 63:cout<<"由钻石护腿和下界合金锭升级而成的护腿。\n";sc(5);cout<<"“残骸裹身”!\n";sc(7); break;
case 64:cout<<"由钻石靴子和下界合金锭升级而成的靴子。\n";sc(5);cout<<"“残骸裹身”!\n";sc(7); break;
case 65:cout<<"滚烫的熔岩与水冷却后形成的坚硬石头,蕴含着神秘而未知的力量...\n"; break;
case 105:cout<<"流浪商人出售的宝剑。\n"; break;
case 106:cout<<"流浪商人出售的斧子,可较快提升砍树速度。\n"; break;
case 107:cout<<"流浪商人出售的稿子,尽管有些钝了,却仍然能挖掘大部分矿石。\n"; break;
case 108:cout<<"流浪商人出售的头盔,可抵挡受到的伤害。\n"; break;
case 109:cout<<"流浪商人出售的胸甲,可抵挡受到的伤害。\n"; break;
case 110:cout<<"流浪商人出售的护腿,可抵挡受到的伤害。\n"; break;
case 111:cout<<"流浪商人出售的靴子,可抵挡受到的伤害。\n"; break;
case 112:cout<<"狙击骷髅使用的弓,比普通的弓更强,威力巨大,精准无比。\n"; break;
case 113:cout<<"皮革制成的头盔,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 114:cout<<"皮革制成的胸甲,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 115:cout<<"皮革制成的护腿,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 116:cout<<"皮革制成的靴子,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 117:cout<<"锁链制成的头盔,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 118:cout<<"锁链制成的胸甲,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 119:cout<<"锁链制成的护腿,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 120:cout<<"锁链制成的靴子,常见于某些不死生物身上,可抵挡受到的伤害。\n"; break;
case 121:cout<<"击杀末影人掉落的球体,与另一个维度似乎有着神秘的联系...\n可用于合成末影之眼。\n"; break;
case 122:cout<<"烈焰人身上环绕的棍棒,摸上去还有些烫手。\n可分解成烈焰粉。\n"; break;
case 123:cout<<"烈焰棒分解得到的炽热粉尘。\n可用于合成末影之眼。\n"; break;
case 124:cout<<"一颗栩栩如生的眼睛,看着令人有些发毛...\n它似乎随时都会从你的手中飞离...\n"; break;
case 125:cout<<"一些小块的金锭碎片。\n"; break;
case 126:cout<<"一种在地狱常见而美丽的白色岩石,能卖个好价钱。\n"; break;
case 127:cout<<"一个更高级的制作台,允许你制作更强大的装备。\n"; break;
case 128:cout<<"远古丛林自然之力的精华,蕴含着远古的力量。\n可在中极工作台处制作远古锭。\n"; break;
case 129:cout<<"附着了远古精华力量的矿锭,蕴含着远古的力量。\n可制作远古装备。\n"; break;
case 130:cout<<"使用远古锭制作的宝剑。蕴含着远古之力,威力强大。\n"; break;
case 131:cout<<"使用远古锭制作的斧子。蕴含着远古之力,可大幅提升砍树速度。\n"; break;
case 132:cout<<"使用远古锭制作的稿子。蕴含着远古之力,可大幅提升挖掘速度。\n"; break;
case 133:cout<<"使用远古锭制作的头盔。蕴含着远古之力,能很好的抵挡受到的伤害。\n"; break;
case 134:cout<<"使用远古锭制作的胸甲。蕴含着远古之力,能很好的抵挡受到的伤害。\n"; break;
case 135:cout<<"使用远古锭制作的护腿。蕴含着远古之力,能很好的抵挡受到的伤害。\n"; break;
case 136:cout<<"使用远古锭制作的靴子。蕴含着远古之力,能很好的抵挡受到的伤害。\n"; break;
case 145:cout<<"附着了寒冰精华力量的矿锭,蕴含着寒冰的力量。\n可制作寒冰装备。\n"; break;
case 146:cout<<"使用寒冰锭制作的宝剑。蕴含着寒冰之力,威力强大。\n"; break;
case 147:cout<<"使用寒冰锭制作的斧子。蕴含着寒冰之力,可大幅提升砍树速度。\n"; break;
case 148:cout<<"使用寒冰锭制作的稿子。蕴含着寒冰之力,可大幅提升挖掘速度。\n"; break;
case 149:cout<<"使用寒冰锭制作的头盔。蕴含着寒冰之力,能很好的抵挡受到的伤害。\n"; break;
case 150:cout<<"使用寒冰锭制作的胸甲。蕴含着寒冰之力,能很好的抵挡受到的伤害。\n"; break;
case 151:cout<<"使用寒冰锭制作的护腿。蕴含着寒冰之力,能很好的抵挡受到的伤害。\n"; break;
case 152:cout<<"使用寒冰锭制作的靴子。蕴含着寒冰之力,能很好的抵挡受到的伤害。\n"; break;
case 161:cout<<"远古雪地寒冰之力的精华,蕴含着寒冰的力量。\n可在中极工作台处制作寒冰锭。\n"; break;
case 162:cout<<"远古沙漠沙尘之力的精华,蕴含着沙尘的力量。\n可在中极工作台处制作沙尘锭。\n"; break;
case 163:cout<<"附着了沙尘精华力量的矿锭,蕴含着沙尘的力量。\n可制作沙尘装备。\n"; break;
case 164:cout<<"使用沙尘锭制作的宝剑。蕴含着沙尘之力,威力强大。\n"; break;
case 165:cout<<"使用沙尘锭制作的斧子。蕴含着沙尘之力,可大幅提升砍树速度。\n"; break;
case 166:cout<<"使用沙尘锭制作的稿子。蕴含着沙尘之力,可大幅提升挖掘速度。\n"; break;
case 167:cout<<"使用沙尘锭制作的头盔。蕴含着沙尘之力,能很好的抵挡受到的伤害。\n"; break;
case 168:cout<<"使用沙尘锭制作的胸甲。蕴含着沙尘之力,能很好的抵挡受到的伤害。\n"; break;
case 169:cout<<"使用沙尘锭制作的护腿。蕴含着沙尘之力,能很好的抵挡受到的伤害。\n"; break;
case 170:cout<<"使用沙尘锭制作的靴子。蕴含着沙尘之力,能很好的抵挡受到的伤害。\n"; break;
case 180:cout<<"远古下界熔火之力的精华,蕴含着火焰之力。\n可在中极工作台处制作熔火锭。\n"; break;
case 181:cout<<"附着了熔火精华力量的矿锭,蕴含着火焰之力。\n可制作熔火装备。\n"; break;
case 182:cout<<"使用熔火锭制作的宝剑。蕴含着火焰之力,威力强大。\n"; break;
case 183:cout<<"使用熔火锭制作的弓。蕴含着火焰之力,命中敌人时有概率使敌人着火!\n"; break;
case 184:cout<<"使用熔火锭制作的斧子。蕴含着火焰之力,可大幅提升砍树速度。\n"; break;
case 185:cout<<"使用熔火锭制作的稿子。蕴含着火焰之力,可大幅提升挖掘速度。\n"; break;
case 186:cout<<"使用熔火锭制作的头盔。蕴含着火焰之力,能很好的抵挡受到的伤害。\n"; break;
case 187:cout<<"使用熔火锭制作的胸甲。蕴含着火焰之力,能很好的抵挡受到的伤害。\n"; break;
case 188:cout<<"使用熔火锭制作的护腿。蕴含着火焰之力,能很好的抵挡受到的伤害。\n"; break;
case 189:cout<<"使用熔火锭制作的靴子。蕴含着火焰之力,能很好的抵挡受到的伤害。\n"; break;
case 190:cout<<"凋零骷髅的头颅,上下都透露着不祥的气息...\n"; break;
case 1001:
cout<<"I 级治疗系药水,可以恢复 20 % 的生命。最多恢复 5 点生命值。\n";
cout<<"使用后,会冷却 1 回合。\n";
cout<<"0,返回 1,使用\n";
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[1001]--;
cout<<"你使用了治疗药水!\n";
int recover=min(5,maxhealth/5);
Sleep(500);
cout<<"你回复了 ";
sc(4);
cout<<recover<<" 点生命!\n";
sc(7);
Sleep(500);
health+=min(recover,maxhealth-health);
cout<<"当前你有 ";
sc(4);
cout<<health<<" 点生命!\n";
sc(7);
getch();
}
break;
case 1002:
cout<<"I 级魔力系药水,可以恢复 30 % 的魔力。最多恢复 4 点魔力值。\n";
cout<<"使用后,会冷却 1 回合。\n";
cout<<"0,返回 1,使用\n";
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[1001]--;
cout<<"你使用了魔力药水!\n";
int recover=min(4,maxmagic/5);
Sleep(500);
cout<<"你回复了 ";
sc(1);
cout<<recover<<" 点魔力!\n";
sc(7);
Sleep(500);
magic+=min(recover,maxmagic-magic);
cout<<"当前你有 ";
sc(1);
cout<<magic<<" 点魔力!\n";
sc(7);
getch();
}
break;
}
c_choose=getch();
if(c_choose=='r'){
show_recipe(choose);
}
system("cls");
checkbag();
return;
}
void weapon(){//装备
/*
i spent much much much much time to make this.
though it was a long time ago.
*/
system("cls");
cout<<"以下为你背包中可装备的物品。\n\n";
for(int i=1;i<=1000;i++){
if(bag[i]!=0&&item[i].type!=0){
cout<<"编号 "<<i<<" "<<itemname[i]<<" 数量:"<<bag[i]<<" 个\n";
}
else continue;
}
cout<<"\n";
cout<<"当前你装备头盔:"<<armor1name[armor1]<<"(+"<<armor1defense[armor1]<<")\n";
cout<<"当前你装备胸甲:"<<armor2name[armor2]<<"(+"<<armor2defense[armor2]<<")\n";
cout<<"当前你装备护腿:"<<armor3name[armor3]<<"(+"<<armor3defense[armor3]<<")\n";
cout<<"当前你装备靴子:"<<armor4name[armor4]<<"(+"<<armor4defense[armor4]<<")\n";
cout<<"当前你主手装备:"<<weapon1name[weapon1]<<"(+"<<weapon1attack[weapon1]<<")\n";
cout<<"当前你副手装备:"<<weapon2name[weapon2]<<"(+"<<weapon2attack[weapon2]<<")\n";
cout<<"当前你使用斧子:"<<tool1name[tool1]<<"\n";
cout<<"当前你使用稿子:"<<tool2name[tool2]<<"\n";
sc(6);
if(armor1==4&&armor2==4&&armor3==4&&armor4==4){//铁套套装奖励
cout<<"套装奖励:防御+2\n";
}
if(armor1==5&&armor2==5&&armor3==5&&armor4==5){//钻石套套装奖励
cout<<"套装奖励:防御+3\n";
}
if(armor1==6&&armor2==6&&armor3==6&&armor4==6){//下界合金套套装奖励
cout<<"套装奖励:防御+4\n";
}
if(armor1==7&&armor2==7&&armor3==7&&armor4==7){//流浪者套套装奖励
cout<<"套装奖励:攻击+1\n";
}
if(armor1==8&&armor2==8&&armor3==8&&armor4==8){//远古套套装奖励
cout<<"套装奖励:防御+6\n";
}
if(armor1==10&&armor2==10&&armor3==10&&armor4==10){//寒冰套套装奖励
cout<<"套装奖励:魔力+5\n";
}
if(armor1==12&&armor2==12&&armor3==12&&armor4==12){//沙尘套套装奖励
cout<<"套装奖励:暴击率+15%\n";
}
if(armor1==14&&armor2==14&&armor3==14&&armor4==14){//熔火套套装奖励
cout<<"套装奖励:获得发射火球的能力\n";
cout<<"熔火弓使敌人着火的概率+20%\n";
}
sc(7);
SetConsoleTitle("--装备--");
cout<<"\n"<<"0,退出 1,卸下武器 2,装备武器\n";
cin>>choose;
fflush(stdin);
switch(choose){
case 0:
return;
break;
case 1://卸下装备
cout<<"你要卸下?\n";
cout<<"0,返回 1,头盔 2,胸甲 3,护腿 4,靴子 5,主手 6,副手 7,斧子 8,稿子\n";
cin>>choose;
switch(choose){
case 5://主手
if(weapon1==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==1&&item[i].level==weapon1){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
weapon1=0;
break;
case 6://副手
if(weapon2==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==2&&item[i].level==weapon2){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
weapon2=0;
break;
case 7://斧子
if(tool1==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==3&&item[i].level==tool1){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
tool1=0;
break;
case 8://稿子
if(tool2==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==4&&item[i].level==tool2){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
tool2=0;
break;
case 1://头
if(armor1==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==5&&item[i].level==armor1){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
armor1=0;
break;
case 2://甲
if(armor2==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==6&&item[i].level==armor2){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
armor2=0;
break;
case 3://腿
if(armor3==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==7&&item[i].level==armor3){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
armor3=0;
break;
case 4://鞋
if(armor4==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
for(int i=1;i<=1000;i++){
if(item[i].type==8&&item[i].level==armor4){
bag[i]++;
cout<<"已卸下 "<<item[i].itemname<<" !\n";
break;
}
}
armor4=0;
break;
}
getch();
weapon();
break;
case 2: //装备武器
cout<<"输入你背包中的武器/工具/装备编号以更换装备,不要乱输其他物品的编号!\n\n";
cin>>choose;
if(bag[choose]<1){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
if(item[choose].type==0){
cout<<"请勿乱输!\n";
getch();
weapon();
return;
}
bag[choose]--;
cout<<"已装备 "<<item[choose].itemname<<" !\n";
switch(item[choose].type){
case 1://主手
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==weapon1){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
weapon1=item[choose].level;
break;
case 2://副手
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==weapon2){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
weapon2=item[choose].level;
break;
case 3://斧子
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==tool1){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
tool1=item[choose].level;
break;
case 4://稿子
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==tool2){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
tool2=item[choose].level;
break;
case 5://头
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==armor1){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
armor1=item[choose].level;
break;
case 6://甲
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==armor2){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
armor2=item[choose].level;
break;
case 7://腿
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==armor3){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
armor3=item[choose].level;
break;
case 8://鞋
for(int i=1;i<=1000;i++){
if(item[i].type==item[choose].type&&item[i].level==armor4){
cout<<"已卸下 "<<item[i].itemname<<"\n";
bag[i]++;
break;
}
}
armor4=item[choose].level;
break;
}
getch();
weapon();
return;
default:
cin.clear();
break;
}
}
void build(){//建造
SetConsoleTitle("--建造--");
system("cls");
cout<<"输入编号以建造/放置建筑。\n\n";
if(bag[9]>=1) cout<<"编号1 建造 工作台 需要 工作台 x1\n";
if(bag[18]>=1) cout<<"编号2 建造 熔炉 需要 熔炉 x1\n";
if(bag[54]>=1) cout<<"编号3 建造 锻造台 需要 锻造台 x1\n";
if(bag[65]>=10) cout<<"编号4 建造 地狱传送门 需要 黑曜石 x10\n";
if(bag[127]>=1) cout<<"编号5 建造 中级工作台 需要 中级工作台 x1\n";
cout<<"\n输入 0 退出\n";
cin>>choose;
switch(choose){
case 0:
return;
break;
case 1:
if(bag[9]<1){
cout<<"请勿乱输!\n";
getch();
build();
}
if(crafttable){
cout<<"你已经建造过 工作台 了!\n";
getch();
build();
}
bag[9]-=1;
cout<<"建造成功!现在可合成更多物品!\n";
crafttable=true;
getch();
build();
break;
case 2:
if(bag[18]<1){
cout<<"请勿乱输!\n";
getch();
build();
}
if(furnace){
cout<<"你已经建造过 熔炉 了!\n";
getch();
build();
}
bag[18]-=1;
cout<<"建造成功!现在可熔炼矿石!(在<合成>处熔炼,作者懒得多写一个函数)\n";
furnace=true;
getch();
build();
break;
case 3:
if(bag[54]<1){
cout<<"请勿乱输!\n";
getch();
build();
}
if(smithtable){
cout<<"你已经建造过 锻造台 了!\n";
getch();
build();
}
bag[54]-=1;
cout<<"建造成功!现在可升级装备!(在<合成>处升级,作者懒得多写一个函数)\n";
smithtable=true;
getch();
build();
break;
case 4:
if(bag[65]<10){
cout<<"请勿乱输!\n";
getch();
build();
}
if(nether){
cout<<"你已经建造过 地狱传送门 了!\n";
getch();
build();
}
bag[65]-=10;
cout<<"建造成功!现在可进入地狱!......\n";
nether=true;
getch();
build();
break;
case 5:
if(bag[127]<1){
cout<<"请勿乱输!\n";
getch();
build();
}
if(crafttable2){
cout<<"你已经建造过 中级工作台 了!\n";
getch();
build();
}
bag[127]-=1;
cout<<"建造成功!现在可合成更多高级物品!\n";
crafttable2=true;
getch();
build();
break;
}
return;
}
void changelog(){//更新日志
system("cls");
//吾日三省吾身:注释bag[i]=100了吗?注释skill[i]=1了吗?你更新了吗?
//最后这句有点难。
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n不要再往上翻了!没有彩蛋了!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n你真是一个无聊的家伙!告诉你一个秘密,作者很帅!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n真的有人会看这些吗?\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n你看到了这里!...你真无聊!!!\n\n";;
//idk what did i want to express
cout<<"2024/10/25 1.12.6:\n";
cout<<"1,调整了流浪商人货物的价格\n";
cout<<"2,加入“治疗”技能 - 未实装\n";
cout<<"3,补充了物品描述\n";
cout<<"4,对查看物品界面进行了优化调整\n";
cout<<"5,加入查看物品合成配方的功能!\n";
cout<<"6,修正了某些愚蠢的配方错误\n";
cout<<"7,在降级界面增加了提示\n";
cout<<"8,优化了宽松状态下的显示界面\n";
cout<<"9,加入“冥想术”技能 - 未实装\n";
cout<<"10,在*&%/功能中加入免责声明以及确认\n";
cout<<"11,修改了一些文字。\n";
cout<<"12,大幅降低各种挖掘砍树等消耗的时间\n";
cout<<"13,加入隐藏tips功能\n";
cout<<"14,加入任务系统!!!!!\n";
cout<<"存档不知道能不能继续用(\n";
cout<<"15,我也忘了我改了什么(\n";
cout<<"天哪,我居然更新了!!Trb没有死!!!\n";
cout<<"\n"<<"\n";
cout<<"2024/3/1 1.12.5:\n";
cout<<"1,修复了商店物品编号重叠少卖东西的bug\n";
cout<<"2,将一些被动技能的触发时刻修改\n";
cout<<"3,修改了《蔡JK传奇》的网址!(这算什么更新?\n";
cout<<"4,修复了魔力药水无法在背包使用的bug\n";
cout<<"5,修复了反弹技能似乎不对敌人造成伤害的bug,不过没人发现)\n";
cout<<"6,修改了战斗函数中造成伤害的代码,现在连击,闪避等被动技能可以在各种情况下触发,同时减少了代码\n";
cout<<"7,减少了代码量\n";
cout<<"8,修改了技能升级界面ui\n";
cout<<"9,加入降级功能!允许玩家将已不再需要使用的技能转换为经验球,或减少魔力消耗等其他作用\n";
cout<<"10,修复了关于读取存档的小问题。总之1号存档一般不会有问题,23号可能作者会出小纰漏。\n";
cout<<"11,将合成远古稿、远古斧、寒冰稿、寒冰斧消耗的木棍数修正为2(发现有些抽象\n";
cout<<"12,修改了在雪地中被偷袭致死后不会返回村庄的小问题\n";
cout<<"13,加入新副本 沙漠神殿\n";
cout<<"14,加入新技能 “冲刺”\n";
cout<<"15,加入了 沙尘套装\n";
cout<<"16,加入了雪地商店\n";
cout<<"17,修复了侦察的bug,尽管压根没人用这个技能()也没人发现\n";
cout<<"18,反弹,疯狂的开关不再消耗一回合\n";
cout<<"19,优化战斗\n";
cout<<"20,现在熔火弓攻击有概率使敌人着火\n";
cout<<"\n";
cout<<"2023/12/17 1.12.4:\n";
cout<<"1,应hqx要求在战斗判断了一下无效输入并返回。\n";
cout<<"2,加入新技能“空气斩”,但没实装\n";//已实装
cout<<"3,战斗把之前没判定的被动技能重新判定了下。\n";
cout<<"4,考虑到玩家体验和游戏流程,特将挖矿砍树的时间缩减1/3。(快说我良心!\n";
cout<<"5,降低了矿洞挖矿时遇到怪物的概率 (一半\n";
cout<<"6,应hjq要求减少了副本冷却,改为半小时 - 满意了吧\n";
cout<<"7,对恶霸村民再次削弱,真的有人会打不过吗?\n";
cout<<"8,某些人干了太多坏事,改了一下信誉,现在刷信誉更快了,掉信誉稍微少了点。\n";
cout<<"9,喝药不需要消耗回合力\n";
cout<<"10,现在可以在背包内喝药了\n";
cout<<"11,附魔师可以降级压缩经验球了\n";
cout<<"12,降低了魔力护盾的冷却\n";
cout<<"13,加入了一个抽象的随机名字\n";
cout<<"14,修改了部分装备名\n";
cout<<"15,魔力护盾不消耗回合\n";
cout<<"16,加入了下界要塞\n";
cout<<"17,金苹果可以吃了(所以之前都没有用?!\n";
cout<<"18,修了保存存档的一个小bug\n";
cout<<"19,加入熔火套装\n";
cout<<"20,修复了技能冷却不减少的bug,原因是以前重写技能系统的时候忘修改了...\n";
cout<<"21,修复了无效使用技能仍冷却且消耗魔力的bug\n";
cout<<"22,增加了在丛林冒险遇到丛林神庙的概率\n";
cout<<"23,在战斗时显示技能已冷却回合\n";
cout<<"24,修复了流浪商人力量药出售失败的bug,因为不小心多打了个0...\n";
cout<<"25,降低了骷髅掉落箭的数量\n";
cout<<"26,修改了新手教程的地址(其实就去掉了ac.)\n";
cout<<"27,削弱了寒冰洞窟里的士兵\n";
cout<<"28,略微增强寒冰洞窟中的敌怪\n";
cout<<"29,修复了寒冰洞窟副本结束后仍冒险的bug\n";
cout<<"30,对部分以前没有作颜色修改的地方进行调整\n";
cout<<"31,略微削弱长弓挑战者\n";
cout<<"32,加强三连击\n";
cout<<"33,修改丛林神庙能二刷boss的bug\n";
cout<<"34,增加丛林神庙敌怪技能书的掉率\n";
cout<<"35,加入《蔡JK传奇》的入口\n";
cout<<"\n";
cout<<"2023/10/13 1.12.3:\n";
cout<<"1,修复了健康技能的判定\n";
cout<<"2,修复了战斗时使用技能颜色显示错误的bug\n";
cout<<"3,改了开头?\n";
cout<<"4,加入了一个也许勉强算副本的东西...?雪地探险!\n";
cout<<"5,简单修了一下代码数组格式(非游戏内容\n";
cout<<"6,修了掉落物闪退的bug,rand()%0警钟敲烂\n";
cout<<"7,修改附魔师界面。\n";
cout<<"8,修复地狱挖矿的bug。\n";
cout<<"9,修复副本被丛林守护者击败不死的bug。\n";
cout<<"10,调整了部分Sleep()的时长和部分掉落物。\n";
cout<<"11,商店可一次性出售多份物品\n";
cout<<"12,钻石苹果能吃了。\n";
cout<<"13,修改了流浪商人的代码以及价格。\n";
cout<<"14,加入了寒冰装备!\n";
cout<<"15,修改了雪地部分敌怪的掉落物。\n";
cout<<"16,冰冻的升级又变得更难啦!哈哈哈哈哈哈(\n";
cout<<"17,加入套装奖励机制!\n";
cout<<"18,加入暴击机制。\n";
cout<<"19,加入设置功能,可以调整显示界面。设置不支持保存(即存档),因为改了旧存档就不能用了\n";
cout<<"但可以每次读取后都设置一次(\n";
cout<<"20,现在战斗时执行无效操作不会跳过回合了,可以重新操作\n";
cout<<"21,加入自动保存功能。可以在设置开启,防止各种原因丢失存档,\n";
cout<<"\n";
cout<<"1.12.2:\n";
cout<<"1,修复了上个版本更新日志版本号标错的bug(((似乎我之前也标错过(((\n";
cout<<"2,修复了关于技能“魔力精通”与“力量”升级所需物品错误的bug,原因是作者CtrlV时忘改下标了(\n";
cout<<"3,修复了技能“力量”技能简介显示错误的bug,原因还是我忘改下标了(((但实战效果不变。\n";
cout<<"4,为大量贵物(划)怪物加入技能书掉落物,但概率较低(约为2%左右)。越强的怪掉率越高。\n";
cout<<"5,优化了技能升级界面,现在你在升级时会显示你所有的经验球数量和当前等级\n";
cout<<"6,新增技能“魔力精通”。" <<"\n";
cout<<"7,新增丛林商店。" <<"\n";
cout<<"8,新增技能“闪避”。\n";
cout<<"9,修改技能界面,现显示是否为被动技能\n";
cout<<"10,技能界面现在五颜六色(\n";
cout<<"11,新增技能“连击”。\n";
cout<<"12,战斗技能界面修改\n";
cout<<"13,商店物品价格调整\n";
cout<<"14,商店货物调整\n";
cout<<"15,新增技能“健康”。\n";
cout<<"PS:代码里补了很多部分的注释,虽然我自己其实不用看\n"; //看你*呢
cout<<"事实上,如冰冻这样的技能升级要求不可能如此简单。只是我没有写更多物品。\n所以请做好以后版本升级要求及其苛刻的准备(你这个版本能拿到本来就不合理\n甚至于雪怪本身的强度就不应该掉落冰冻技能书\n只是因为技能都写好了不实加进游戏不太好(\n";
cout<<"\n";
cout<<"1.12.1:\n";
cout<<"1,修改了丛林守护者boss技能优先级\n";
cout<<"2,修复了丛林守护者无掉落物的bug(其实是忘写了(((\n";
cout<<"3,加入了出售功能,现在可以出售物品了\n";
cout<<"4,加入猪灵\n";
cout<<"5,修复装备需点击两次的小问题\n";
cout<<"6,地狱挖矿更新,加入更多矿石\n";
cout<<"7,修复了商店不显示购买物品的bug\n";
cout<<"8,稍微修改了掉落物部分的代码\n";
cout<<"9,修复了狙击者·弓无法装备的bug\n";
cout<<"10,修改了流浪者的掉落物\n";
cout<<"11,修复了在某些地方能进入不存在的商店的bug\n";
cout<<"12,修复了挖青金石掉落物错误的bug\n";
cout<<"13,修改技能界面\n";
cout<<"14,修改了背包查看信息的功能,现在你必须拥有此物品才能查看信息\n";
cout<<"15,修复了钻石苹果不能吃的bug,现在在背包交互\n";
cout<<"16,加入了杀死极域的功能(?\n";
cout<<"17,修改技能界面ui\n";
cout<<"18,当你没有压缩经验球时会隐藏界面\n";
cout<<"19,修复了旅馆价格默认最低的bug\n";
cout<<"20,增加狙击骷髅的经验和初次逃跑率\n";
cout<<"21,技能重写完毕。\n";
cout<<"\n";
cout<<"1.12.0:\n";
cout<<"1,修改了部分介绍,错别字\n";
cout<<"2,修复了某些文本闪烁过快看不清的问题\n";
cout<<"3,增加一些标题\n";
cout<<"4,修复了流浪商人出售的稿子送货不正确的问题\n";
cout<<"5,加入了更多tips\n";
cout<<"6,略微下调“流浪者之钝稿”的挖掘速度\n";
cout<<"7,略微上调“流浪者之重斧”的挖掘速度\n";
cout<<"8,增加两个存档,现允许保存三个角色的进度\n";
cout<<"9,增加在村庄冒险时遇见抽奖机的概率\n";
cout<<"10,修改了旅行家任务出错的bug\n";
cout<<"11,提升了雪怪掉落冰冻技能书的概率\n";
cout<<"12,加入了丛林神庙,第一个副本!\n";
cout<<"13,加入了挖原石的上限,目的是为了防止挂机刷绿宝石。(\n";
cout<<"14,重做了装备与背包,现在更方便,实际上是重写了物品。\n值得高兴的是以前写的答辩代码删掉了。\n(以前的装备代码依托答辩\n";
cout<<"15,重写了合成代码,现在编号按顺序,而且理论上比以前方便。\n(实际上没什么变化,但是代码长度大大减小了)" <<"\n";
cout<<"16,重写了商店代码,但没有添加新内容。预计于下个版本添加,目前变化仅是减少了代码长度\n"<<"加入一个很臭的彩蛋。\n"<<"此版本很多预计内容没有写完,放出来只是因为我太久没有更新了()\n更多内容还请期待1.12.1!\n";
cout<<"\n";
cout<<"1.11.4:\n";
cout<<"-1,加入了负数标号(\n";
cout<<"0,加入了一个...tips?\n";
cout<<"1,调整了恶霸村民的数值,使玩家在初期与恶霸村民战斗时能保持较多血量。\n";
cout<<"2,战斗界面增加了跳过回合选项(但是没啥用)\n";
cout<<"3,完善了(一小部分)背包查看物品信息的功能\n";
cout<<"4,修复了未持有该物品也可查看此物品信息的bug\n";
cout<<"4,修复了战斗界面顺序错误**的**\n";
cout<<"5,增加了新的装备\n";
cout<<"6,再次增加敌人掉落物,同时修改敌人掉落物机制,现在掉落物可重复且概率数量更高更随机。\n";
cout<<"7,增加了1.11.3的彩蛋的出现概率(指概率大了10倍\n但是,不注意可能也发现不了...\n";
cout<<"8,修复了玩家可能在旅馆零元睡(?)的bug\n";
cout<<"9,修复了玩家可以无限喝药水的bug\n";
cout<<"10,修复了治疗药水最高仅恢复 4 点血量的bug\n";
cout<<"11,加入更多药水\n";
cout<<"12,修改了新手教程的网址,更新了新手教程\n";
cout<<"13,优化了以前写的lj代码\n";
cout<<"14,优化了剧情,世界观等内容\n";
cout<<"15,修复了速度药水的bug\n";
cout<<"16,在村庄加入了一台抽奖机,可以抽出各种****\n";
cout<<"17,增加雪地冒险内容\n";
cout<<"18,增加洞穴冒险内容\n";
cout<<"19,加入了末影人\n";
cout<<"2