Sleep(3000);
system("cls");
place="洞穴";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
case 5:
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="沙漠";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
break;
case 6:
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="丛林";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
break;
case 7:
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="雪地";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
break;
case 8:
if(nether){
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="地狱";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
}else{
cout<<"无法前进,你没有建造/发现地狱传送门"<<endl;
Sleep(1000);
go(); 
}
break;
case 9:
if(ender){
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="末地";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
}else{
cout<<"无法前进,你没有发现末地传送门"<<endl;
Sleep(1000);
go(); 
}
break;
case 11:
if(farland){
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="边境之地";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
}
break;
case 12:
if(jungle_temple){
dungeon("丛林神庙");
return; 
}
break;
case 13:
if(nether_fortress){
if(place!="地狱"){
cout<<"当前无法前进至此处!"<<endl;
Sleep(1000);
go();
return; 
}
cout<<"前进中..."<<endl;
Sleep(3000);
system("cls");
place="下界要塞";
cout<<"已到达 "<<place<<"!"<<endl;
Sleep(1000); 
return; 
}
break; 
case 14:
if(desert_temple){
dungeon("沙漠神殿");
return; 
}
break;
} 
return;
}

void chop(string place){//砍树 
cout<<"发现树木!"<<endl;
Sleep(1000);
cout<<"开始砍树..."<<endl;
Sleep(1000);
system("cls");
destroy(360000,tool1speed[tool1]);
if(place=="平原"||place=="森林"){
int add=5+rand()%8;
cout<<"获得橡木 "<<add<<" 个!"<<endl; 
bag[1]+=add;
cout<<"当前拥有橡木 "<<bag[1]<<" 个"<<endl;  
Sleep(2000);
}
if(place=="丛林"){
int add=7+rand()%3;
cout<<"获得丛林木 "<<add<<" 个!"<<endl; 
bag[2]+=add;
cout<<"当前拥有丛林木 "<<bag[2]<<" 个"<<endl; 
Sleep(2000);
}
if(place=="雪地"){
int add=8+rand()%6;
cout<<"获得针叶木 "<<add<<" 个!"<<endl; 
bag[3]+=add;
cout<<"当前拥有针叶木 "<<bag[3]<<" 个"<<endl; 
Sleep(2000);
}
if(place=="地狱"){
int add=6+rand()%6; 
cout<<"获得绯红木 "<<add<<" 个!"<<endl; 
bag[4]+=add;
cout<<"当前拥有绯红木 "<<bag[4]<<" 个"<<endl; 
Sleep(3000);
}
int apple=1+rand()%3,appleadd=1+rand()%2;
if(apple==3&&place!="地狱"){
cout<<"你在树上发现了 "<<appleadd<<" 个苹果!"<<endl;
bag[36]+=appleadd;
Sleep(2000);
}
return;
} 

void tree(string place){//砍树 
if(place=="村庄"){
system("cls");
cout<<"似乎这里没有树...难道你想拆了村民的房子?"<<endl<<endl;
cout<<"系统提示:请去别的地方砍树!"<<endl;
Sleep(1500);
return; 
}
if(place=="洞穴"){
system("cls");
cout<<"洞穴里只有坚硬的石头,没有树..."<<endl<<endl;
cout<<"系统提示:请去别的地方砍树!"<<endl;
Sleep(1500);
return; 
}
if(place=="沙漠"){
system("cls");
cout<<"似乎这里没有树,有的只是长满了尖刺的仙人掌..."<<endl<<endl;
cout<<"系统提示:请去别的地方砍树!"<<endl;
Sleep(1500);
return; 
}
if(place=="末地"){
system("cls");
cout<<"紫菘果可不是木头!"<<endl<<endl;
cout<<"系统提示:请去别的地方砍树!"<<endl;
Sleep(1500);
return; 
}
system("cls");
if(tool1==0){
cout<<"看起来你没有斧子,但凭坚硬的双手,也许可以拿下这些木头..."<<endl<<endl; 
cout<<"如果你有一把斧子,会大大加快砍树的速度。"<<endl;
Sleep(1000);
cout<<endl;
}
cout<<"当前你装备:";
cout<<tool1name[tool1]<<endl<<endl; 
cout<<"提示:你所处的位置会影响你发现树木的速度。"<<endl;
cout<<"  同时,你装备的斧头会决定你砍伐树木的速度。"<<endl<<endl;
Sleep(2000);
cout<<"0,返回  1,砍树"<<endl;
cin>>choose;
system("cls");
if(choose==1){
if(place=="平原"){
cout<<"大约需要 20 秒..."<<endl; 
cout<<"寻找树木中..."<<endl; 
Sleep(16000+rand()%8000); 
chop("平原");
}
if(place=="森林"){
cout<<"大约需要 5 秒..."<<endl; 
cout<<"寻找树木中..."<<endl; 
Sleep(3000+rand()%4000); 
chop("森林");
}
if(place=="丛林"){
cout<<"大约需要 10 秒..."<<endl; 
cout<<"寻找树木中..."<<endl; 
Sleep(6000+rand()%8000); 
chop("丛林");
}
if(place=="雪地"){
cout<<"大约需要 30 秒..."<<endl; 
cout<<"寻找树木中..."<<endl; 
Sleep(25000+rand()%10000); 
chop("雪地");
}
if(place=="地狱"){
cout<<"大约需要 10 秒..."<<endl; 
cout<<"寻找树木中..."<<endl; 
Sleep(6000+rand()%8000); 
chop("地狱");
}
}
else return;
}

void dig(string place){//挖矿 
while(1){
if(place!="洞穴"&&place!="地狱"){
cout<<"此处无法挖矿!请去其他地方挖矿!"<<endl;
Sleep(1500);
return;
}
if(tool2==0){
cout<<"空手无法挖矿!请装备稿子后再来挖矿!"<<endl;
Sleep(2000);
return; 
}
system("cls");
cout<<"现在你在:"<<place<<endl;
cout<<"你现在装备:"<<tool2name[tool2]<<endl<<endl;
cout<<"提示:一些矿石只有特定的或足够好的稿子才能挖掘。"<<endl;
cout<<"  同时,你装备的稿子会决定你挖掘矿石的速度。"<<endl<<endl;
if(place=="洞穴"){
cout<<"0,返回  1,挖矿"<<endl;
cin>>choose;
if(choose==1){
cout<<"0,挖圆石  1,挖矿物"<<endl;
cin>>choose;
if(choose==0){//挖石头 
cout<<"你要挖多少块圆石?"<<endl;
cin>>choose;
if(choose>64){
cout<<"数量太多,无法执行操作!"<<endl;
getch();
return;
}
cout<<"开始挖掘..."<<endl;
Sleep(2000); 
system("cls");
destroy(60000*choose,tool2speed[tool2]);
cout<<"获得圆石 "<<choose<<" 个!"<<endl; 
bag[14]+=choose;
cout<<"当前拥有圆石 "<<bag[14]<<" 个"<<endl;
Sleep(2000);
return;
}else{//挖矿石 
system("cls");
cout<<"探索矿洞中..."<<endl;
int figh=rand()%8;//1/4的概率还是高了?我觉得应该强迫带武器下矿。 
if(figh==0){
Sleep(3000+rand()%1000);
figh=1+rand()%2;
if(figh==1){
cout<<"你遇到了僵尸!"<<endl;
getch();
fight("僵尸",20,3,40,0,3,5+rand()%5,2,90+rand()%60,1);
drop("僵尸");
return;
}else{
cout<<"你遇到了骷髅!"<<endl;
getch();
fight("骷髅",20,3,30,0,1,8+rand()%4,10,150+rand()%100,2);
drop("骷髅");
return; 
}
}
Sleep(8000+rand()%12000);
int add;
switch(1+rand()%6){
case 1://发现煤炭 
add=8+1+rand()%8;
cout<<"你发现了 "<<add<<" 块煤炭!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
destroy(80000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[19]<<" "<<add<<" 个!"<<endl;
bag[19]+=add;
experience+=add*5;
cout<<"当前有 "<<itemname[19]<<" "<<bag[19]<<" 个!"<<endl;
Sleep(2000);
continue; 
}else continue;
break;
case 2://发现铁矿 
add=2+1+rand()%8;
cout<<"你发现了 "<<add<<" 块铁矿石!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!"<<endl;
Sleep(2000);
continue;
} 
destroy(100000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[20]<<" "<<add<<" 个!"<<endl;
bag[20]+=add;
cout<<"当前有 "<<itemname[20]<<" "<<bag[20]<<" 个!"<<endl;
Sleep(2000);
continue;
}else continue;;
break;
case 3://发现金矿 
add=4+1+rand()%3;
cout<<"你发现了 "<<add<<" 块金矿石!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!"<<endl;
Sleep(2000);
continue;
}
destroy(120000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[31]<<" "<<add<<" 个!"<<endl;
bag[31]+=add;
cout<<"当前有 "<<itemname[31]<<" "<<bag[31]<<" 个!"<<endl;
Sleep(2000);
continue;
}else continue;
break;
case 4://发现青金石矿 
add=6+1+rand()%6;
cout<<"你发现了 "<<add<<" 块青金石!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
if(tool2<2||tool2==3){
cout<<"当前稿子无法挖掘此矿石!"<<endl;
Sleep(2000);
continue;
}
destroy(90000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[43]<<" "<<add<<" 个!"<<endl;
bag[43]+=add;
experience+=add*15;
cout<<"当前有 "<<itemname[43]<<" "<<bag[43]<<" 个!"<<endl;
Sleep(2000);
continue; 
}else continue;
break;
case 5://发现钻石 
add=2+1+rand()%4;
cout<<"你发现了 "<<add<<" 块钻石!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
if(tool2<4){
cout<<"当前稿子无法挖掘此矿石!"<<endl;
Sleep(2000);
continue;
}
destroy(160000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[44]<<" "<<add<<" 个!"<<endl;
bag[44]+=add;
experience+=add*30;
cout<<"当前有 "<<itemname[44]<<" "<<bag[44]<<" 个!"<<endl;
Sleep(2000);
continue;
}else continue;
break;
case 6://发现黑曜石 
add=2+1+rand()%3;
cout<<"你发现了 "<<add<<" 块黑曜石!"<<endl;
Sleep(1000);
cout<<"0,离开  1,挖掘"<<endl;
cin>>choose;
if(choose==1){
system("cls");
if(tool2<5){
cout<<"当前稿子无法挖掘黑曜石!"<<endl;
Sleep(2000);
continue;
}
destroy(600000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[65]<<" "<<add<<" 个!"<<endl;
bag[65]+=add;
cout<<"当前有 "<<itemname[65]<<" "<<bag[65]<<" 个!"<<endl;
getch();
continue;
}else continue;
break;  
}
}
}else return;
}
if(place=="地狱"){
cout<<"0,返回  1,挖矿"<<endl;
cin>>choose;
if(choose==1){
cout<<"1,挖矿"<<endl;
cin>>choose;
if(choose==1){
system("cls");
cout<<"探索地狱中..."<<endl;
cout<<"这个过程可能会有些漫长,耐心等待..."<<endl;
choose=1+rand()%5;
if(choose==5) Sleep(40000+rand()%20000);
else Sleep(10000+rand()%8000);
system("cls");
int add;
if(choose==5) add=1+rand()%2,cout<<"你发现了 "<<add<<" 块远古残骸!"<<endl;//1/5? 
if(choose==1||choose==2) add=4+rand()%4,cout<<"你发现了 "<<add<<" 块下界金矿!"<<endl;
if(choose==3||choose==4) add=3+rand()%8,cout<<"你发现了 "<<add<<" 块下界石英!"<<endl;
Sleep(1000);
int a;
cout<<"0,离开  1,挖掘"<<endl;
cin>>a;
if(a==0) continue;
if(choose==5){
if(tool2<5){
cout<<"当前稿子无法挖掘远古残骸!"<<endl;
Sleep(2000);
continue;
}else{
destroy(500000*add,tool2speed[tool2]);
cout<<"挖掘完毕!获得 "<<itemname[55]<<" "<<add<<" 个!"<<endl;
bag[55]+=add;
cout<<"当前有 "<<itemname[55]<<" "<<bag[55]<<" 个!"<<endl;
}
}
if(choose==1||choose==2){//金矿
destroy(90000*add,tool2speed[tool2]);
add=add*(3+rand()%3)+rand()%add;
cout<<"挖掘完毕!获得 "<<itemname[125]<<" "<<add<<" 个!"<<endl;
bag[125]+=add;
cout<<"当前有 "<<itemname[125]<<" "<<bag[125]<<" 个!"<<endl;
}
if(choose==3||choose==4){
destroy(100000*add,tool2speed[tool2]);//石英 
cout<<"挖掘完毕!获得 "<<itemname[126]<<" "<<add<<" 个!"<<endl;
bag[126]+=add;
experience+=add*20;
cout<<"当前有 "<<itemname[126]<<" "<<bag[126]<<" 个!"<<endl;
}
getch();
continue;
}else continue; 
}else return; 
}
}
}

void jvqing(){//剧情输出 
system("cls");
cout<<"加载剧情中..."<<endl;
Sleep(2000);
cout<<"加载完毕!"<<endl;
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<<endl;
cout<<"以下为所有与 "<<item[x].itemname<<" 关联的合成配方!"<<endl;
cout<<"若未显示则为无配方\n"<<endl;
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<<endl;
}
}
getch();
return;
}

void checkbag(){//检查背包 
SetConsoleTitle("--背包--");
cout<<"显示顺序为 编号-物品名-数量"<<endl<<endl;
cout<<"若未显示则为无物品"<<endl<<endl;
cout<<"输入物品编号可查看物品信息/交互"<<endl<<endl;
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<<endl;
if(wide) cout<<endl;
} 
else continue;
}
for(int i=1001;i<1020;i++){
if(bag[i]!=0){
cout<<"编号 "<<i<<"  "<<itemname[i]<<" 数量:"<<bag[i]<<" 个"<<endl;
if(wide) cout<<endl;
} 
else continue;
}
for(int i=1;i<10;i++){
if(arrow[i]!=0){
cout<<"箭矢 "<<i<<"  "<<arrowname[i]<<" 数量:"<<arrow[i]<<" 个"<<endl;
if(wide) cout<<endl;
} 
else continue;
}
cout<<endl<<"输入 0 返回"<<endl;
cin>>choose;
if(choose==0) return;
if(bag[choose]<=0){
cout<<"请勿乱输!"<<endl;
getch(); 
return; 
}
system("cls");
cout<<"编号:"<<choose<<endl;
cout<<"物品:"<<item[choose].itemname<<endl;
cout<<"出售:";
if(item[choose].sell_num) cout<<"每 "<<item[choose].sell_num<<" 个 价值 "<<item[choose].sell_price<<" 绿宝石"<<endl;
else cout<<"无价"<<endl;
switch(item[choose].type){
case 0:cout<<"类型:材料/物品"<<endl;break;
case 1:cout<<"类型:主手武器"<<endl;break;
case 2:cout<<"类型:副手武器"<<endl;break;
case 3:cout<<"类型:斧"<<endl;break;
case 4:cout<<"类型:稿"<<endl;break;
case 5:cout<<"类型:头盔"<<endl;break;
case 6:cout<<"类型:胸甲"<<endl;break;
case 7:cout<<"类型:护腿"<<endl;break;
case 8:cout<<"类型:靴子"<<endl;break;
} 
if(item[choose].type){
cout<<"<可装备>"<<endl;
}
sc(2);
cout<<"输入‘r’以查看所有与此物品有关的合成配方!\n"<<endl;
sc(7);
//cout<<item[choose].level;
cout<<"描述:";
switch(choose){
case 0:return;break;
case 1:cout<<"基础的木头,可在平原,森林砍树获得。可以制作橡木木板。"<<endl;break;
case 2:cout<<"基础的木头,可在丛林砍树获得。可以制作丛林木板。"<<endl;break;
case 3:cout<<"基础的木头,可在雪地砍树获得。可以制作针叶木木板。"<<endl;break;
case 4:cout<<"来自地狱的木头,能防火,可在地狱砍树获得。可以制作绯红木板。"<<endl;break;
case 5:cout<<"基础的木板,可以制作各种木制品。"<<endl;break;
case 6:cout<<"基础的木板,可以制作各种木制品。"<<endl;break;
case 7:cout<<"基础的木板,可以制作各种木制品。"<<endl;break;
case 8:cout<<"来自地狱的木板,能防火,可以制作各种木制品。"<<endl;break;
case 9:cout<<"一个制作站,在<建造>中将其放置便可合成更多新物品。"<<endl<<"“这是,工作台?”。"<<endl;break;
case 10:cout<<"木制的棍子,是组装武器和工具必备的材料。"<<endl;break;
case 11:cout<<"木制的剑,简单好用。"<<endl;break;
case 12:cout<<"木制的斧,可略微提升砍树的速度。"<<endl;break;
case 13:cout<<"木制的稿,可以挖掘石头和煤炭。"<<endl<<"“挖矿时间到”!"<<endl; break;
case 14:cout<<"地下四处可采集的石头,是制作石制工具的必要材料。"<<endl;break;
case 15:cout<<"石质的剑,朴实无华,简单耐用。"<<endl;break;
case 16:cout<<"石质的斧,可小幅提升砍树的速度。"<<endl;break;
case 17:cout<<"石质的稿,比木稿的挖掘速度更快,还可挖掘铁矿。"<<endl;break;
case 18:cout<<"“热门话题”!在<建造>中将其放置便可熔炼矿物。"<<endl;break;
case 19:cout<<"基础的燃料,可用于熔炼矿物。"<<endl;break;
case 20:cout<<"中级的矿石,将其用熔炉熔炼可获得铁锭。"<<endl;break;
case 21:cout<<"中级的矿锭,可以制作精良的铁质装备。"<<endl<<"“来硬的”!"<<endl;break;
case 22:cout<<"铁质的剑,锋利耐用,是优秀的武器。"<<endl; break;
case 23:cout<<"铁质的斧,可较快提升砍树速度。"<<endl;break;
case 24:cout<<"铁质的稿,可以挖掘钻石,金矿石等中级矿物,且可较快提升挖掘速度。"<<endl;break;
case 25:cout<<"铁质的头盔,可抵挡受到的伤害。"<<endl;cout<<"“整装上阵”!"<<endl; break;
case 26:cout<<"铁质的胸甲,可抵挡受到的伤害。"<<endl;cout<<"“整装上阵”!"<<endl; break;
case 27:cout<<"铁质的护腿,可抵挡受到的伤害。"<<endl;cout<<"“整装上阵”!"<<endl; break;
case 28:cout<<"铁质的靴子,可抵挡受到的伤害。"<<endl;cout<<"“整装上阵”!"<<endl; break;
case 29:cout<<"防御的盾牌,可以大幅抵挡自己受到的伤害。"<<endl; cout<<"“抱歉,今天不行”"<<endl; break;
case 30:cout<<"优秀的远程武器,使用箭作为弹药。"<<endl; break;
case 31:cout<<"中高级的矿石,将其用熔炉熔炼可获得金锭。"<<endl; break;
case 32:cout<<"中高级的矿锭,可以制作速度极快的金质装备。"<<endl; break;
case 33:cout<<"金质的剑,但效果不尽人意。"<<endl; break;
case 34:cout<<"金质的斧,速度极快。"<<endl; break;
case 35:cout<<"金质的稿,速度极快。"<<endl; break;
case 36:cout<<"美味的水果,可以在砍树时获得。可以合成金苹果。"<<endl; break;
case 37:
cout<<"镀了金的苹果,可恢复 5 点生命。可以合成钻石苹果。"<<endl;
cout<<"0,返回  1,使用"<<endl;
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[37]--; 
cout<<"你使用了金苹果!"<<endl;
int recover=5;
Sleep(500); 
cout<<"你回复了 ";
sc(4);
cout<<recover<<" 点生命!"<<endl;
sc(7);
Sleep(500);
health+=min(recover,maxhealth-health);
cout<<"当前你有 ";
sc(4);
cout<<health<<" 点生命!"<<endl;
sc(7);
getch();
}
break;
case 38:cout<<"击杀蜘蛛掉落的丝,可制作弓。"<<endl; cout<<"“丝绸之路”。"<<endl; break;
case 39:cout<<"金质的头盔,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。"<<endl; break;
case 40:cout<<"金质的胸甲,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。"<<endl; break;
case 41:cout<<"金质的护腿,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。"<<endl; break;
case 42:cout<<"金质的靴子,可抵挡受到的伤害。似乎猪灵相当喜欢这些闪闪发光的东西。"<<endl; break;
case 43:cout<<"蕴含着强大魔力的矿石,可以提升魔力......"<<endl; break;
case 44:cout<<"中高级的矿石,可以制作钻石装备。"<<endl; break;
case 45:cout<<"钻石的剑,可以使用下界合金锭升级。"<<endl; break;
case 46:cout<<"钻石的斧,可大幅提升砍树速度。"<<endl; break;
case 47:cout<<"钻石的稿,速度较快,可以挖掘黑曜石。"<<endl; break;
case 48:cout<<"钻石的头盔,可抵挡受到的伤害。"<<endl;cout<<"“钻石护体”!"<<endl; break;
case 49:cout<<"钻石的胸甲,可抵挡受到的伤害。"<<endl;cout<<"“钻石护体”!"<<endl; break;
case 50:cout<<"钻石的护腿,可抵挡受到的伤害。"<<endl;cout<<"“钻石护体”!"<<endl; break;
case 51:cout<<"钻石的靴子,可抵挡受到的伤害。"<<endl;cout<<"“钻石护体”!"<<endl; break;
case 52:cout<<"钻石制成的块,可以合成钻石苹果。"<<endl; break;  
case 53:
cout<<"钻石与金苹果结合的造物,可以增加血量上限。"<<endl;
cout<<"注:你已使用了 "<<diamondapple<<" 次钻石苹果。最多使用 2 次。"<<endl;
cout<<"0,返回  1,使用"<<endl;
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
if(diamondapple<2){
cout<<"你使用了钻石苹果!"<<endl;
getch();
cout<<"你增加了 5 点生命上限!"<<endl;
maxhealth+=5; 
getch();
diamondapple++;
cout<<"你还可使用 "<<2-diamondapple<<" 个钻石苹果。"<<endl;
}else{
cout<<"你已达使用上限!"<<endl;
}
}
break; 
case 54:cout<<"一个坚固的锻造台,可以锻造出下界合金装备。"<<endl; break; 
case 55:cout<<"地狱经历数千年打磨,坚固强大的矿石。"<<endl; break; 
case 56:cout<<"坚硬的合金碎片,由远古残骸烧制而成。可以合成下界合金锭。"<<endl; break; 
case 57:cout<<"坚硬而耐用的合金锭,可以将钻石装备锻造成下界合金装备。"<<endl; break;
case 58:cout<<"由钻石剑和下界合金锭升级而成的宝剑。"<<endl; break; 
case 59:cout<<"由钻石稿和下界合金锭升级而成的稿子。"<<endl; break; 
case 60:cout<<"由钻石斧和下界合金锭升级而成的斧子。"<<endl; break;  
case 61:cout<<"由钻石头盔和下界合金锭升级而成的头盔。"<<endl;sc(5);cout<<"“残骸裹身”!"<<endl;sc(7); break; 
case 62:cout<<"由钻石胸甲和下界合金锭升级而成的护甲。"<<endl;sc(5);cout<<"“残骸裹身”!"<<endl;sc(7); break;
case 63:cout<<"由钻石护腿和下界合金锭升级而成的护腿。"<<endl;sc(5);cout<<"“残骸裹身”!"<<endl;sc(7); break;
case 64:cout<<"由钻石靴子和下界合金锭升级而成的靴子。"<<endl;sc(5);cout<<"“残骸裹身”!"<<endl;sc(7); break;
case 65:cout<<"滚烫的熔岩与水冷却后形成的坚硬石头,蕴含着神秘而未知的力量..."<<endl; break;
case 105:cout<<"流浪商人出售的宝剑。"<<endl; break;
case 106:cout<<"流浪商人出售的斧子,可较快提升砍树速度。"<<endl; break;
case 107:cout<<"流浪商人出售的稿子,尽管有些钝了,却仍然能挖掘大部分矿石。"<<endl; break;
case 108:cout<<"流浪商人出售的头盔,可抵挡受到的伤害。"<<endl; break;
case 109:cout<<"流浪商人出售的胸甲,可抵挡受到的伤害。"<<endl; break;
case 110:cout<<"流浪商人出售的护腿,可抵挡受到的伤害。"<<endl; break;
case 111:cout<<"流浪商人出售的靴子,可抵挡受到的伤害。"<<endl; break;
case 112:cout<<"狙击骷髅使用的弓,比普通的弓更强,威力巨大,精准无比。"<<endl; break;
case 113:cout<<"皮革制成的头盔,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 114:cout<<"皮革制成的胸甲,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 115:cout<<"皮革制成的护腿,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 116:cout<<"皮革制成的靴子,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 117:cout<<"锁链制成的头盔,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 118:cout<<"锁链制成的胸甲,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 119:cout<<"锁链制成的护腿,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 120:cout<<"锁链制成的靴子,常见于某些不死生物身上,可抵挡受到的伤害。"<<endl; break;
case 121:cout<<"击杀末影人掉落的球体,与另一个维度似乎有着神秘的联系...\n可用于合成末影之眼。"<<endl; break;
case 122:cout<<"烈焰人身上环绕的棍棒,摸上去还有些烫手。\n可分解成烈焰粉。"<<endl; break;
case 123:cout<<"烈焰棒分解得到的炽热粉尘。\n可用于合成末影之眼。"<<endl; break;
case 124:cout<<"一颗栩栩如生的眼睛,看着令人有些发毛...\n它似乎随时都会从你的手中飞离..."<<endl; break;
case 125:cout<<"一些小块的金锭碎片。"<<endl; break;
case 126:cout<<"一种在地狱常见而美丽的白色岩石,能卖个好价钱。"<<endl; break;
case 127:cout<<"一个更高级的制作台,允许你制作更强大的装备。"<<endl; break;
case 128:cout<<"远古丛林自然之力的精华,蕴含着远古的力量。\n可在中极工作台处制作远古锭。"<<endl; break;
case 129:cout<<"附着了远古精华力量的矿锭,蕴含着远古的力量。\n可制作远古装备。"<<endl; break;
case 130:cout<<"使用远古锭制作的宝剑。蕴含着远古之力,威力强大。"<<endl; break;
case 131:cout<<"使用远古锭制作的斧子。蕴含着远古之力,可大幅提升砍树速度。"<<endl; break;
case 132:cout<<"使用远古锭制作的稿子。蕴含着远古之力,可大幅提升挖掘速度。"<<endl; break;
case 133:cout<<"使用远古锭制作的头盔。蕴含着远古之力,能很好的抵挡受到的伤害。"<<endl; break;
case 134:cout<<"使用远古锭制作的胸甲。蕴含着远古之力,能很好的抵挡受到的伤害。"<<endl; break;
case 135:cout<<"使用远古锭制作的护腿。蕴含着远古之力,能很好的抵挡受到的伤害。"<<endl; break;
case 136:cout<<"使用远古锭制作的靴子。蕴含着远古之力,能很好的抵挡受到的伤害。"<<endl; break;
case 145:cout<<"附着了寒冰精华力量的矿锭,蕴含着寒冰的力量。\n可制作寒冰装备。"<<endl; break;
case 146:cout<<"使用寒冰锭制作的宝剑。蕴含着寒冰之力,威力强大。"<<endl; break;
case 147:cout<<"使用寒冰锭制作的斧子。蕴含着寒冰之力,可大幅提升砍树速度。"<<endl; break;
case 148:cout<<"使用寒冰锭制作的稿子。蕴含着寒冰之力,可大幅提升挖掘速度。"<<endl; break;
case 149:cout<<"使用寒冰锭制作的头盔。蕴含着寒冰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 150:cout<<"使用寒冰锭制作的胸甲。蕴含着寒冰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 151:cout<<"使用寒冰锭制作的护腿。蕴含着寒冰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 152:cout<<"使用寒冰锭制作的靴子。蕴含着寒冰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 161:cout<<"远古雪地寒冰之力的精华,蕴含着寒冰的力量。\n可在中极工作台处制作寒冰锭。"<<endl; break;
case 162:cout<<"远古沙漠沙尘之力的精华,蕴含着沙尘的力量。\n可在中极工作台处制作沙尘锭。"<<endl; break;
case 163:cout<<"附着了沙尘精华力量的矿锭,蕴含着沙尘的力量。\n可制作沙尘装备。"<<endl; break;
case 164:cout<<"使用沙尘锭制作的宝剑。蕴含着沙尘之力,威力强大。"<<endl; break;
case 165:cout<<"使用沙尘锭制作的斧子。蕴含着沙尘之力,可大幅提升砍树速度。"<<endl; break;
case 166:cout<<"使用沙尘锭制作的稿子。蕴含着沙尘之力,可大幅提升挖掘速度。"<<endl; break;
case 167:cout<<"使用沙尘锭制作的头盔。蕴含着沙尘之力,能很好的抵挡受到的伤害。"<<endl; break;
case 168:cout<<"使用沙尘锭制作的胸甲。蕴含着沙尘之力,能很好的抵挡受到的伤害。"<<endl; break;
case 169:cout<<"使用沙尘锭制作的护腿。蕴含着沙尘之力,能很好的抵挡受到的伤害。"<<endl; break;
case 170:cout<<"使用沙尘锭制作的靴子。蕴含着沙尘之力,能很好的抵挡受到的伤害。"<<endl; break;
case 180:cout<<"远古下界熔火之力的精华,蕴含着火焰之力。\n可在中极工作台处制作熔火锭。"<<endl; break;
case 181:cout<<"附着了熔火精华力量的矿锭,蕴含着火焰之力。\n可制作熔火装备。"<<endl; break;
case 182:cout<<"使用熔火锭制作的宝剑。蕴含着火焰之力,威力强大。"<<endl; break;
case 183:cout<<"使用熔火锭制作的弓。蕴含着火焰之力,命中敌人时有概率使敌人着火!"<<endl; break;
case 184:cout<<"使用熔火锭制作的斧子。蕴含着火焰之力,可大幅提升砍树速度。"<<endl; break;
case 185:cout<<"使用熔火锭制作的稿子。蕴含着火焰之力,可大幅提升挖掘速度。"<<endl; break;
case 186:cout<<"使用熔火锭制作的头盔。蕴含着火焰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 187:cout<<"使用熔火锭制作的胸甲。蕴含着火焰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 188:cout<<"使用熔火锭制作的护腿。蕴含着火焰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 189:cout<<"使用熔火锭制作的靴子。蕴含着火焰之力,能很好的抵挡受到的伤害。"<<endl; break;
case 190:cout<<"凋零骷髅的头颅,上下都透露着不祥的气息..."<<endl; break;
case 1001:
cout<<"I 级治疗系药水,可以恢复 20 % 的生命。最多恢复 5 点生命值。"<<endl;
cout<<"使用后,会冷却 1 回合。"<<endl;
cout<<"0,返回  1,使用"<<endl;
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[1001]--; 
cout<<"你使用了治疗药水!"<<endl;
int recover=min(5,maxhealth/5);
Sleep(500); 
cout<<"你回复了 ";
sc(4);
cout<<recover<<" 点生命!"<<endl;
sc(7);
Sleep(500);
health+=min(recover,maxhealth-health);
cout<<"当前你有 ";
sc(4);
cout<<health<<" 点生命!"<<endl;
sc(7);
getch();
}  
break;
case 1002:
cout<<"I 级魔力系药水,可以恢复 30 % 的魔力。最多恢复 4 点魔力值。"<<endl;
cout<<"使用后,会冷却 1 回合。"<<endl;
cout<<"0,返回  1,使用"<<endl;
cin>>c_choose;
if(c_choose=='r'){
show_recipe(choose);
}
if(c_choose=='1'){
bag[1001]--; 
cout<<"你使用了魔力药水!"<<endl;
int recover=min(4,maxmagic/5);
Sleep(500); 
cout<<"你回复了 ";
sc(1);
cout<<recover<<" 点魔力!"<<endl;
sc(7);
Sleep(500);
magic+=min(recover,maxmagic-magic);
cout<<"当前你有 ";
sc(1);
cout<<magic<<" 点魔力!"<<endl;
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"<<endl; 
 for(int i=1;i<=1000;i++){
if(bag[i]!=0&&item[i].type!=0){
cout<<"编号 "<<i<<"  "<<itemname[i]<<" 数量:"<<bag[i]<<" 个"<<endl;
} 
else continue;
}
cout<<endl; 
cout<<"当前你装备头盔:"<<armor1name[armor1]<<"(+"<<armor1defense[armor1]<<")"<<endl; 
cout<<"当前你装备胸甲:"<<armor2name[armor2]<<"(+"<<armor2defense[armor2]<<")"<<endl; 
cout<<"当前你装备护腿:"<<armor3name[armor3]<<"(+"<<armor3defense[armor3]<<")"<<endl; 
cout<<"当前你装备靴子:"<<armor4name[armor4]<<"(+"<<armor4defense[armor4]<<")"<<endl; 
cout<<"当前你主手装备:"<<weapon1name[weapon1]<<"(+"<<weapon1attack[weapon1]<<")"<<endl; 
cout<<"当前你副手装备:"<<weapon2name[weapon2]<<"(+"<<weapon2attack[weapon2]<<")"<<endl;
cout<<"当前你使用斧子:"<<tool1name[tool1]<<endl;
cout<<"当前你使用稿子:"<<tool2name[tool2]<<endl;
sc(6); 
if(armor1==4&&armor2==4&&armor3==4&&armor4==4){//铁套套装奖励
cout<<"套装奖励:防御+2"<<endl; 
}
if(armor1==5&&armor2==5&&armor3==5&&armor4==5){//钻石套套装奖励 
cout<<"套装奖励:防御+3"<<endl; 
}
if(armor1==6&&armor2==6&&armor3==6&&armor4==6){//下界合金套套装奖励 
cout<<"套装奖励:防御+4"<<endl; 
}
if(armor1==7&&armor2==7&&armor3==7&&armor4==7){//流浪者套套装奖励 
cout<<"套装奖励:攻击+1"<<endl; 
}
if(armor1==8&&armor2==8&&armor3==8&&armor4==8){//远古套套装奖励 
cout<<"套装奖励:防御+6"<<endl; 
}
if(armor1==10&&armor2==10&&armor3==10&&armor4==10){//寒冰套套装奖励 
cout<<"套装奖励:魔力+5"<<endl; 
}
if(armor1==12&&armor2==12&&armor3==12&&armor4==12){//沙尘套套装奖励 
cout<<"套装奖励:暴击率+15%"<<endl; 
}
if(armor1==14&&armor2==14&&armor3==14&&armor4==14){//熔火套套装奖励 
cout<<"套装奖励:获得发射火球的能力"<<endl; 
cout<<"熔火弓使敌人着火的概率+20%"<<endl;
}
sc(7);
SetConsoleTitle("--装备--");
cout<<endl<<"0,退出  1,卸下武器  2,装备武器"<<endl;
cin>>choose;
fflush(stdin);
switch(choose){
case 0:
return;
break;
case 1://卸下装备 
cout<<"你要卸下?"<<endl;
cout<<"0,返回  1,头盔  2,胸甲  3,护腿  4,靴子  5,主手  6,副手  7,斧子  8,稿子"<<endl;
cin>>choose;
switch(choose){
case 5://主手 
if(weapon1==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
weapon1=0;
break;
case 6://副手 
if(weapon2==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
weapon2=0;
break;
case 7://斧子 
if(tool1==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
tool1=0;
break;
case 8://稿子 
if(tool2==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
tool2=0;
break;
case 1://头
if(armor1==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
} 
armor1=0; 
break;
case 2://甲
if(armor2==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
} 
armor2=0; 
break;
case 3://腿 
if(armor3==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
armor3=0;
break;
case 4://鞋
if(armor4==0){
cout<<"请勿乱输!"<<endl;
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<<" !"<<endl;
break;
}
}
armor4=0; 
break;
}
getch();
weapon();
break;
case 2: //装备武器 
cout<<"输入你背包中的武器/工具/装备编号以更换装备,不要乱输其他物品的编号!"<<endl<<endl;
cin>>choose;
if(bag[choose]<1){
cout<<"请勿乱输!"<<endl;
getch();
weapon();
return;
}
if(item[choose].type==0){
cout<<"请勿乱输!"<<endl;
getch();
weapon();
return;
}
bag[choose]--;
cout<<"已装备 "<<item[choose].itemname<<" !"<<endl;
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<<endl; 
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<<endl; 
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<<endl; 
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<<endl; 
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<<endl; 
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<<endl; 
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<<endl; 
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<<endl; 
bag[i]++;
break;
}
}
armor4=item[choose].level; 
break;
}
getch();
weapon();
return;
default:
cin.clear();
break;
}
}

void build(){//建造 
SetConsoleTitle("--建造--");
system("cls");
cout<<"输入编号以建造/放置建筑。"<<endl<<endl; 
if(bag[9]>=1) cout<<"编号1 建造 工作台 需要 工作台 x1"<<endl;
if(bag[18]>=1) cout<<"编号2 建造 熔炉 需要 熔炉 x1"<<endl; 
if(bag[54]>=1) cout<<"编号3 建造 锻造台 需要 锻造台 x1"<<endl;
if(bag[65]>=10) cout<<"编号4 建造 地狱传送门 需要 黑曜石 x10"<<endl;
if(bag[127]>=1) cout<<"编号5 建造 中级工作台 需要 中级工作台 x1"<<endl;
cout<<"\n输入 0 退出"<<endl;
cin>>choose;
switch(choose){
case 0:
return;
break; 
case 1:
if(bag[9]<1){
cout<<"请勿乱输!"<<endl;
getch();
build();
}
if(crafttable){
cout<<"你已经建造过 工作台 了!"<<endl;
getch();
build();
}
bag[9]-=1;
cout<<"建造成功!现在可合成更多物品!"<<endl;
crafttable=true;
getch(); 
build();
break;
case 2:
if(bag[18]<1){
cout<<"请勿乱输!"<<endl;
getch();
build();
}
if(furnace){
cout<<"你已经建造过 熔炉 了!"<<endl;
getch();
build();
}
bag[18]-=1;
cout<<"建造成功!现在可熔炼矿石!(在<合成>处熔炼,作者懒得多写一个函数)"<<endl;
furnace=true;
getch();
build();
break;
case 3:
if(bag[54]<1){
cout<<"请勿乱输!"<<endl;
getch();
build();
}
if(smithtable){
cout<<"你已经建造过 锻造台 了!"<<endl;
getch();
build();
}
bag[54]-=1;
cout<<"建造成功!现在可升级装备!(在<合成>处升级,作者懒得多写一个函数)"<<endl;
smithtable=true;
getch();
build();
break;
case 4:
if(bag[65]<10){
cout<<"请勿乱输!"<<endl;
getch();
build();
}
if(nether){
cout<<"你已经建造过 地狱传送门 了!"<<endl;
getch(); 
build();
}
bag[65]-=10;
cout<<"建造成功!现在可进入地狱!......"<<endl;
nether=true;
getch();
build();
break;
case 5:
if(bag[127]<1){
cout<<"请勿乱输!"<<endl;
getch();
build();
}
if(crafttable2){
cout<<"你已经建造过 中级工作台 了!"<<endl;
getch();
build();
}
bag[127]-=1;
cout<<"建造成功!现在可合成更多高级物品!"<<endl;
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你看到了这里!...你真无聊!!!"<<endl<<endl;;
//idk what did i want to express 
cout<<"2024/x/x  1.12.6:"<<endl;
cout<<"1,调整了流浪商人货物的价格"<<endl;
cout<<"2,加入“治疗”技能 - 未实装"<<endl;
cout<<"3,补充了物品描述"<<endl; 
cout<<"4,对查看物品界面进行了优化调整"<<endl;
cout<<"5,加入查看物品合成配方的功能!"<<endl;
cout<<"6,修正了某些愚蠢的配方错误"<<endl;
cout<<"7,在降级界面增加了提示"<<endl;
cout<<"8,优化了宽松状态下的显示界面"<<endl;
cout<<"9,加入“冥想术”技能 - 未实装"<<endl;
cout<<"10,在*&%/功能中加入免责声明以及确认"<<endl;
cout<<"11,修改了一些文字。"<<endl; 
cout<<endl<<endl;
cout<<"2024/3/1  1.12.5:"<<endl;
cout<<"1,修复了商店物品编号重叠少卖东西的bug"<<endl;
cout<<"2,将一些被动技能的触发时刻修改"<<endl;
cout<<"3,修改了《蔡JK传奇》的网址!(这算什么更新?"<<endl;
cout<<"4,修复了魔力药水无法在背包使用的bug"<<endl;
cout<<"5,修复了反弹技能似乎不对敌人造成伤害的bug,不过没人发现)"<<endl;
cout<<"6,修改了战斗函数中造成伤害的代码,现在连击,闪避等被动技能可以在各种情况下触发,同时减少了代码"<<endl; 
cout<<"7,减少了代码量"<<endl;
cout<<"8,修改了技能升级界面ui"<<endl;
cout<<"9,加入降级功能!允许玩家将已不再需要使用的技能转换为经验球,或减少魔力消耗等其他作用"<<endl;
cout<<"10,修复了关于读取存档的小问题。总之1号存档一般不会有问题,23号可能作者会出小纰漏。"<<endl; 
cout<<"11,将合成远古稿、远古斧、寒冰稿、寒冰斧消耗的木棍数修正为2(发现有些抽象"<<endl; 
cout<<"12,修改了在雪地中被偷袭致死后不会返回村庄的小问题"<<endl;
cout<<"13,加入新副本 沙漠神殿"<<endl;
cout<<"14,加入新技能 “冲刺”"<<endl;
cout<<"15,加入了 沙尘套装"<<endl; 
cout<<"16,加入了雪地商店"<<endl; 
cout<<"17,修复了侦察的bug,尽管压根没人用这个技能()也没人发现"<<endl;
cout<<"18,反弹,疯狂的开关不再消耗一回合"<<endl; 
cout<<"19,优化战斗"<<endl;
cout<<"20,现在熔火弓攻击有概率使敌人着火"<<endl;
cout<<endl;
cout<<"2023/12/17  1.12.4:"<<endl;
cout<<"1,应hqx要求在战斗判断了一下无效输入并返回。"<<endl;
cout<<"2,加入新技能“空气斩”,但没实装"<<endl;//已实装 
cout<<"3,战斗把之前没判定的被动技能重新判定了下。"<<endl;
cout<<"4,考虑到玩家体验和游戏流程,特将挖矿砍树的时间缩减1/3。(快说我良心!"<<endl;
cout<<"5,降低了矿洞挖矿时遇到怪物的概率 (一半"<<endl; 
cout<<"6,应hjq要求减少了副本冷却,改为半小时 - 满意了吧"<<endl;
cout<<"7,对恶霸村民再次削弱,真的有人会打不过吗?"<<endl;
cout<<"8,某些人干了太多坏事,改了一下信誉,现在刷信誉更快了,掉信誉稍微少了点。"<<endl;
cout<<"9,喝药不需要消耗回合力"<<endl;
cout<<"10,现在可以在背包内喝药了"<<endl;
cout<<"11,附魔师可以降级压缩经验球了"<<endl;
cout<<"12,降低了魔力护盾的冷却"<<endl;
cout<<"13,加入了一个抽象的随机名字"<<endl;
cout<<"14,修改了部分装备名"<<endl;
cout<<"15,魔力护盾不消耗回合"<<endl;
cout<<"16,加入了下界要塞"<<endl;
cout<<"17,金苹果可以吃了(所以之前都没有用?!"<<endl;
cout<<"18,修了保存存档的一个小bug"<<endl;
cout<<"19,加入熔火套装"<<endl;
cout<<"20,修复了技能冷却不减少的bug,原因是以前重写技能系统的时候忘修改了..."<<endl;
cout<<"21,修复了无效使用技能仍冷却且消耗魔力的bug"<<endl;
cout<<"22,增加了在丛林冒险遇到丛林神庙的概率"<<endl;
cout<<"23,在战斗时显示技能已冷却回合"<<endl;
cout<<"24,修复了流浪商人力量药出售失败的bug,因为不小心多打了个0..."<<endl;
cout<<"25,降低了骷髅掉落箭的数量"<<endl;
cout<<"26,修改了新手教程的地址(其实就去掉了ac.)"<<endl;
cout<<"27,削弱了寒冰洞窟里的士兵"<<endl; 
cout<<"28,略微增强寒冰洞窟中的敌怪"<<endl;
cout<<"29,修复了寒冰洞窟副本结束后仍冒险的bug"<<endl;
cout<<"30,对部分以前没有作颜色修改的地方进行调整"<<endl;
cout<<"31,略微削弱长弓挑战者"<<endl;
cout<<"32,加强三连击"<<endl;
cout<<"33,修改丛林神庙能二刷boss的bug"<<endl;
cout<<"34,增加丛林神庙敌怪技能书的掉率"<<endl;
cout<<"35,加入《蔡JK传奇》的入口"<<endl;
cout<<endl;
cout<<"2023/10/13  1.12.3:"<<endl;
cout<<"1,修复了健康技能的判定"<<endl;
cout<<"2,修复了战斗时使用技能颜色显示错误的bug"<<endl;
cout<<"3,改了开头?"<<endl; 
cout<<"4,加入了一个也许勉强算副本的东西...?雪地探险!"<<endl;
cout<<"5,简单修了一下代码数组格式(非游戏内容"<<endl;
cout<<"6,修了掉落物闪退的bug,rand()%0警钟敲烂"<<endl;
cout<<"7,修改附魔师界面。"<<endl;
cout<<"8,修复地狱挖矿的bug。"<<endl;
cout<<"9,修复副本被丛林守护者击败不死的bug。"<<endl;
cout<<"10,调整了部分Sleep()的时长和部分掉落物。"<<endl;
cout<<"11,商店可一次性出售多份物品"<<endl;
cout<<"12,钻石苹果能吃了。"<<endl;
cout<<"13,修改了流浪商人的代码以及价格。"<<endl;
cout<<"14,加入了寒冰装备!"<<endl;
cout<<"15,修改了雪地部分敌怪的掉落物。"<<endl; 
cout<<"16,冰冻的升级又变得更难啦!哈哈哈哈哈哈("<<endl;
cout<<"17,加入套装奖励机制!"<<endl;
cout<<"18,加入暴击机制。"<<endl;
cout<<"19,加入设置功能,可以调整显示界面。设置不支持保存(即存档),因为改了旧存档就不能用了"<<endl;
cout<<"但可以每次读取后都设置一次("<<endl; 
cout<<"20,现在战斗时执行无效操作不会跳过回合了,可以重新操作"<<endl;
cout<<"21,加入自动保存功能。可以在设置开启,防止各种原因丢失存档,"<<endl;
cout<<endl;
cout<<"1.12.2:"<<endl;
cout<<"1,修复了上个版本更新日志版本号标错的bug(((似乎我之前也标错过((("<<endl;
cout<<"2,修复了关于技能“魔力精通”与“力量”升级所需物品错误的bug,原因是作者CtrlV时忘改下标了("<<endl;
cout<<"3,修复了技能“力量”技能简介显示错误的bug,原因还是我忘改下标了(((但实战效果不变。"<<endl; 
cout<<"4,为大量贵物(划)怪物加入技能书掉落物,但概率较低(约为2%左右)。越强的怪掉率越高。"<<endl; 
cout<<"5,优化了技能升级界面,现在你在升级时会显示你所有的经验球数量和当前等级"<<endl; 
cout<<"6,新增技能“魔力精通”。" <<endl;
cout<<"7,新增丛林商店。" <<endl;
cout<<"8,新增技能“闪避”。"<<endl;
cout<<"9,修改技能界面,现显示是否为被动技能"<<endl;
cout<<"10,技能界面现在五颜六色("<<endl; 
cout<<"11,新增技能“连击”。"<<endl;
cout<<"12,战斗技能界面修改"<<endl; 
cout<<"13,商店物品价格调整"<<endl; 
cout<<"14,商店货物调整"<<endl; 
cout<<"15,新增技能“健康”。"<<endl;
cout<<"PS:代码里补了很多部分的注释,虽然我自己其实不用看"<<endl; //看你*呢 
cout<<"事实上,如冰冻这样的技能升级要求不可能如此简单。只是我没有写更多物品。\n所以请做好以后版本升级要求及其苛刻的准备(你这个版本能拿到本来就不合理\n甚至于雪怪本身的强度就不应该掉落冰冻技能书\n只是因为技能都写好了不实加进游戏不太好("<<endl;
cout<<endl;
cout<<"1.12.1:"<<endl;
cout<<"1,修改了丛林守护者boss技能优先级"<<endl;
cout<<"2,修复了丛林守护者无掉落物的bug(其实是忘写了((("<<endl;
cout<<"3,加入了出售功能,现在可以出售物品了"<<endl;
cout<<"4,加入猪灵"<<endl;
cout<<"5,修复装备需点击两次的小问题"<<endl; 
cout<<"6,地狱挖矿更新,加入更多矿石"<<endl;
cout<<"7,修复了商店不显示购买物品的bug"<<endl;
cout<<"8,稍微修改了掉落物部分的代码"<<endl;
cout<<"9,修复了狙击者·弓无法装备的bug"<<endl;
cout<<"10,修改了流浪者的掉落物"<<endl;
cout<<"11,修复了在某些地方能进入不存在的商店的bug"<<endl;
cout<<"12,修复了挖青金石掉落物错误的bug"<<endl;
cout<<"13,修改技能界面"<<endl;
cout<<"14,修改了背包查看信息的功能,现在你必须拥有此物品才能查看信息"<<endl;
cout<<"15,修复了钻石苹果不能吃的bug,现在在背包交互"<<endl;
cout<<"16,加入了杀死极域的功能(?"<<endl;
cout<<"17,修改技能界面ui"<<endl;
cout<<"18,当你没有压缩经验球时会隐藏界面"<<endl;
cout<<"19,修复了旅馆价格默认最低的bug"<<endl;
cout<<"20,增加狙击骷髅的经验和初次逃跑率"<<endl;
cout<<"21,技能重写完毕。"<<endl;
cout<<endl;
cout<<"1.12.0:"<<endl;
cout<<"1,修改了部分介绍,错别字"<<endl;
cout<<"2,修复了某些文本闪烁过快看不清的问题"<<endl;
cout<<"3,增加一些标题"<<endl;
cout<<"4,修复了流浪商人出售的稿子送货不正确的问题"<<endl; 
cout<<"5,加入了更多tips"<<endl;
cout<<"6,略微下调“流浪者之钝稿”的挖掘速度"<<endl;
cout<<"7,略微上调“流浪者之重斧”的挖掘速度"<<endl;
cout<<"8,增加两个存档,现允许保存三个角色的进度"<<endl;
cout<<"9,增加在村庄冒险时遇见抽奖机的概率"<<endl;
cout<<"10,修改了旅行家任务出错的bug"<<endl;
cout<<"11,提升了雪怪掉落冰冻技能书的概率"<<endl;
cout<<"12,加入了丛林神庙,第一个副本!"<<endl;
cout<<"13,加入了挖原石的上限,目的是为了防止挂机刷绿宝石。("<<endl;
cout<<"14,重做了装备与背包,现在更方便,实际上是重写了物品。\n值得高兴的是以前写的答辩代码删掉了。\n(以前的装备代码依托答辩"<<endl;
cout<<"15,重写了合成代码,现在编号按顺序,而且理论上比以前方便。\n(实际上没什么变化,但是代码长度大大减小了)" <<endl;
cout<<"16,重写了商店代码,但没有添加新内容。预计于下个版本添加,目前变化仅是减少了代码长度"<<endl<<"加入一个很臭的彩蛋。"<<endl<<"此版本很多预计内容没有写完,放出来只是因为我太久没有更新了()\n更多内容还请期待1.12.1!"<<endl; 
cout<<endl; 
cout<<"1.11.4:"<<endl;
cout<<"-1,加入了负数标号("<<endl; 
cout<<"0,加入了一个...tips?"<<endl; 
cout<<"1,调整了恶霸村民的数值,使玩家在初期与恶霸村民战斗时能保持较多血量。"<<endl;
cout<<"2,战斗界面增加了跳过回合选项(但是没啥用)"<<endl;
cout<<"3,完善了(一小部分)背包查看物品信息的功能"<<endl;
cout<<"4,修复了未持有该物品也可查看此物品信息的bug"<<endl;
cout<<"4,修复了战斗界面顺序错误**的**"<<endl;
cout<<"5,增加了新的装备"<<endl;
cout<<"6,再次增加敌人掉落物,同时修改敌人掉落物机制,现在掉落物可重复且概率数量更高更随机。"<<endl;
cout<<"7,增加了1.11.3的彩蛋的出现概率(指概率大了10倍\n但是,不注意可能也发现不了..."<<endl;
cout<<"8,修复了玩家可能在旅馆零元睡(?)的bug"<<endl;
cout<<"9,修复了玩家可以无限喝药水的bug"<<endl;
cout<<"10,修复了治疗药水最高仅恢复 4 点血量的bug"<<endl;
cout<<"11,加入更多药水"<<endl;
cout<<"12,修改了新手教程的网址,更新了新手教程"<<endl;
cout<<"13,优化了以前写的lj代码"<<endl;
cout<<"14,优化了剧情,世界观等内容"<<endl;
cout<<"15,修复了速度药水的bug"<<endl;
cout<<"16,在村庄加入了一台抽奖机,可以抽出各种****"<<endl;
cout<<"17,增加雪地冒险内容"<<endl;
cout<<"18,增加洞穴冒险内容"<<endl;
cout<<"19,加入了末影人"<<endl;
cout<<"20,增加地狱冒险内容"<<endl;
cout<<"21,9,000 行纪念!"<<endl;//屎( 
cout<<"22,下个版本预计会增加很多内容,可以试图查看本版本新增的代码预测()"<<endl;
cout<<"可能会加入死亡惩罚\n预计加入副本\n更新主线内容\n新增装备\n新增boss(真正意义上的)\n更多的技能?"<<endl;  
cout<<endl;
cout<<"1.11.3:"<<endl;
cout<<"1,修复了物品名称错位bug(虽然这个bug正常遇不到"<<endl;
cout<<"2,修复了作者写错版本号的bug((("<<endl;
cout<<"3,修复了作者写更新日志总要在后面加括号的bug("<<endl;
cout<<"4,经证实,上条bug并未被完全修复("<<endl;
cout<<"5,调整了技能界面,现在更美观(个人认为"<<endl;
cout<<"6,调整了强♂壮僵尸的数值,现在ta会使用重♂击技能"<<endl;
cout<<"7,调整了装备界面,现在显示装备为你带来的防御"<<endl;
cout<<"8,调整了商店的price"<<endl;
cout<<"9,调整了作♂者的更新日志,现在ta会标序♂号"<<endl;
sc(6|2);
cout<<"10,调整了颜色"<<endl;
sc(7);
cout<<"11,我们发现似乎与怪物战斗只能获得一些微不足道的经验和绿宝石。而且敌人的AI单一。\n这就导致战斗的收益与损耗是不成正比的,玩法也单一。\n且前期玩家没有强力装备时难以获胜\n在挖矿后做出装备了敌人又太弱♂了。\n所以,增加了敌人的掉落物,现在可能会掉落武器。\n同时略微上调敌人属性。"<<endl; 
cout<<"12,调整了村庄旅馆休息的价格,但愿能使玩家更热衷于战斗=)"<<endl;
cout<<"13,调整了存读档的范围,原因是物品的数量超过了我们先前的预期(指两个月前的预期)((("<<endl;
cout<<"14,修复了作者写错序号的bug"<<endl; 
cout<<"15,增加了新手教程!但愿能有更多人玩...会吗?"<<endl; 
cout<<"16,增加了出售功能,现在可以出售物品给流浪商人。"<<endl;
cout<<"17,增加附魔师的戏份()现在可以提升你的装备技能上限。"<<endl;
cout<<"18,删去一个没有用的功能"<<endl;
cout<<"19,本版本 游戏突破 8,000 行!"<<endl;
cout<<"20,加入一个彩蛋......只有运气好的人能碰到!"<<endl;
cout<<"21,修改了一些小细节..."<<endl;
cout<<endl;
cout<<"1.11.2:"<<endl;
cout<<"修复了附魔师提升魔力无限次数的bug"<<endl;
cout<<"修复了**商人不卖穿云箭技能书的bug"<<endl;
cout<<"修复了魔力保存错误的bug"<<endl;
cout<<"修复了附魔师不显示绿宝石的问题"<<endl;
cout<<"修复了商店的某些问题"<<endl;
sc(4|1);
cout<<"调整了颜色"<<endl;
sc(7);
cout<<"增加了**商人的货物,现有流浪者套装出售"<<endl;
cout<<"调整了入侵敌人的数据"<<endl;
cout<<"调整了僵尸,骷髅的敌怪的数据"<<endl;
cout<<endl;
cout<<"1.11.1:"<<endl;
cout<<"修复了作者不认真写更新日志的bug"<<endl;//如修 
cout<<"修复了作者不上传HFOJ的bug"<<endl;
cout<<"修复了作者随便糊弄在更新日志上夹带私货的bug(也可能没完全修好(("<<endl;
cout<<"修复了合成时材料不足也能合成导致负数的bug"<<endl;
cout<<"修复了无工作台锻造台熔炉也可合成的bug"<<endl;
cout<<"修复了地狱挖矿失败还tm退出不了的bug"<<endl;
cout<<"修复了一堆作者的忘记自己修复了的bug"<<endl;
cout<<"修复了部分显示问题"<<endl;
cout<<"修改了读存档系统"<<endl;
cout<<"调整了矿物,树木硬度,现在时间不那么长但也不那么短"<<endl;
cout<<"修复了作者脑子经常发热的bug"<<endl;
cout<<"P.S.本次更新加入了一个彩蛋......"<<endl;
cout<<endl;
cout<<"1.11.0:"<<endl;
color("爷会颜色辣!",1,7);
cout<<endl<<endl;
cout<<"1.10.9:"<<endl;
cout<<"stO DEV-C++ Orz"<<endl;
cout<<endl;
cout<<"1.10.8:"<<endl;
cout<<"修bug加了副手!!!!"<<endl;
cout<<endl;
cout<<"1.10.7:"<<endl;
cout<<"修bug加内容"<<endl;
cout<<endl;
cout<<"1.10.6:"<<endl;
cout<<"加入技能上限"<<endl;
cout<<endl;
cout<<"1.10.5:"<<endl;
cout<<"懒得写"<<endl;
cout<<endl;
cout<<"1.10.4:"<<endl;
cout<<"修复了bug"<<endl;
cout<<"完善大量内容"<<endl;
cout<<endl;
cout<<"1.10.3:"<<endl;
cout<<"修复了bug"<<endl;
cout<<"完善技能"<<endl;
cout<<endl;
cout<<"1.10.2:"<<endl;
cout<<"修复了bug"<<endl;
cout<<"优化了游戏体验,完善技能"<<endl;
cout<<endl;
cout<<"1.10.1:"<<endl;
cout<<"修复了bug"<<endl;
cout<<endl;
cout<<"1.10.0:"<<endl;//技能更新 
cout<<"增加了技能!"<<endl;
cout<<endl;
cout<<"1.9.4:"<<endl;
cout<<"增加了防机房朋友作弊的小手段(但还是可以)"<<endl;
cout<<"修复了合成的bug"<<endl;
cout<<"又双叒修复了关于存档的bug"<<endl;
cout<<endl;
cout<<"1.9.3:"<<endl;
cout<<"优化了游戏体验"<<endl;
cout<<"增加药水!"<<endl;
cout<<"修复了关于存档的严重bug"<<endl;
cout<<endl; 
cout<<"1.9.2:"<<endl;
cout<<"修复了已知bug"<<endl;
cout<<endl; 
cout<<"1.9.1:"<<endl;
cout<<"新增存读档功能!!!"<<endl;
cout<<endl;
cout<<"1.9.0:"<<endl;
cout<<"增加了黑曜石和下界合金系列物品,增加地狱传送门"<<endl;
cout<<"增加大量和下界合金有关的合成配方"<<endl;
cout<<"增加商店(1.9.0了你才搞商店???)"<<endl; 
cout<<endl;
cout<<"1.8.4:"<<endl;
cout<<"修复了装备的bug"<<endl;
cout<<"优化文本显示(say)"<<endl; 
cout<<endl;
cout<<"1.8.3:"<<endl;
cout<<"修复了一个一个非常严重的输入字符就卡死的bug(喜)"<<endl;
cout<<endl;
cout<<"1.8.2:"<<endl;
cout<<"合成配方+"<<endl;
cout<<"冒险内容+"<<endl;
cout<<endl;
cout<<"1.8.1:"<<endl;
cout<<"合成配方增加"<<endl;
cout<<"入侵修改"<<endl;
cout<<endl;
cout<<"1.8.0:"<<endl;
cout<<"村庄冒险内容修改"<<endl;
cout<<"信誉值修改"<<endl;
cout<<"增加任务"<<endl;
cout<<"增加Notch雕像,亡灵入侵"<<endl; 
cout<<endl; 
cout<<"1.7.4:"<<endl;
cout<<"合成完成部分配方"<<endl;
cout<<"平原冒险内容增加"<<endl;
cout<<endl; 
cout<<"1.7.3:"<<endl;
cout<<"装备系统增加护甲"<<endl;
cout<<"增加合成配方"<<endl;
cout<<endl; 
cout<<"1.7.2:"<<endl;
cout<<"增加了玩家开始不输入1的弱智功能(划掉)"<<endl;
cout<<"增加了一个无关紧要的升级计算系统"<<endl;
cout<<endl; 
cout<<"1.7.1:"<<endl;
cout<<"装备系统界面优化,bug修复"<<endl;
cout<<""<<endl;
cout<<endl; 
cout<<"1.7.0:"<<endl;
cout<<"增加装备系统"<<endl;
cout<<"增加矿物,配方,冒险内容"<<endl;
cout<<endl; 
cout<<"1.6.1:"<<endl;
cout<<"增加了砍树掉苹果的功能"<<endl;
cout<<"增加冒险内容"<<endl;
cout<<endl; 
cout<<"1.6.0:"<<endl;
cout<<"洞穴挖矿增加挖矿物功能"<<endl;
cout<<"增加大量合成配方"<<endl;
cout<<"剧情体验优化"<<endl;
cout<<"优化了敌怪AI,现分为近战AI和远程AI"<<endl; 
cout<<endl; 
cout<<"1.5.2:"<<endl;
cout<<"增加了信誉设定"<<endl;
cout<<"修改了村庄部分的冒险内容"<<endl;
cout<<endl; 
cout<<"1.5.1:"<<endl;
cout<<"合成完成部分配方"<<endl;
cout<<"增加了村庄部分冒险更新"<<endl;
cout<<"增加了查看物品详情的功能"<<endl;
cout<<endl; 
cout<<"1.5.0:"<<endl;
cout<<"增加查看物品详细信息的功能"<<endl; 
cout<<"建造完成部分内容"<<endl;
cout<<"添加了更多与石头有关的合成配方"<<endl;
cout<<endl; 
cout<<"1.4.0:"<<endl;
cout<<"挖矿完成挖石头"<<endl;
cout<<"修改了村庄部分冒险内容"<<endl;
cout<<endl; 
cout<<"1.3.1:"<<endl;
cout<<"合成完成部分配方"<<endl;
cout<<endl; 
cout<<"1.3.0:"<<endl;
cout<<"合成完成部分配方"<<endl;
cout<<"战斗系统,敌怪AI(弱智AI)完成"<<endl;//确实 
cout<<endl; 
cout<<"1.2.0:"<<endl;
cout<<"村庄部分冒险更新"<<endl;
cout<<"背包完成"<<endl;
cout<<endl;
cout<<"1.1.0:"<<endl;
cout<<"砍树完成"<<endl;
cout<<"优化了界面"<<endl; 
cout<<endl; 
cout<<"1.0.0:"<<endl;
cout<<"游戏基本内容确定"<<endl;
cout<<"前进,剧情完成"<<endl;
cout<<endl; 
cout<<"输入任意键继续..."<<endl; 
getch(); 
}

void save(){//存档 
switch(saving){
case 0:
return;
break; 
case 1:{
ofstream outfile("你的MINECRAFT存档.txt",std::ios::trunc|ios::binary|ios::in|ios::out);
outfile<<ver<<" "<<name<<" "<<" "<<place<<" "<<maxhealth<<" "<<health<<" "<<basicmagic<<" "<<magic<<" "<<magicup<<" "<<attack<<" "<<defense<<" "<<money<<" "<<experience<<" "<<level<<" "<<speed<<" "<<xp_orb<<" ";
outfile<<credit<<" "<<weapon1<<" "<<weapon2<<" "<<tool1<<" "<<tool2<<" "<<attackdis1<<" "<<attackdis2<<" "<<armor1<<" "<<armor2<<" "<<armor3<<" "<<armor4<<" ";
outfile<<nether<<" "<<ender<<" "<<dead<<" "<<defend<<" "<<blessing<<" "<<crafttable<<" "<<furnace<<" "<<smithtable<<" "<<crafttable2<<" ";
outfile<<undeadattack<<" "<<attacklevel<<" "<<diamondapple<<" "<<badguy<<" "<<weaponcheck<<" "<<blesscold<<" ";
outfile<<task1<<" "<<farland<<" "<<jungle_temple<<" "<<desert_temple<<" "<<woodland_mansion<<" "<<stronghold<<" "<<nether_fortress<<" "<<bastion_remnants<<" "<<end_city<<endl;
for(int i=0;i<200;i++) outfile<<bag[i]<<" ";
for(int i=1001;i<1020;i++) outfile<<bag[i]<<" ";
for(int i=1;i<=7;i++) outfile<<hard_max[i]<<" ";
for(int i=1;i<=7;i++) outfile<<time_last[i]<<" ";
for(int i=1;i<10;i++) outfile<<arrow[i]<<" ";
outfile<<endl;
for(int i=1;i<=100;i++) outfile<<skill[i]<<" "<<skillcold[i]<<" "<<skillmagic[i]<<" "<<sk[i].skilltake<<endl;
outfile<<skilltakemax<<" "<<skilltakenow;
outfile.close();
break;
}
case 2:{
ofstream outfile("你的MINECRAFT存档2.txt",std::ios::trunc|ios::binary|ios::in|ios::out);
outfile<<ver<<" "<<name<<" "<<" "<<place<<" "<<maxhealth<<" "<<health<<" "<<basicmagic<<" "<<magic<<" "<<magicup<<" "<<attack<<" "<<defense<<" "<<money<<" "<<experience<<" "<<level<<" "<<speed<<" "<<xp_orb<<" ";
outfile<<credit<<" "<<weapon1<<" "<<weapon2<<" "<<tool1<<" "<<tool2<<" "<<attackdis1<<" "<<attackdis2<<" "<<armor1<<" "<<armor2<<" "<<armor3<<" "<<armor4<<" ";
outfile<<nether<<" "<<ender<<" "<<dead<<" "<<defend<<" "<<blessing<<" "<<crafttable<<" "<<furnace<<" "<<smithtable<<" "<<crafttable2<<" ";
outfile<<undeadattack<<" "<<attacklevel<<" "<<diamondapple<<" "<<badguy<<" "<<weaponcheck<<" "<<blesscold<<" ";
outfile<<task1<<" "<<farland<<" "<<jungle_temple<<" "<<desert_temple<<" "<<woodland_mansion<<" "<<stronghold<<" "<<nether_fortress<<" "<<bastion_remnants<<" "<<end_city<<endl;
for(int i=0;i<200;i++) outfile<<bag[i]<<" ";
for(int i=1001;i<1020;i++) outfile<<bag[i]<<" ";
for(int i=1;i<=7;i++) outfile<<hard_max[i]<<" ";
for(int i=1;i<=7;i++) outfile<<time_last[i]<<" ";
for(int i=1;i<10;i++) outfile<<arrow[i]<<" ";
outfile<<endl;
for(int i=1;i<=100;i++) outfile<<skill[i]<<" "<<skillcold[i]<<" "<<skillmagic[i]<<" "<<sk[i].skilltake<<endl;
outfile<<skilltakemax<<" "<<skilltakenow;
outfile.close();
break;
}
case 3:{
ofstream outfile("你的MINECRAFT存档3.txt",std::ios::trunc|ios::binary|ios::in|ios::out);
outfile<<ver<<" "<<name<<" "<<" "<<place<<" "<<maxhealth<<" "<<health<<" "<<basicmagic<<" "<<magic<<" "<<magicup<<" "<<attack<<" "<<defense<<" "<<money<<" "<<experience<<" "<<level<<" "<<speed<<" "<<xp_orb<<" ";
outfile<<credit<<" "<<weapon1<<" "<<weapon2<<" "<<tool1<<" "<<tool2<<" "<<attackdis1<<" "<<attackdis2<<" "<<armor1<<" "<<armor2<<" "<<armor3<<" "<<armor4<<" ";
outfile<<nether<<" "<<ender<<" "<<dead<<" "<<defend<<" "<<blessing<<" "<<crafttable<<" "<<furnace<<" "<<smithtable<<" "<<crafttable2<<" ";
outfile<<undeadattack<<" "<<attacklevel<<" "<<diamondapple<<" "<<badguy<<" "<<weaponcheck<<" "<<blesscold<<" ";
outfile<<task1<<" "<<farland<<" "<<jungle_temple<<" "<<desert_temple<<" "<<woodland_mansion<<" "<<stronghold<<" "<<nether_fortress<<" "<<bastion_remnants<<" "<<end_city<<endl;
for(int i=0;i<200;i++) outfile<<bag[i]<<" ";
for(int i=1001;i<1020;i++) outfile<<bag[i]<<" ";
for(int i=1;i<=7;i++) outfile<<hard_max[i]<<" ";
for(int i=1;i<=7;i++) outfile<<time_last[i]<<" ";
for(int i=1;i<10;i++) outfile<<arrow[i]<<" ";
outfile<<endl;
for(int i=1;i<=100;i++) outfile<<skill[i]<<" "<<skillcold[i]<<" "<<skillmagic[i]<<" "<<sk[i].skilltake<<endl;
outfile<<skilltakemax<<" "<<skilltakenow;
outfile.close();
break;
}
default:
cout<<"请勿乱输!"<<endl;
return;
break;  
}
cout<<"保存成功!"<<endl;
return;
}

void read(){//读档22
string name114=name;
SetConsoleTitle("--读取--"); 
system("cls");
cout<<"你确定要读取存档吗?若你没有保存过就最好不要读取(这可能会触发反作弊机制,后果自负)。\n读取会覆盖你当前的游戏进度。"<<endl;
//你说得对,但是反作弊被我删了( 
cout<<"0,返回  1,确定"<<endl;
cin>>choose;
if(choose==0) return;
cout<<"你要读取于那个存档?"<<endl;
cout<<"1,1号存档  2,2号存档  3,3号存档"<<endl;
cin>>reading;
SetConsoleTitle("--读取中--"); 
cout<<"读取存档中..."<<endl;
Sleep(2000); 
switch(reading){
case 0:
return;
break;  
case 1:{
ifstream fin("你的MINECRAFT存档.txt");
fin>>version>>name;
system("cls");
cout<<"读取到"<<name<<"的存档!"<<endl;
if(ver!=version){
cout<<"警告:你正在读取"<<version<<"的存档!\n当前版本为"<<ver<<",可能会出现漏洞,后果自负!"<<endl;
cout<<"0,返回  1,爷知道爷在做什么"<<endl;
cin>>choose;
if(choose==1){
cout<<"祝你好运..."<<endl;
Sleep(1000);
}else return;
}else{
cout<<"0,返回  1,读取"<<endl;
cin>>choose;
if(choose==0){
name=name114;
return;
}
cout<<"读取存档成功!"<<endl;
}
fin>>place>>maxhealth>>health>>basicmagic>>magic>>magicup>>attack>>defense>>money>>experience>>level>>speed>>xp_orb;
fin>>credit>>weapon1>>weapon2>>tool1>>tool2>>attackdis1>>attackdis2>>armor1>>armor2>>armor3>>armor4;
fin>>nether>>ender>>dead>>defend>>blessing>>crafttable>>furnace>>smithtable>>crafttable2;
fin>>undeadattack>>attacklevel>>diamondapple>>badguy>>weaponcheck>>blesscold;
fin>>task1>>farland>>jungle_temple>>desert_temple>>woodland_mansion>>stronghold>>nether_fortress>>bastion_remnants>>end_city;
for(int i=0;i<200;i++) fin>>bag[i];
for(int i=1001;i<1020;i++) fin>>bag[i];
for(int i=1;i<=7;i++) fin>>hard_max[i];
for(int i=1;i<=7;i++) fin>>time_last[i];
for(int i=1;i<10;i++) fin>>arrow[i];
for(int i=1;i<=100;i++) fin>>skill[i]>>skillcold[i]>>skillmagic[i]>>sk[i].skilltake;
fin>>skilltakemax>>skilltakenow;
break;
}
case 2:{
ifstream fin("你的MINECRAFT存档2.txt");  
fin>>version>>name;
system("cls");
cout<<"读取到"<<name<<"的存档!"<<endl;
if(ver!=version){
cout<<"警告:你正在读取"<<version<<"的存档!\n当前版本为"<<ver<<",可能会出现漏洞,后果自负!"<<endl;
cout<<"0,返回  1,爷知道爷在做什么"<<endl;
cin>>choose;
if(choose==1){
cout<<"祝你好运..."<<endl;
Sleep(1000);
}else return;
}else{
cout<<"0,返回  1,读取"<<endl;
cin>>choose;
if(choose==0){
name=name114;
return;
}
cout<<"读取存档成功!"<<endl;
}
fin>>place>>maxhealth>>health>>basicmagic>>magic>>magicup>>attack>>defense>>money>>experience>>level>>speed>>xp_orb;
fin>>credit>>weapon1>>weapon2>>tool1>>tool2>>attackdis1>>attackdis2>>armor1>>armor2>>armor3>>armor4;
fin>>nether>>ender>>dead>>defend>>blessing>>crafttable>>furnace>>smithtable>>crafttable2;
fin>>undeadattack>>attacklevel>>diamondapple>>badguy>>weaponcheck>>blesscold;
fin>>task1>>farland>>jungle_temple>>desert_temple>>woodland_mansion>>stronghold>>nether_fortress>>bastion_remnants>>end_city;
for(int i=0;i<200;i++) fin>>bag[i];
for(int i=1001;i<1020;i++) fin>>bag[i];
for(int i=1;i<=7;i++) fin>>hard_max[i];
for(int i=1;i<=7;i++) fin>>time_last[i];
for(int i=1;i<10;i++) fin>>arrow[i];
for(int i=1;i<=100;i++) fin>>skill[i]>>skillcold[i]>>skillmagic[i]>>sk[i].skilltake;
fin>>skilltakemax>>skilltakenow;
break;
}
case 3:{
ifstream fin("你的MINECRAFT存档3.txt");  
fin>>version>>name;
system("cls");
cout<<"读取到"<<name<<"的存档!"<<endl;
if(ver!=version){
cout<<"警告:你正在读取"<<version<<"的存档!\n当前版本为"<<ver<<",可能会出现漏洞,后果自负!"<<endl;
cout<<"0,返回  1,爷知道爷在做什么"<<endl;
cin>>choose;
if(choose==1){
cout<<"祝你好运..."<<endl;
Sleep(1000);
}else return;
}else{
cout<<"0,返回  1,读取"<<endl;
cin>>choose;
if(choose==0){
name=name114;
return;
}
cout<<"读取存档成功!"<<endl;
}
fin>>place>>maxhealth>>health>>basicmagic>>magic>>magicup>>attack>>defense>>money>>experience>>level>>speed>>xp_orb;
fin>>credit>>weapon1>>weapon2>>tool1>>tool2>>attackdis1>>attackdis2>>armor1>>armor2>>armor3>>armor4;
fin>>nether>>ender>>dead>>defend>>blessing>>crafttable>>furnace>>smithtable>>crafttable2;
fin>>undeadattack>>attacklevel>>diamondapple>>badguy>>weaponcheck>>blesscold;
fin>>task1>>farland>>jungle_temple>>desert_temple>>woodland_mansion>>stronghold>>nether_fortress>>bastion_remnants>>end_city;;
for(int i=0;i<200;i++) fin>>bag[i];
for(int i=1001;i<1020;i++) fin>>bag[i];
for(int i=1;i<=7;i++) fin>>hard_max[i];
for(int i=1;i<=7;i++) fin>>time_last[i];
for(int i=1;i<10;i++) fin>>arrow[i];
for(int i=1;i<=100;i++) fin>>skill[i]>>skillcold[i]>>skillmagic[i]>>sk[i].skilltake;
fin>>skilltakemax>>skilltakenow;
break;
}
} 

cout<<"已读取 "<<name<<" 的存档!"<<endl;
getch();
return;
}

void add_skill(int num,string skillname,char rarity,int level_max,int magic,int cold){
sk[num].skillname=skillname;
sk[num].rarity=rarity;
sk[num].level_max=level_max;
sk[num].magic[1]=magic;
sk[num].cold[1]=cold;
return;
}

void skill_print(int x){//打印技能介绍 
cout<<endl;
switch(x){
case 1:
cout<<"\n可以查看敌人的属性,对于比自己过于强大的敌人会侦察失败。"<<endl;
cout<<"提升自己的等级可以使自己的侦察能力增强。"<<endl;
break;
case 2:
cout<<"\n使自己造成一次重击。\n"<<endl;
cout<<"伤害比原来增加 "<<1+skill[2]<<" 点。"<<endl;
break;
case 3:
cout<<"\n使自己连续造成三次攻击。"<<endl;
cout<<"\n但伤害仅为原来的 "<<45+skill[3]*5<<"% 。"<<endl;
break;
case 4:
cout<<"\n射出一支穿透箭,无视敌人的防御,固定造成 "<<3+skill[4]*2<<" 点真实伤害。\n\nP.S.射程:10"<<endl;
break;
case 5:
cout<<"\n下次受到攻击时反弹伤害。"<<endl;
cout<<"\n伤害为敌人的 "<<25+skill[5]*5<<"% 。"<<endl;
break;
case 6:
cout<<"\n进入疯狂模式!"<<endl;
cout<<"\n防御减少 "<<6+skill[6]*3<<" 点,但增加攻击 "<<skill[6]<<" 点。"<<endl;
break;
case 7:
cout<<"\n增加防御 "<<1+skill[7]<<" 点,最多叠加 5 次。"<<endl;
break;
case 8:
cout<<"\n战斗时,攻击力增加 "<<skill[8]<<" 点。"<<endl;
break;
case 9:
cout<<"\n战斗时,魔力上限增加 "<<2+skill[9]<<" 点。"<<endl;
break;
case 10:
cout<<"\n战斗时,有 "<<2+skill[10]<<"% 的概率躲避敌人的攻击,关键时刻能救你一命。"<<endl;
break;
case 11:
cout<<"\n战斗时,主手攻击有 25% 的概率触发连击,\n\n对敌人额外造成 "<<2+skill[11]<<" 点伤害。"<<endl;
break;
case 12:
cout<<"\n战斗中,当生命≥70%时,\n\n额外增加 "<<1+skill[12]*3<<" 点防御。"<<endl;
break;
case 13:
cout<<"\n使自己造成一次攻击。"<<endl;
cout<<"\n攻击距离提升 "<<skill[13]+1<<" !"<<endl;
break;
case 14:
cout<<"\n向一个方向冲刺移动 "<<3+skill[14]<<" 格!"<<endl;
cout<<"PS:必须等于 "<<3+skill[14]<<" 格"<<endl;
break;
case 15:
cout<<"\n恢复 "<<3+skill[15]<<" 点生命。"<<endl;
break;
case 16:
cout<<"\n将一个主动技能的冷却回合减少 "<<2+(skill[16]==3)<<" !"<<endl;
break;
case 33:
cout<<"\n运用冰冻之力将敌人冰冻 " <<floor(2+skill[33]*0.6)<<" 回合,期间无法行动"<<endl;
cout<<"\n并且期间每回合对敌人造成真实伤害 "<<1+skill[33]*2<<" 点。"<<endl;
break;
}
}
 
void skilluse(){//技能 
while(1){
SetConsoleTitle("--技能--");
system("cls");
cout<<"输入编号以查看/升级技能!\n"<<endl;
cout<<"显示顺序为 技能编号-技能名-等级-冷却-魔力"<<endl<<endl;
for(int i=1;i<=40;i++){
if(skill[i]>=1){
cout<<"技能编号 "<<i<<" ";
if(sk[i].rarity=='C') sc(7); //C级技能 白色 
if(sk[i].rarity=='B') sc(1);//B 蓝
if(sk[i].rarity=='A') sc(5);//A 紫 
if(sk[i].rarity=='S') sc(6);//S 黄 
cout<<sk[i].skillname;
sc(7);//白 
sc(4);//红
cout<<" Lv.";
if(skill[i]==sk[i].level_max) cout<<"MAX ";//判断满级 
else cout<<skill[i]<<" ";
if(sk[i].magic[skill[i]]==0&&sk[i].cold[skill[i]]==0){//判断被动技能 
sc(3);//浅蓝 
cout<<" <被动技能>"<<endl;
} 
if(sk[i].magic[max(skill[i],1)]!=0){
sc(3);//浅蓝 
cout<<"冷却:";
cout<<sk[i].cold[max(1,skill[i])];
sc(1);//蓝 
cout<<" 消耗魔力:";
cout<<sk[i].magic[max(1,skill[i])]<<endl;
}
if(wide) cout<<endl;
}else{
if(bag[i+64]>=1&&skill[i]!=sk[i].level_max){
cout<<"技能编号 "<<i<<" ";
if(sk[i].rarity=='C') sc(7);//C级技能 白色 
if(sk[i].rarity=='B') sc(1);//B 蓝 
if(sk[i].rarity=='A') sc(5);//A 紫 
if(sk[i].rarity=='S') sc(6);//S 黄 
cout<<sk[i].skillname;
sc(7);//白 
cout<<" Lv.";
sc(2);//可升级 绿色 
if(skill[i]<1) cout<<"可学习"<<endl;
else cout<<"可升级"<<endl;
if(wide) cout<<endl;
} 
}
sc(7);//白 
}
cout<<endl<<"0,返回  1,查看技能  2,装备技能"<<endl;
cin>>choose;
int n=0;//用于记录以前的选择 
switch(choose){
case 0:
return;
break;  
case 1:
cout<<"输入你要查看的技能的编号  0,返回"<<endl;
cin>>choose;
if(choose==0){
break;
} 
n=choose;
if(bag[choose+64]>=1||skill[choose]>=1){
system("cls");
cout<<"技能名:";
if(sk[choose].rarity=='C') sc(7); //C级技能 白色 
if(sk[choose].rarity=='B') sc(1);//B 蓝 
if(sk[choose].rarity=='A') sc(5);//A 紫 
if(sk[choose].rarity=='S') sc(6);//S 黄
cout<<sk[choose].skillname<<"\n";
cout<<sk[choose].rarity<<" ";
sc(7);//白 
if(skill[choose]<sk[choose].level_max){
sc(2);//绿 
cout<<"可升级";
sc(7);//白 
}
sc(4);//红 
cout<<" Lv.";
if(skill[choose]==sk[choose].level_max) cout<<"MAX"<<endl;//判断满级 
else cout<<skill[choose]<<endl;
sc(7);
if(sk[choose].magic[max(1,skill[choose])]==0&&sk[choose].cold[max(1,skill[choose])]==0){//判断被动技能 
sc(3);//浅蓝 
 cout<<" <被动技能>";
 sc(7);//白 
} 
if(sk[choose].magic[max(skill[choose],1)]!=0){
sc(3);//浅蓝
cout<<"冷却:";
cout<<sk[choose].cold[max(1,skill[choose])];
sc(1);//蓝
cout<<" 消耗魔力:";
cout<<sk[choose].magic[max(1,skill[choose])];
sc(7);//白 
}
bool a=false;//是否0级 
if(skill[choose]==0) skill[choose]=1,a=true;//显示1级数据 
skill_print(choose);
if(a) skill[choose]=0;//改回等级 
cout<<"\n0,返回  1,";
if(skill[choose]>=1) cout<<"升级";
else cout<<"学习";//小细节(第一次是学习 
if(skill[choose]>=1&&choose!=1){//可降级,显示 
sc(4);cout<<"  2,降级";sc(7);
}
cout<<endl; 
cin>>choose;
system("cls");
if(choose==1){
choose=n;
//cout<<choose<<" "<<sk[choose].num[skill[choose]+1]<<endl;
if(skill[choose]==sk[choose].level_max){
cout<<"此技能已是最高等级!"<<endl;
getch();
}else{
if(skill[choose]>=1){
cout<<"升级后效果:";
skill[choose]++;//预览 
skill_print(choose);
if(sk[choose].magic[skill[choose]-1]!=sk[choose].magic[skill[choose]]){
sc(1);//蓝 
cout<<"消耗魔力:"<<sk[choose].magic[skill[choose]-1]<<" -> "<<sk[choose].magic[skill[choose]]<<endl;//魔力变化 
sc(7);//白 
} 
if(sk[choose].cold[skill[choose]-1]!=sk[choose].cold[skill[choose]]){
sc(3);//浅蓝 
cout<<"冷却:"<<sk[choose].cold[skill[choose]-1]<<" -> "<<sk[choose].cold[skill[choose]]<<endl;//冷却变化 
sc(7);//白 
} 
skill[choose]--;
}
if(skill[choose]>=1) cout<<"\n---\n\n升级";
else cout<<"学习";
cout<<"此技能需要:\n"<<endl;
for(int i=1;i<=sk[choose].num[skill[choose]+1];i++){//打印升级物品列表 
cout<<i<<". "<<item[sk[choose].levelup[skill[choose]+1][i][1]].itemname<<" x"<<sk[choose].levelup[skill[choose]+1][i][2]<<endl; 
}
if(sk[choose].level[skill[choose]+1]>1) cout<<"等级大于等于 "<<sk[choose].level[skill[choose]+1]<<" 级"<<endl;
if(sk[choose].xp_orb[skill[choose]+1]>=1){
sc(2);//改绿色
cout<<sk[choose].xp_orb[skill[choose]+1]<<" 个压缩经验球"<<endl; 
sc(7);//白 
} 
cout<<"\n---\n\n当前你有:\n"<<endl;
for(int i=1;i<=sk[choose].num[skill[choose]+1];i++){//打印物品列表 
if(bag[sk[choose].levelup[skill[choose]+1][i][1]]<sk[choose].levelup[skill[choose]+1][i][2]) sc(4);//红 
cout<<i<<". "<<item[sk[choose].levelup[skill[choose]+1][i][1]].itemname<<" x"<<bag[sk[choose].levelup[skill[choose]+1][i][1]]<<endl; 
sc(7);
}
if(level<sk[choose].level[skill[choose]+1])  sc(4);//红 
cout<<"当前你的等级为 "<<level<<" 级"<<endl;
if(xp_orb>=sk[choose].xp_orb[skill[choose]+1])  sc(2);//改绿色 
else sc(4);//红 
cout<<"当前你有 "<<xp_orb<<" 个压缩经验球"<<endl;
sc(7);
cout<<"\n0,返回  1,";
if(skill[choose]>=1) cout<<"升级"<<endl;
else cout<<"学习"<<endl;
cin>>choose;
bool flag=true;//判断是否满足条件 
if(choose==1){//检查条件
choose=n; 
if(level<sk[choose].level[skill[choose]+1]) flag=false;//等级 
if(xp_orb<sk[choose].xp_orb[skill[choose]+1]) flag=false;//经验球 
for(int i=1;i<=sk[choose].num[skill[choose]+1];i++){//物品 
if(bag[sk[choose].levelup[skill[choose]+1][i][1]]<sk[choose].levelup[skill[choose]+1][i][2]) flag=false;
}
if(!flag){
cout<<"你不满足";
if(skill[choose]>=1) cout<<"升级条件!"<<endl;
else cout<<"学习条件"<<endl;
getch();
}else{
skill[choose]++;
xp_orb-=sk[choose].xp_orb[skill[choose]];//经验球 
for(int i=1;i<=sk[choose].num[skill[choose]];i++){//物品减少
bag[sk[choose].levelup[skill[choose]][i][1]]-=sk[choose].levelup[skill[choose]][i][2];
}
if(skill[choose]>1) cout<<"升级成功!"<<endl;
else cout<<"学习成功!"<<endl;
getch(); 
}
}
}
/*
这么长这么臭的代码才写这么点注释?! 
还好是没bug的,反正也不用改,写不写都一样 (
*/ 
}
if(choose==2){
choose=n;
if(skill[choose]<1||choose==1){
cout<<"请勿乱输!"<<endl;
getch();
}else{
cout<<"你确定要将此技能降级吗?";sc(4);cout<<"降级只会返还升级所消耗的 50% 的经验球,且不会返还技能书。"<<endl<<endl;sc(7);
if(sk[choose].xp_orb[skill[choose]]!=0){
cout<<"将 "<<sk[choose].skillname<<" 技能降级可获得 ";sc(2);cout<<sk[choose].xp_orb[skill[choose]]/2<<" 个压缩经验球";sc(7);cout<<"。"<<endl;
} 
else{
cout<<"将 "<<sk[choose].skillname<<" 技能降级";sc(4);cout<<"不会获得压缩经验球"<<endl;sc(7);
}
if(skill[choose]==1){
sc(4);cout<<endl<<"降级后,你将失去此技能"<<endl;sc(7);
}
cout<<endl<<endl<<"0,返回  1,确定"<<endl;
cin>>choose;
if(choose==1){ 
xp_orb+=sk[n].xp_orb[skill[n]]/2;
skill[n]--;
cout<<"降级成功!"<<endl;
sc(2);
cout<<"当前你有 "<<xp_orb<<" 个压缩经验球"<<endl;
sc(7);
getch();
sc(4);
if(skill[n]) cout<<sk[n].skillname<<" 技能当前的等级为 "<<skill[n]<<" 级"<<endl;
else cout<<sk[n].skillname<<" 技能已被遗忘"<<endl;
sc(7);
getch();
} 
}
}
}else{
cout<<"你没有此技能!"<<endl;  
getch();
system("cls"); 
break;
}
break;  
case 2:
cout<<"当前可装备技能上限:"<<skilltakemax<<" 个 (当前已装备 "<<skilltakenow<<" 个)"<<endl<<endl;
for(int i=1;i<=40;i++){
if(sk[i].skilltake==true){
cout<<"已装备:编号 "<<i<<" ";
if(sk[i].rarity=='C') sc(7); //C级技能 白色 
if(sk[i].rarity=='B') sc(1);//B 蓝
if(sk[i].rarity=='A') sc(5);//A 紫 
if(sk[i].rarity=='S') sc(6);//S 黄
cout<<sk[i].skillname<<endl;
sc(7);
} 
else continue; 
}
cout<<endl<<"0,返回  1,卸下技能  2,装备技能"<<endl;
cin>>choose;
switch(choose){
case 0:
continue;
break;
case 1:
cout<<"输入要卸下的技能编号!"<<endl;
cin>>choose;
if(sk[choose].skilltake==true){
skilltakenow--;
sk[choose].skilltake=false;
cout<<"已卸下 "<<sk[choose].skillname<<" !"<<endl;
getch();
continue;
}else{
cout<<"你没有装备此技能!"<<endl;
getch();
continue;
}
break;
case 2:
if(skilltakenow>=skilltakemax){
cout<<"技能数已满!请先卸下技能!"<<endl;
getch();
continue;
}
cout<<"输入要装备的技能编号!"<<endl;
cin>>choose;
if(sk[choose].skilltake==false&&skill[choose]>0){
skilltakenow++;
sk[choose].skilltake=1;
cout<<"已装备 "<<sk[choose].skillname<<" !"<<endl;
getch();
continue;
}else{
cout<<"你已装备此技能或没有此技能!"<<endl;
getch();
continue;
}
break;  
}
break;  
}
}
}

void itemreset(){//物品初始化 
for(int i=1;i<=200;i++){
//bag[i]=100;//每次都忘删... 
item[i].itemname=itemname[i];
item[i].type=itemtype[i];
item[i].level=itemlevel[i];
item[i].sell_num=item_sell_num[i];
item[i].sell_price=item_sell_price[i];
//skill[i]=1;
}
return;
}

void skillreset(){//qwq补数据补了好久!!!少说半小时
//分布很清晰:设置升级物品数 魔力 冷却 升级物品编号,数量,等级,经验
//注释不是写给我自己的awa 所以是写给在看的你的吖  
add_skill(1,"侦察",'C',1,5,0);

add_skill(2,"重击",'C',3,6,2);
sk[2].num[1]=1;//重击 0-1 
sk[2].levelup[1][1][1]=66 , sk[2].levelup[1][1][2]=1 , sk[2].level[1]=1 , sk[2].xp_orb[1]=0;

sk[2].num[2]=1;//重击 1-2 
sk[2].magic[2]=8 , sk[2].cold[2]=2;
sk[2].levelup[2][1][1]=66 , sk[2].levelup[2][1][2]=2 , sk[2].level[2]=5 , sk[2].xp_orb[2]=5;

sk[2].num[3]=1;//重击 2-3 
sk[2].magic[3]=10 , sk[2].cold[3]=2;
sk[2].levelup[3][1][1]=66 , sk[2].levelup[3][1][2]=4 , sk[2].level[3]=15 , sk[2].xp_orb[3]=20;

add_skill(3,"三连击",'C',3,6,2);

sk[3].num[1]=1;//三连击 0-1 
sk[3].levelup[1][1][1]=67 , sk[3].levelup[1][1][2]=1 , sk[3].level[1]=1 , sk[3].xp_orb[1]=0;

sk[3].num[2]=1;//三连击 1-2 
sk[3].magic[2]=8 , sk[3].cold[2]=2;
sk[3].levelup[2][1][1]=67 , sk[3].levelup[2][1][2]=2 , sk[3].level[2]=5 , sk[3].xp_orb[2]=5;

sk[3].num[3]=1;//三连击 2-3 
sk[3].magic[3]=10 , sk[3].cold[3]=2;
sk[3].levelup[3][1][1]=67 , sk[3].levelup[3][1][2]=4 , sk[3].level[3]=15 , sk[3].xp_orb[3]=20;

add_skill(4,"穿云箭",'C',3,7,3);
sk[4].num[1]=1;//穿云箭 0-1 
sk[4].levelup[1][1][1]=68 , sk[4].levelup[1][1][2]=1 , sk[4].level[1]=1 , sk[4].xp_orb[1]=0;

sk[4].num[2]=1;//穿云箭 1-2 
sk[4].magic[2]=9 , sk[4].cold[2]=3;
sk[4].levelup[2][1][1]=68 , sk[4].levelup[2][1][2]=2 , sk[4].level[2]=5 , sk[4].xp_orb[2]=10;

sk[4].num[3]=1;//穿云箭 2-3 
sk[4].magic[3]=11 , sk[4].cold[3]=3;
sk[4].levelup[3][1][1]=68 , sk[4].levelup[3][1][2]=5 , sk[4].level[3]=20 , sk[4].xp_orb[3]=25;

add_skill(5,"反弹",'C',3,6,2);
sk[5].num[1]=1;//反弹 0-1 
sk[5].levelup[1][1][1]=69 , sk[5].levelup[1][1][2]=1 , sk[5].level[1]=1 , sk[5].xp_orb[1]=0;

sk[5].num[2]=1;//反弹 1-2 
sk[5].magic[2]=8 , sk[5].cold[2]=2;
sk[5].levelup[2][1][1]=69 , sk[5].levelup[2][1][2]=2 , sk[5].level[2]=5 , sk[5].xp_orb[2]=5;

sk[5].num[3]=1;//反弹 2-3 
sk[5].magic[3]=10 , sk[5].cold[3]=2;
sk[5].levelup[3][1][1]=69 , sk[5].levelup[3][1][2]=4 , sk[5].level[3]=15 , sk[5].xp_orb[3]=20;


add_skill(6,"疯狂",'C',2,8,0);
sk[6].num[1]=1;//疯狂 0-1 
sk[6].levelup[1][1][1]=70 , sk[6].levelup[1][1][2]=1 , sk[6].level[1]=1 , sk[6].xp_orb[1]=0;

sk[6].num[2]=1;//疯狂 1-2 
sk[6].magic[2]=9 , sk[6].cold[2]=10;
sk[6].levelup[2][1][1]=70 , sk[6].levelup[2][1][2]=3 , sk[6].level[2]=15 , sk[6].xp_orb[2]=15;

add_skill(7,"魔力护盾",'C',3,6,1);
sk[7].num[1]=1;//魔力护盾 0-1 
sk[7].levelup[1][1][1]=71 , sk[7].levelup[1][1][2]=1 , sk[7].level[1]=1 , sk[7].xp_orb[1]=0;

sk[7].num[2]=1;//魔力护盾 1-2 
sk[7].magic[2]=8 , sk[7].cold[2]=1;
sk[7].levelup[2][1][1]=71 , sk[7].levelup[2][1][2]=2 , sk[7].level[2]=5 , sk[7].xp_orb[2]=10;

sk[7].num[3]=1;//魔力护盾 2-3 
sk[7].magic[3]=10 , sk[7].cold[3]=0;
sk[7].levelup[3][1][1]=71 , sk[7].levelup[3][1][2]=5 , sk[7].level[3]=20 , sk[7].xp_orb[3]=25;

add_skill(8,"力量",'C',2,0,0);
//sk[8].magic[0]=0 , sk[8].cold[0]=0;
sk[8].num[1]=1;//力量 0-1 
sk[8].levelup[1][1][1]=72 , sk[8].levelup[1][1][2]=1 , sk[8].level[1]=1 , sk[8].xp_orb[1]=0;

sk[8].num[2]=1;//力量 1-2 
sk[8].levelup[2][1][1]=72 , sk[8].levelup[2][1][2]=3 , sk[8].level[2]=15 , sk[8].xp_orb[2]=15;

add_skill(9,"魔力精通",'C',5,0,0);
sk[9].num[1]=1;//魔力精通 0-1 
sk[9].levelup[1][1][1]=73 , sk[9].levelup[1][1][2]=1 , sk[9].level[1]=1 , sk[9].xp_orb[1]=0;

sk[9].num[2]=1;//魔力精通 1-2 
sk[9].levelup[2][1][1]=73 , sk[9].levelup[2][1][2]=1 , sk[9].level[2]=3 , sk[9].xp_orb[2]=3;

sk[9].num[3]=1;//魔力精通 2-3 
sk[9].levelup[3][1][1]=73 , sk[9].levelup[3][1][2]=2 , sk[9].level[3]=5 , sk[9].xp_orb[3]=5;

sk[9].num[4]=1;//魔力精通 3-4 
sk[9].levelup[4][1][1]=73 , sk[9].levelup[4][1][2]=4 , sk[9].level[4]=15 , sk[9].xp_orb[4]=15;

sk[9].num[5]=1;//魔力精通 4-5 
sk[9].levelup[5][1][1]=73 , sk[9].levelup[5][1][2]=6 , sk[9].level[5]=20 , sk[9].xp_orb[5]=25;

add_skill(10,"闪避",'C',3,0,0); 
sk[10].num[1]=1;//闪避 0-1 
sk[10].levelup[1][1][1]=74 , sk[10].levelup[1][1][2]=1 , sk[10].level[1]=1 , sk[10].xp_orb[1]=0;

sk[10].num[2]=1;//闪避 1-2 
sk[10].levelup[2][1][1]=74 , sk[10].levelup[2][1][2]=2 , sk[10].level[2]=5 , sk[10].xp_orb[2]=5;

sk[10].num[3]=1;//闪避 2-3 
sk[10].levelup[3][1][1]=74 , sk[10].levelup[3][1][2]=4 , sk[10].level[3]=15 , sk[10].xp_orb[3]=20;

add_skill(11,"连击",'C',3,0,0); 
sk[11].num[1]=1;//连击 0-1 
sk[11].levelup[1][1][1]=75 , sk[11].levelup[1][1][2]=1 , sk[11].level[1]=1 , sk[11].xp_orb[1]=0;

sk[11].num[2]=1;//连击 1-2 
sk[11].levelup[2][1][1]=75 , sk[11].levelup[2][1][2]=2 , sk[11].level[2]=5 , sk[11].xp_orb[2]=5;

sk[11].num[3]=1;//连击 2-3 
sk[11].levelup[3][1][1]=75 , sk[11].levelup[3][1][2]=4 , sk[11].level[3]=15 , sk[11].xp_orb[3]=20;

add_skill(12,"健康",'C',3,0,0); 
sk[12].num[1]=1;//健康 0-1 
sk[12].levelup[1][1][1]=76 ,