#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#define getch() _getch()//emmmm
using namespace std;
string name,place="村庄";//玩家名字,玩家地点 
//村庄 平原 森林 洞穴 沙漠 从林 雪地 地狱 末地 
//边境之地 
int maxhealth=20,health=20; //血量 
int basicmagic=10,magic=10,maxmagic=basicmagic; //魔力 
int basicattack=2,attack=basicattack,attack2=basicattack;//基础攻击 实际攻击 远程攻击 
int defense=0;//防御 
int money=0,experience=0,level=1;//经验 等级 
int basicspeed=2,speed=basicspeed;//玩家基础数据
int basic_critical_rate=2,critical_rate=2;//暴击率 
int xp_orb=0; //压缩经验球 
int weapon1=0,weapon2=0,tool1=0,tool2=0,attackdis1=2,attackdis2=8;//武器,工具 
int armor1=0,armor2=0,armor3=0,armor4=0; //头盔 胸甲 护腿 靴子 
string weapon1name[50]={"空手",
"木剑","石剑","金剑","铁剑","钻石剑","下界合金剑","流浪者之利剑","远古之剑","源古剑","寒冰剑",
"寒霜剑","沙尘剑","沙暴剑","熔火剑"}; 
int weapon1attack[50]={0,
4,5,4,6,7,8,7,9,0,9,//10
0,9,0,8};
string weapon2name[50]=  {"无","护盾","弓","","狙击者·弓","","沙暴弓","","熔火弓"}; 
int weapon2attack[50]=   {0   ,0     ,4   ,0 ,6           ,0 ,8       ,0 ,6};
int weapon2attackdis[50]={0   ,0     ,8   ,0 ,10          ,0 ,9       ,0 ,8};
int arrow[50]={0,0};//箭矢 
string arrowname[50]={"","箭"};//箭矢名 
string tool1name[50]={"无",
"木斧","石斧","金斧","铁斧","钻石斧","下界合金斧","流浪者之重斧","远古之斧","源古斧","寒冰斧",
"寒霜斧","沙尘斧","沙暴斧","熔火斧"}; 
int tool1speed[50]={12,
20,25,60,40,46,58,42,60,0,60,
0,60,0,70};
string tool2name[50]={"无",
"木稿","石稿","金稿","铁稿","钻石稿","下界合金稿","流浪者之钝稿","远古之稿","源古稿","寒冰稿",
"寒霜稿","沙尘斧","沙暴斧","熔火斧"}; 
int tool2speed[50]={0,
30,36,70,48,56,65,36,68,0,68,
0,68,0,80};
string armor1name[50]={"无",
"皮革头盔","锁链头盔","金头盔","铁头盔","钻石头盔","下界合金头盔","流浪者之旅帽","远古头盔","源古头盔","寒冰头盔",
"寒霜头盔","沙尘头盔","沙暴头盔","熔火头盔"};
string armor2name[50]={"无",
"皮革胸甲","锁链胸甲","金胸甲","铁胸甲","钻石胸甲","下界合金胸甲","流浪者之外甲","远古胸甲","源古胸甲","寒冰胸甲",
"寒霜胸甲","沙尘胸甲","沙暴胸甲","熔火胸甲"};
string armor3name[50]={"无",
"皮革护腿","锁链护腿","金护腿","铁护腿","钻石护腿","下界合金护腿","流浪者之护腿","远古护腿","源古护腿","寒冰护腿",
"寒霜护腿","沙尘护腿","沙暴护腿","熔火护腿"};
string armor4name[50]={"无",
"皮革靴子","锁链靴子","金靴子","铁靴子","钻石靴子","下界合金靴子","流浪者之护履","远古靴子","源古靴子","寒冰靴子",
"寒霜靴子","沙尘靴子","沙暴靴子","熔火靴子"};
int armor1defense[50]={0,
2,3,2,4,4,5,4,6,0,6,
0,6,0,7};
int armor2defense[50]={0,
3,4,4,5,7,8,6,8,0,8,
0,8,0,9};
int armor3defense[50]={0,
3,4,3,5,6,7,5,8,0,8,
0,8,0,8};
int armor4defense[50]={0,
1,2,2,3,3,4,3,6,0,6,
0,6,0,6}; 
//0空手 
int credit=50;//信誉值,玩家无法看见 为此我甚至把他从代码最上面挪了下来( 
//但是现在你看见了((( 即使你改了它,也掩盖不了你的罪恶=) 
bool nether=false,ender=false,farland=false;//地狱门&末地门 建造/发现 边境之地 

bool jungle_temple=false,desert_temple=false,woodland_mansion=false,stronghold=false,nether_fortress=false,bastion_remnants=false,end_city=false; 
//丛林神庙  沙漠神殿  林地府邸  要塞  下界要塞  猪灵堡垒  末地城 
int time_last[10]={},time_now; 
int hard,hard_max[10]={0,1,1,1,1,1,1,1};//难度

//setting
bool wide=false;
bool hide_tips=false; 
int hide_level=0; 
int auto_save=0;
//
bool vis=false;//是否查看过《蔡JK传奇》
//??? 
bool dead=false,defend=false,blessing=false;//敌人死亡 防御状态 notch祝福 
bool help=false; 
bool crafttable=false,furnace=false,smithtable=false,crafttable2=false;//工作台 熔炉 锻造台 中级工作台 
bool undeadattack=false;//亡灵入侵
int attacklevel=0; 
int diamondapple=0;//钻石苹果 
int magicup=1;
int badguy=0,weaponcheck=0,blesscold=0;
int task1=0;//task1:旅行家 收集10橡木 
//就一个任务... 
string version="1.12.6",ver="1.12.6";//版本号! 

int choose;//工具
char c_choose;//字符输入 
string str_choose; //string

int saving=0,reading=0;
bool cheat=false; 
long long bag[10001]={};//背包 
//甚至给你贴心的开了long long 
string itemname[1000]={"",
"橡木","丛林木","针叶木","绯红菌柄","橡木木板","从林木木板","针叶木木板","绯红木板","工作台","木棍",//10
"木剑","木斧","木稿","圆石","石剑","石斧","石稿","熔炉","煤炭","铁矿石",//20
"铁锭","铁剑","铁斧","铁镐","铁头盔","铁胸甲","铁护腿","铁靴子","护盾","弓",//30
"金矿石","金锭","金剑","金斧","金稿","苹果","金苹果","线","金头盔","金胸甲",//40
"金护腿","金靴子","青金石","钻石","钻石剑","钻石斧","钻石镐","钻石头盔","钻石胸甲","钻石护腿",//50
"钻石靴子","钻石块","钻石苹果","锻造台","远古残骸","下界合金碎片","下界合金锭","下界合金剑","下界合金斧","下界合金稿",//60
"下界合金头盔","下界合金胸甲","下界合金护腿","下界合金靴子","黑曜石","重击技能书","三连击技能书","穿云箭技能书","反弹技能书","疯狂技能书",//70
"魔力护盾技能书","力量技能书","魔力精通技能书","闪避技能书","连击技能书","健康技能书", "空气斩技能书","冲刺技能书","治疗技能书","冥想技能书",//80
"脆弱化技能书","以攻为守技能书","伤害吸收技能书","防守姿态技能书","战斗姿态技能书","冲锋姿态技能书","透察技能书","铁皮技能书","节能技能书","吸血技能书",//90
"生死约技能书","最后一搏技能书","减速术技能书","疾跑技能书","愤怒技能书","魔力源泉技能书","冰冻技能书","嘲讽技能书","虚弱技能书","禁锢技能书",//100
"淬魔技能书","创造技能书","破坏技能书","创世技能书","流浪者之利剑","流浪者之重斧","流浪者之钝稿","流浪者之旅帽 ","流浪者之外甲","流浪者之护腿",//110
"流浪者之护履","狙击者·弓", "皮革头盔","皮革胸甲","皮革护腿","皮革靴子","锁链头盔","锁链胸甲","锁链护腿","锁链靴子",//120
"末影珍珠","烈焰棒","烈焰粉","末影之眼","金粒","下界石英","中级工作台","远古精华","远古锭","远古之剑",//130
"远古之斧","远古之稿","远古头盔","远古胸甲","远古护腿","远古靴子","源古锭","源古剑","源古斧","源古稿",//140
"源古头盔","源古胸甲","源古护腿","源古靴子","寒冰锭","寒冰剑","寒冰斧","寒冰稿","寒冰头盔","寒冰胸甲",//150
"寒冰护腿","寒冰靴子","寒霜锭","寒霜剑","寒霜斧","寒霜稿","寒霜头盔","寒霜胸甲","寒霜护腿","寒霜靴子",//160
"寒冰精华","沙尘精华","沙尘锭","沙尘剑","沙尘斧","沙尘稿","沙尘头盔","沙尘胸甲","沙尘护腿","沙尘靴子",//170
"沙暴锭","沙暴剑","沙暴弓","沙暴斧","沙暴稿","沙暴头盔","沙暴胸甲","沙暴护腿","沙暴靴子","熔火精华",//180
"熔火锭","熔火之剑","熔火弓","熔火斧","熔火稿","熔火头盔","熔火胸甲","熔火护腿","熔火靴子","凋零骷髅头",//190
"","","","","","","","","","",//200
"","","","","","","","","","",//210
};//物品名 
int itemtype[1000]={0,//物品种类  0,普通物品/材料  1,主手  2,副手  3,斧子  4,稿子  5,头  6,身  7,腿  8,脚  9,药水  10,箭矢  
0,0,0,0,0,		0,0,0,0,0,//10
1,3,4,0,1,		3,4,0,0,0,//20
0,1,3,4,5,		6,7,8,2,2,//30
0,0,1,3,4,		0,0,0,5,6,//40
7,8,0,0,1,		3,4,5,6,7,//50
8,0,0,0,0,		0,0,1,3,4,//60
5,6,7,8,0,		0,0,0,0,0,//70
0,0,0,0,0,		0,0,0,0,0,//80
0,0,0,0,0,		0,0,0,0,0,//90
0,0,0,0,0,		0,0,0,0,0,//100
0,0,0,0,1,		3,4,5,6,7,//110
8,2,5,6,7,		8,5,6,7,8,//120
0,0,0,0,0,		0,0,0,0,1,//130
3,4,5,6,7,		8,0,1,3,4,//140
5,6,7,8,0,		1,3,4,5,6,//150
7,8,0,1,3,		4,5,6,7,8,//160
0,0,0,1,3,		4,5,6,7,8,//170
0,1,2,3,4,		5,6,7,8,0,//180
0,1,2,3,4,		5,6,7,8,0, 
};
int itemlevel[1000]={0,//物品等级 
0,0,0,0,0,		0,0,0,0,0,//10
1,1,1,0,2,		2,2,0,0,0,//20
0,4,4,4,4,		4,4,4,1,2,//30
0,0,3,3,3,		0,0,0,3,3,//40
3,3,0,0,5,		5,5,5,5,5,//50
5,0,0,0,0,		0,0,6,6,6,//60
6,6,6,6,0,		0,0,0,0,0,//70
0,0,0,0,0,		0,0,0,0,0,//80
0,0,0,0,0,		0,0,0,0,0,//90
0,0,0,0,0,		0,0,0,0,0,//100
0,0,0,0,7,		7,7,7,7,7,//110
7,4,1,1,1,		1,2,2,2,2,//120
0,0,0,0,0,		0,0,0,0,8,//130
8,8,8,8,8,		8,0,9,9,9,//140
9,9,9,9,0,		10,10,10,10,10,//150
10,10,0,11,11,	11,11,11,11,11,//160
0,0,0,12,12,	12,12,12,12,12,//170
0,13,7,13,13,	13,13,13,13,0,//180
0,14,8,14,14,	14,14,14,14,0,
};
int item_sell_num[1000]={0, //出售数量 
32,32,32,32,128,	128,128,128,0,0,//10
0,0,0,64,0,			0,0,0,16,16,//20
12,2,2,2,1,			1,1,1,0,0,//30
16,12,2,2,2,		8,1,4,1,1,//40
1,1,16,2,1,			2,2,2,1,2,//50
1,2,1,0,1,			1,1,1,1,1,//60
1,1,1,1,2,			1,1,1,1,1,//70
1,1,1,1,1,			1,1,1,1,1,//80
1,1,1,1,1,			1,1,1,1,1,//90
1,1,1,1,1,			1,1,1,1,1,//100
1,1,1,1,1,			1,1,1,1,1,//110
1,1,2,2,2,			2,2,2,2,2,//120
4,2,4,2,64,			16,0,1,1,1,//130
1,1,1,1,1,			1,1,1,1,1,//140
1,1,1,1,1,			1,1,1,1,1,//150
1,1,1,1,1,			1,1,1,1,1,//160
1,1,1,1,1,			1,1,1,1,1,//170
1,1,1,1,1,			1,1,1,1,1,//180
1,1,1,1,1,			1,1,1,1,1,
};
int item_sell_price[1000]={0,//出售价格 
1,1,1,1,1,		1,1,1,0,0,//10
0,0,0,1,0,		0,0,0,1,3,//20
3,1,1,1,1,		2,2,1,0,0,//30
4,5,1,2,2,		2,3,1,2,3,//40
3,2,3,1,1,		3,3,5,4,7,//50
2,9,12,0,1,		1,5,6,6,6,//60
7,8,8,7,1,		5,5,5,5,5,//70
5,5,5,5,5,		5,5,5,5,5,//80
5,5,5,5,5,		5,5,5,5,5,//90
5,5,5,5,5,		5,5,5,5,5,//100
5,5,5,5,5,		3,4,3,4,4,//110
3,6,1,1,1,		1,1,1,1,1,//120
1,1,1,1,3,		2,0,1,4,8,//130
12,12,20,32,28,	16,0,0,0,0,//140
0,0,0,0,4,		8,12,12,20,32,//150
28,16,4,0,0,	0,0,0,0,0,//160
1,1,4,8,12,		12,20,32,28,16,//170 
0,0,0,0,0,		0,0,0,0,2,//180
8,16,24,24,24,	40,64,56,32,10,
};
string posionname[1000]={"",//当作者发现药水的英文事POTION而不是POSION时,想改已经来不及力(悲 作者真是sb( 
"治疗药水","魔力药水","治疗药水II","魔力药水II","治疗药水III","魔力药水III","治疗药水IV","魔力药水IV","速度药水","力量药水",
"速度药水II","力量药水II","速度药水III","力量药水III","","", "","","","",
"","","","",
};
struct item{
	string itemname;
	int type;
	int level;
	int sell_num;
	int sell_price; 
}item[10000]; 
/*物品编号:

1橡木  2从林木  3针叶木  4绯红菌柄  5橡木木板  6从林木木板  7针叶木木板  8绯红木板  9工作台  10木棍  
11木剑  12木斧  13木稿  14圆石  15石剑  16石斧  17石稿  18熔炉  19煤炭  20铁矿石
21铁锭  22铁剑  23铁斧  24铁镐	25铁头盔  26铁胸甲  27铁护腿  28铁靴子  29护盾  30弓  
31金矿石  32金锭  33金剑  34金斧  35金稿  36苹果  37金苹果  38线  39金头盔  40金胸甲 
41金护腿  42金靴子  43青金石  44钻石  45钻石剑  46钻石斧  47钻石镐  48钻石头盔  49钻石胸甲  50钻石护腿  
51钻石靴子  52钻石块  53钻石苹果  54锻造台  55远古残骸  56下界合金碎片   57下界合金锭  58下界合金剑  59下界合金斧  60下界合金稿  
61下界合金头盔  62下界合金胸甲  63下界合金护腿  64下界合金靴子  65黑曜石  66重击技能书  67三连击技能书  68穿云箭技能书  69反弹技能书  70疯狂技能书  
71魔力护盾技能书  72力量技能书  73魔力精通技能书  74闪避技能书  75连击技能书  76健康技能书  77空气斩技能书  78冲刺技能书  79治疗技能书  80冥想技能书
81脆弱化技能书  82以攻为守技能书  83伤害吸收技能书  84防守姿态技能书  85战斗姿态技能书  86冲锋姿态技能书  87透察技能书  88铁皮技能书  89节能技能书  90吸血技能书  
91生死约技能书  92最后一搏技能书  93减速术技能书  94疾跑技能书  95愤怒技能书  96魔力源泉技能书  97冰冻技能书  98嘲讽技能书  99虚弱技能书  100禁锢技能书  
101淬魔技能书  102创造技能书  103破坏技能书  104创世技能书  105流浪者之利剑  106流浪者之重斧  107流浪者之钝稿  108流浪者之旅帽  109流浪者之外甲  110流浪者之护腿  
111流浪者之护履  112狙击者 ·弓  113皮革头盔  114皮革胸甲  115皮革护腿  116皮革靴子  117锁链头盔  118锁链胸甲  119锁链护腿  120锁链靴子 
121末影珍珠  122烈焰棒  123烈焰粉  124末影之眼  125金粒  126下界石英  127中级工作台  128远古精华  129远古锭  130远古之剑  
131远古之斧  132远古之稿  133远古头盔  134远古胸甲  135远古护腿  136远古靴子  137源古锭  138源古剑  139源古斧  140源古稿  
141源古头盔  142源古胸甲  143源古护腿  144源古靴子  145寒冰锭  146寒冰之剑  147寒冰之斧  148寒冰之稿  149寒冰头盔  150寒冰胸甲  
151寒冰护腿  152寒冰靴子  153寒霜锭  154寒霜剑  155寒霜斧  156寒霜稿  157寒霜头盔  158寒霜胸甲  159寒霜护腿  160寒霜靴子 
161寒冰精华  162沙尘精华  163沙尘锭  164沙尘剑  165沙尘斧  166沙尘稿  167沙尘头盔  168沙尘胸甲  169沙尘护腿  170沙尘靴子
171沙暴锭  172沙暴剑  173沙暴弓  174沙暴斧  175沙暴稿  176沙暴头盔  177沙暴胸甲  178沙暴护腿  179沙暴靴子  180熔火精华
181熔火锭  182熔火之剑  183熔火弓  184熔火斧  185熔火稿  186熔火头盔  187熔火胸甲  188熔火护腿  189熔火靴子  190凋零骷髅头

Potion Name 药水编号 

1001治疗药水  1002魔力药水  1003治疗药水II  1004魔力药水II  1005治疗药水III  1006魔力药水III  1007治疗药水IV  1008魔力药水IV  1009速度药水  1010力量药水  
1011速度药水II  1012力量药水II  1013速度药水III  1014力量药水III  1015速度药水IV  1016力量药水IV 

*/
int enemyskill[100]={};
int enemyskillcold[100]={};
int skill[100]={0,//技能等级 
1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0};
int skillmax[100]={0,//技能最高级 
1,3,3,3,3,2,3,2,5,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0};
int skillcold[100]={0,//技能冷却 
0,2,2,3,2,3,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,6,0,0,0,0,0,0,0,

4,6,0,1,0,0,0,0};
//Enemyskill
int skillcoldnow[100]={};//战斗时,当前技能冷却 
int skillmagic[100]={0,//技能消耗魔力 
5,6,6,7,6,6,8,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,15,0,0,0,0,0,0,0};
string skillname[100]={"",//技能名 
/*C*/ "侦察","重击","三连击","穿云箭","反弹","疯狂","魔力护盾","力量","魔力精通","闪避",
"连击","健康", /*B*/ "空气斩","冲刺","治疗","冥想术","脆弱化","以攻为守","伤害吸收","防守姿态",
"战斗姿态","冲锋姿态","透察","铁皮","节能", /*A*/ "吸血","生死约","最后一搏","减速术","疾跑",
"愤怒","魔力源泉",/*S*/ "冰冻","嘲讽","虚弱","禁锢","淬魔","创造","破坏","创世",
/*敌人技能*/"减速箭","巨力重拳","狭小场地10","火球","凋零","黄沙","远程抗性", 
}; 
bool skilltake[100]={0,1};
int skilltakemax=3,skilltakenow=1;
struct skill{//技能 
	string skillname;
	char rarity;
	bool skilltake;
	int level_now;
	int level_max;
	int cold[10];
	int cold_now;
	int magic[10]; 
	int num[10],levelup[10][10][3],xp_orb[10],level[10];
	/*
	
	skillname:技能名
	rarity:稀有度
	skilltake:技能是否装备 
	level_max:等级上限
	magic[i]:第i级消耗魔力
	cold[i]:第i级冷却 
	cold_now:(战斗时)当前技能冷却回合 
	num[i]:第i次升级所需的物品数量 
	levelup[i][j][1]:第i个升级所需第j个物品编号 
	levelup[i][j][2]:第i个升级所需第j个物品数量 
	xp_orb[i]:第i次升级所需的经验球数量
	level[i]:第i次升级需要的等级
	
	写得很详细,有bug也好改() 也方便某些人看我的代码 
	自然也方便我如果忘记的时候修改(
	 
	*/ 
}sk[300];
struct task{//任务 
	int type;
	string target_name;
	int target_num;
	int item_num;
	int item[10][3];
	int reward_num;
	int reward[10][3];
	int money;
	int exp;
	int credit;
	bool done;
	bool ac; 
	/*
	
	type:任务类型 1为收集物品并上交 2为击杀目标生物
	target_name:目标生物名
	target_num:已击杀的数量(任务进度) 
	item_num:需要收集的物品数量 
	item[i][1]:第i个需要收集的物品编号 
	item[i][2]:第i个需要收集的物品数量 
	money:奖励绿宝石
	exp:奖励经验
	credit:增加信誉值 
	reward_num 奖励的物品数量
 	reward[i][1]:第i个奖励的物品编号 
	reward[i][2]:第i个奖励的物品数量
	done:是否已完成 
	ac:是否已接受 
	*/
};
task tasks[100];
task player_task[100];
int player_task_cnt;//当前接取的任务数量 
void color(string s,int front_color,int back_color){//Colorrrrr
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|back_color*16|FOREGROUND_INTENSITY|front_color);//csdn
    //SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|1|14);
    cout<<s;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|7);
    return;
} 
inline void sc(int x){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|x);
	return;
}
/*color
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 10 = 淡绿色
3 = 浅绿色 11 = 淡浅绿色
4 = 红色 12 = 淡红色
5 = 紫色 13 = 淡紫色
6 = 黄色 14 = 淡黄色
7 = 白色 15 = 亮白色
*/
string tips[300]={"",//SB
"要致富,先撸树!","Creeper? aww man",
"So we back in the mine","你知道吗,作者是0303!",
"附魔师可以为你增加魔力,却不能附魔","一刀999,打怪爆神装!",
"cout<<tips[7];","你知道吗?这是一款用C++写的游戏",
"你的近战攻击距离很短♂","tips功能是1.11.4版本加入的哦!",
//10
"在商店里可以购买技能书","附魔师可以压缩你的经验——但是收费。",
"有弓没有箭?去村庄商店看看吧。","做坏事是会有报应的。",
"打字不要打一半,尤其是","作弊是一种可耻的行为!",
"战斗时如果选择了不能使用的选项会浪费一回合。","tips:tips:tips:tips:tip",
"你知道吗?tips很多都是废话","你知道游戏里有多少条tips吗?",
//20
"你知道攻击伤害浮动的比例是多少吗?","你在摸鱼吗?",
"本游戏仅在HFOJ上发布,转载请标明作者","cxh是个蒟蒻",
"看tips干嘛","有一些矿石需要高级的稿子才能挖掘。",
"有没有一把稿子能挖各种矿洞里的矿呢?","绿宝石就是拿来花的!",
"【这条tips已被删除】", "不是所有的地方都能砍树",
//30
"在战斗使用技能,给敌人致命一击!","钻石苹果...钻石块...",
"既然懒得挖矿,干脆去洞穴探险吧!","今天你写作业了吗?",
"你羊了吗?","该给你写点什么tips好呢...(思考)",
"return 0;","如果你是新手,不妨看看新手教程。",
"有人能帮我写剩下的内容吗(","今夕是何年?",
//40
"Whatever you choose is your choise.","Trust yourself.",
"(smile).","WHAT DID YOU DO WHAT ARE YOU DOING WHAT WILL YOU DO",
"Create the world by yourself.","meit doog a evah.",
"Nothing serious","Just do it.",
"SUS","love or be loved",
//50
"治疗药水会根据你的生命上限回复血量。","治疗药水的回复量是有上限的", 
"流浪商人收购一些东西,如果你有,不妨卖掉它们。","你的攻击伤害并不是固定的。",
"你知道吗?其实面对难缠的敌人,你可以逃跑。","你移动的距离不能大于你的速度!",
"并非遇见所有敌人都可以逃跑。","逃跑有概率失败。",
"你可以在背包查看物品的信息。","挖矿可以获得经验。",
//60 
"附魔师对于技能有着独特的了解。","Welcome to 1.12(.6)!",
"新版本,新tips!","传说在遥远的丛林里,隐藏着一座远古的神庙...",
"技能可不是你一个人的特殊能力!","你知道本游戏第一个S级技能怎么获得吗?",
"为什么没有苦力怕呢?","对于大部分BOSS来说,一般都会拥有技能。",
"打怪除了绿宝石,还可能有装备和材料!","I love you!",
//70
"Never gonna give you up!","你知道tips功能加入来自哪里吗?",
"Never gonna let you down~","tips绝对不会骗人!give u up~",
"你说得对,但是MINECRAFT是由Mojang开发的一款沙盒游戏","石头有什么用?",
"流浪商人收购石头?真是不可理喻。","每个版本都会添加新的tips!",
"抽奖有风险。","如果你的运气好,不妨试试村庄里的抽奖机!",
//80
"记得保存哦!","长时间使用电子产品对眼睛不好!",
"6","完了,编不出tips了",
"Wow~ You can really dance~","现在是什么版本?",
"强大的敌人一般有更好的掉落物","你见过末影人吗?",
"会不会有地方需要探险才能发现呢?","废弃的地狱传送门可能遍布在世界的各处...",
//90
"绿宝石珍贵吗?不珍贵。","每个玩家都自带一个技能!",
"死亡并不可怕...","实际上,绝大多数情况下死亡不会掉落东西",
"流浪商人会出售一些独特的物品...","平原有一位旅行家,但似乎他被困在那了...",
"有时候,副手武器能帮你大忙。","弓不仅可以通过打怪获得,还能自己制造!",
"多去其他地方逛逛,总有惊喜。","哼,哼,啊啊啊啊啊啊",
//100
"bdsm","存档文件可以保存到别处使用",
"Bark","我对【】说话!",
"升级可以在商店里出售更多东西。","技能的获得方式有很多种!",
"在村庄里有一座旅馆,去休息可以恢复生命","RP++",
"不要修改你的存档文件!","猪灵有时候不会攻击你。why?",
//110
"你在期待什么?","新的版本,新的bug!(划",
"在此对所有支持本游戏的玩家表示感谢!","如有bug请反馈。",
"地狱的深处藏有坚固的矿石...","村庄里曾有一位恶霸肆意妄为...",
"真的有人会看这些吗?","如果有人能帮我写游戏——哪怕是tips也好!",
"树上有苹果,拿下来!","钻石苹果是一种神奇的物品,能增加你的生命。",
//120
"你知道吗,我不知道","zhi yin ni tai mei",
"商店会收购物品,但不收购垃圾(","战斗时你每回合都会回复魔力!",
"升级可以增加可出售的物品数量!","有时怪物会掉落技能书。",
"一般来说,越强的怪掉落物越好!...虽然也可能没有","A Super Tip has spawned somewhere!",
"商店里总会有一本技能书。","升级技能有时需要压缩经验球!",
//130
"别忘了保存!","转眼间一年就过去了...",
"研究表明这项研究没什么意义","上次更新是什么时候?", 
"升级可以...总之很有用!","商店可以出售东西!",
"雪地有一个冰封的洞窟...但你得找人带你去。","据说有一本强大的技能书,能将敌人冰封...",
"Orz","stO", 
//140
"Happy New Year!","bilibili 关注 弱小无助小萌新(大雾",
"查看小说可以白嫖一颗绿宝石,一般人我不告诉他","沙漠里有一个尘封的神殿......",
"正在播放 : Minecraft - C418","正在播放 : Sweden - C418",
"正在播放 : Aria Math - C418","正在播放 : Moog City - C418",
"正在播放 : Living Mice - C418","正在播放 : Axolotl - C418",
//150
"装备全套装备时,会有额外的加成!","地狱里有一个巨大的血红色要塞...",
"不需要的技能可以被降级。","新版本什么时候才更新?",
"check http://hfoj.net/blog/85/63a2785dac95767ac35f4240#1671592029628 !","你的工作台或许该升级了。",
"/gamemode 1 @s","在设置打开自动保存以防丢失存档!",
"你在期待什么?","依照惯例,版本更新至少会多更新10条tips",
//160 
};
//看我干嘛? 
void HideCursor(){//隐藏光标 
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO CursorInfo;
    GetConsoleCursorInfo(handle, &CursorInfo);//获取控制台光标信息
    CursorInfo.bVisible = false; //隐藏控制台光标
    SetConsoleCursorInfo(handle, &CursorInfo);//设置控制台光标状态
}

void gotoxy(int x,int y){
    COORD pos;//这里的pos是一个结构体
    pos.X=x;//横坐标
    pos.Y=y;//纵坐标
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);//移动光标
}

void destroy(int time,int speed){//进度条 
	time*=2;
	time/=3;//巨大的改动......也许。 
    for(int i=0;i<100;i++){//为什么函数名叫destroy? 
        system("cls");
        cout<<"进度:已完成 "<<i<<" %"<<endl;
        Sleep(time/speed/100); 
    }
    system("cls"); 
    cout<<"进度:已完成 "<<100<<" %"<<endl;
    Sleep(500);
    system("cls"); 
    return;
}

void say(string word,int time){//说话内容 停顿 
    for(int i=0;i<=word.length();i++){
        cout<<word[i];//输出字符 
        Sleep(time);//停顿time 单位ms 
    }
    return;
} 

int rnd(int l,int r){//生成一个 [l-r]的随机数 *闭*区间 
	return rand()%(r-l+1)+l;
}

int levelup(int xp){//升级 返回升的等级数 
    if(xp<level*100){
        experience=xp;
        return 0;
    } 
    else{
        xp-=level*100;
        level++;
        return 1+levelup(xp);
    }
}

struct craft{
	int num1,amount1;
	int num2,amount2;
	int num3,amount3;
	int num4,amount4;
	int condition1,condition2;
	bool con(){//一个条件检测 
		switch(condition1){
			case 0:
				return true;	
			break;
			case 1:
				if(crafttable) return true;
				else return false; 
			break;
			case 2:
				if(furnace) return true;
				else return false; 
			break;
			case 3:
				if(smithtable) return true;
				else return false; 
			break;
			case 4:
				if(crafttable2) return true;
				else return false; 
			break;
		}
		return 0;
	}

	bool con2(){//还是一个条件检测 
		switch(condition2){
			case 0:
				return true;	
			break;
			case 1://工作台 
				if(crafttable) return true;
				else return false; 
			break;
			case 2://熔炉 
				if(furnace) return true;
				else return false; 
			break;
			case 3://锻造台 
				if(smithtable) return true;
				else return false; 
			break;
			case 4://中级工作台 
				if(crafttable2) return true;
				else return false; 
			break;
		}
		return 0;
	}
}craft[10000];

void add_craft(int c_num,int c_num1,int c_amount1,int c_num2,int c_amount2,int c_num3,int c_amount3,int c_num4,int c_amount4,int c_condition1,int c_condition2){//添加合成配方 
	craft[c_num].num1=c_num1;//物品1编号 
	craft[c_num].num2=c_num2;//same
	craft[c_num].num3=c_num3;
	craft[c_num].num4=c_num4;
	craft[c_num].amount1=c_amount1;//物品1数量 
	craft[c_num].amount2=c_amount2;
	craft[c_num].amount3=c_amount3;
	craft[c_num].amount4=c_amount4;
	craft[c_num].condition1=c_condition1;//条件1 
	craft[c_num].condition2=c_condition2;
	return;
}
	
void recipe_reset(){
	//合成配方 
	int asswecan=1;//抽象的名字 
	add_craft(asswecan++,5,4, 1,1, 0,0, 0,0, 0,0);//木板 
	add_craft(asswecan++,6,4,2,1,0,0,0,0,0,0);
	add_craft(asswecan++,7,4,3,1,0,0,0,0,0,0);
	add_craft(asswecan++,8,4,4,1,0,0,0,0,0,0);
	add_craft(asswecan++,9,1,5,4,0,0,0,0,0,0);//工作台 
	add_craft(asswecan++,9,1,6,4,0,0,0,0,0,0);
	add_craft(asswecan++,9,1,7,4,0,0,0,0,0,0);
	add_craft(asswecan++,9,1,8,4,0,0,0,0,0,0);
	add_craft(asswecan++,10,4,5,2,0,0,0,0,0,0);//木棍 
	add_craft(asswecan++,10,4,6,2,0,0,0,0,0,0);
	add_craft(asswecan++,10,4,7,2,0,0,0,0,0,0);
	add_craft(asswecan++,10,4,8,2,0,0,0,0,0,0);
	add_craft(asswecan++,11,1,5,2,10,1,0,0,1,0);//木剑 
	add_craft(asswecan++,11,1,6,2,10,1,0,0,1,0);
	add_craft(asswecan++,11,1,7,2,10,1,0,0,1,0);
	add_craft(asswecan++,11,1,8,2,10,1,0,0,1,0);
	add_craft(asswecan++,12,1,5,3,10,2,0,0,1,0);//木斧 
	add_craft(asswecan++,12,1,6,3,10,2,0,0,1,0);
	add_craft(asswecan++,12,1,7,3,10,2,0,0,1,0);
	add_craft(asswecan++,12,1,8,3,10,2,0,0,1,0);
	add_craft(asswecan++,13,1,5,3,10,2,0,0,1,0);//木稿 
	add_craft(asswecan++,13,1,6,3,10,2,0,0,1,0);
	add_craft(asswecan++,13,1,7,3,10,2,0,0,1,0);
	add_craft(asswecan++,13,1,8,3,10,2,0,0,1,0);
	add_craft(asswecan++,15,1,14,2,10,1,0,0,1,0);//石剑
	add_craft(asswecan++,16,1,14,3,10,2,0,0,1,0);//石斧 
	add_craft(asswecan++,17,1,14,3,10,2,0,0,1,0);//石稿 
	add_craft(asswecan++,18,1,14,8,0,0,0,0,1,0);//熔炉 
	add_craft(asswecan++,21,1,19,1,20,1,0,0,2,0);//铁锭
	add_craft(asswecan++,22,1,21,2,10,1,0,0,1,0);//铁剑
	add_craft(asswecan++,23,1,21,3,10,2,0,0,1,0);//铁斧  
	add_craft(asswecan++,24,1,21,3,10,2,0,0,1,0);//铁稿
	add_craft(asswecan++,25,1,21,5,0,0,0,0,1,0);//铁头盔 
	add_craft(asswecan++,26,1,21,8,0,0,0,0,1,0);//铁胸甲 
	add_craft(asswecan++,27,1,21,7,0,0,0,0,1,0);//铁护腿  
	add_craft(asswecan++,28,1,21,4,0,0,0,0,1,0);//铁靴子
	add_craft(asswecan++,29,1,21,1,5,6,0,0,1,0);//盾牌 
	add_craft(asswecan++,29,1,21,1,6,6,0,0,1,0);
	add_craft(asswecan++,29,1,21,1,7,6,0,0,1,0);
	add_craft(asswecan++,29,1,21,1,8,6,0,0,1,0);
	add_craft(asswecan++,30,1,38,3,10,3,0,0,1,0);//弓 
	add_craft(asswecan++,32,1,19,1,31,1,0,0,2,0);//金锭
	add_craft(asswecan++,32,1,125,9,0,0,0,0,1,0);//金锭 
	add_craft(asswecan++,33,1,32,2,10,1,0,0,1,0);//金剑
	add_craft(asswecan++,34,1,32,3,10,2,0,0,1,0);//金斧  
	add_craft(asswecan++,35,1,32,3,10,2,0,0,1,0);//金稿
	add_craft(asswecan++,37,1,36,1,32,8,0,0,1,0);//金苹果 
	add_craft(asswecan++,39,1,32,5,0,0,0,0,1,0);//金头盔 
	add_craft(asswecan++,40,1,32,8,0,0,0,0,1,0);//金胸甲 
	add_craft(asswecan++,41,1,32,7,0,0,0,0,1,0);//金护腿  
	add_craft(asswecan++,42,1,32,4,0,0,0,0,1,0);//金靴子
	add_craft(asswecan++,44,9,52,1,0,0,0,0,0,0);//钻石块->钻石
	add_craft(asswecan++,52,1,44,9,0,0,0,0,1,0);//钻石块
	add_craft(asswecan++,45,1,44,2,10,1,0,0,1,0);//钻石剑
	add_craft(asswecan++,46,1,44,3,10,2,0,0,1,0);//钻石斧  
	add_craft(asswecan++,47,1,44,3,10,2,0,0,1,0);//钻石稿
	add_craft(asswecan++,48,1,44,5,0,0,0,0,1,0);//钻石头盔 
	add_craft(asswecan++,49,1,44,8,0,0,0,0,1,0);//钻石胸甲 
	add_craft(asswecan++,50,1,44,7,0,0,0,0,1,0);//钻石护腿  
	add_craft(asswecan++,51,1,44,4,0,0,0,0,1,0);//钻石靴子 
	add_craft(asswecan++,53,1,52,2,37,1,0,0,1,0);//钻石苹果 
	add_craft(asswecan++,54,1,5,4,21,2,0,0,1,0);//锻造台 
	add_craft(asswecan++,54,1,6,4,21,2,0,0,1,0);
	add_craft(asswecan++,54,1,7,4,21,2,0,0,1,0);
	add_craft(asswecan++,54,1,8,4,21,2,0,0,1,0);
	add_craft(asswecan++,56,1,19,1,55,1,0,0,2,0);//下界合金碎片 
	add_craft(asswecan++,57,1,56,4,32,4,0,0,1,0);//下界合金锭
	add_craft(asswecan++,58,1,45,1,57,1,0,0,3,0);//下界合金剑
	add_craft(asswecan++,59,1,46,1,57,1,0,0,3,0);//下界合金斧  
	add_craft(asswecan++,60,1,47,1,57,1,0,0,3,0);//下界合金稿
	add_craft(asswecan++,61,1,48,1,57,1,0,0,3,0);//下界合金头盔 
	add_craft(asswecan++,62,1,49,1,57,1,0,0,3,0);//下界合金胸甲 
	add_craft(asswecan++,63,1,50,1,57,1,0,0,3,0);//下界合金护腿  
	add_craft(asswecan++,64,1,51,1,57,1,0,0,3,0);//下界合金靴子
	add_craft(asswecan++,127,1,9,1,21,4,44,4,1,0);//中级工作台 
	
	add_craft(asswecan++,129,1,128,3,21,2,32,2,4,0);//远古锭
	add_craft(asswecan++,130,1,129,2,10,1,0,0,4,0);//远古之剑
	add_craft(asswecan++,131,1,129,3,10,2,0,0,4,0);//远古之斧 
	add_craft(asswecan++,132,1,129,3,10,2,0,0,4,0);//远古之稿 
	add_craft(asswecan++,133,1,129,5,0,0,0,0,4,0);//远古头盔 
	add_craft(asswecan++,134,1,129,8,0,0,0,0,4,0);//远古胸甲 
	add_craft(asswecan++,135,1,129,7,0,0,0,0,4,0);//远古护腿 
	add_craft(asswecan++,136,1,129,4,0,0,0,0,4,0);//远古靴子 
	
	add_craft(asswecan++,145,1,161,3,21,2,32,2,4,0);//寒冰锭
	add_craft(asswecan++,146,1,145,2,10,1,0,0,4,0);//寒冰之剑
	add_craft(asswecan++,147,1,145,3,10,2,0,0,4,0);//寒冰之斧 
	add_craft(asswecan++,148,1,145,3,10,2,0,0,4,0);//寒冰之稿 
	add_craft(asswecan++,149,1,145,5,0,0,0,0,4,0);//寒冰头盔 
	add_craft(asswecan++,150,1,145,8,0,0,0,0,4,0);//寒冰胸甲 
	add_craft(asswecan++,151,1,145,7,0,0,0,0,4,0);//寒冰护腿 
	add_craft(asswecan++,152,1,145,4,0,0,0,0,4,0);//寒冰靴子
	
	add_craft(asswecan++,163,1,162,3,21,2,32,2,4,0);//沙尘锭
	add_craft(asswecan++,164,1,163,2,10,1,0,0,4,0);//沙尘剑
	add_craft(asswecan++,165,1,163,3,10,2,0,0,4,0);//沙尘斧 
	add_craft(asswecan++,166,1,163,3,10,2,0,0,4,0);//沙尘稿 
	add_craft(asswecan++,167,1,163,5,0,0,0,0,4,0);//沙尘头盔 
	add_craft(asswecan++,168,1,163,8,0,0,0,0,4,0);//沙尘胸甲 
	add_craft(asswecan++,169,1,163,7,0,0,0,0,4,0);//沙尘护腿 
	add_craft(asswecan++,170,1,163,4,0,0,0,0,4,0);//沙尘靴子
	
	add_craft(asswecan++,123,2,122,1,0,0,0,0,4,0);//烈焰粉 
	add_craft(asswecan++,181,1,180,3,32,2,123,3,4,0);//熔火锭
	add_craft(asswecan++,182,1,181,2,10,1,0,0,4,0);//熔火剑
	add_craft(asswecan++,183,1,181,3,10,3,0,0,1,0);//熔火弓 
	add_craft(asswecan++,184,1,181,3,10,2,0,0,4,0);//熔火斧 
	add_craft(asswecan++,185,1,181,3,10,2,0,0,4,0);//熔火之稿 
	add_craft(asswecan++,186,1,181,5,0,0,0,0,4,0);//熔火头盔 
	add_craft(asswecan++,187,1,181,8,0,0,0,0,4,0);//熔火胸甲 
	add_craft(asswecan++,188,1,181,7,0,0,0,0,4,0);//熔火护腿 
	add_craft(asswecan++,189,1,181,4,0,0,0,0,4,0);//熔火靴子 
	return;
}	

void create(){//合成
//in my opinion it should be craft
SetConsoleTitle("--合成--");
	while(1){
		system("cls");
		cout<<"以下是你可以合成的物品列表。"<<endl;
		cout<<"输入合成编号以合成。"<<endl<<endl;
		for(int i=1;i<=500;i++){
			if(craft[i].num1!=0&&craft[i].con()&&craft[i].con2()){
				if(bag[craft[i].num2]>=craft[i].amount2&&bag[craft[i].num3]>=craft[i].amount3&&bag[craft[i].num4]>=craft[i].amount4){//可合成 打印 
					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;
					if(wide) cout<<endl;
				}
			}
		}
		cout<<endl<<"输入 0 返回"<<endl;
		cin>>choose;
		int i=choose;
		if(choose==0) return;
		else{
			if(craft[i].num1!=0&&craft[i].con()&&craft[i].con2()){//不满足条件 
				if(bag[craft[i].num2]>=craft[i].amount2&&bag[craft[i].num3]>=craft[i].amount3&&bag[craft[i].num4]>=craft[i].amount4){//背包材料不足合成一次 byd都没显示乱输的吧 
					if(bag[craft[i].num2]>=2*craft[i].amount2&&bag[craft[i].num3]>=2*craft[i].amount3&&bag[craft[i].num4]>=2*craft[i].amount4){//背包材料至少可以合成两次 
						cout<<"你要";
						switch(craft[i].condition1){ 
						case 2:
							cout<<"熔炼";
						break;
						case 3:
							cout<<"锻造";
						break;
						default:
						 	cout<<"合成";	
						break;	
						}
						cout<<"多少次?"<<endl;
						cin>>choose;	
						if(bag[craft[i].num2]<choose*craft[i].amount2||bag[craft[i].num3]<choose*craft[i].amount3||bag[craft[i].num4]<choose*craft[i].amount4){//任意材料不足 
							cout<<"材料不足!"<<endl;
							getch();
						}else{//合成多次 
							cout<<item[craft[i].num1].itemname<<" 合成成功!"<<"( 共计 "<<craft[i].amount1*choose<<" 个 )"<<endl;
							bag[craft[i].num1]+=choose*craft[i].amount1;
							bag[craft[i].num2]-=choose*craft[i].amount2;
							bag[craft[i].num3]-=choose*craft[i].amount3;
							bag[craft[i].num4]-=choose*craft[i].amount4;
							getch();
						}
					}else{//合成一次 
						cout<<item[craft[i].num1].itemname<<" 合成成功!"<<endl;
						bag[craft[i].num1]+=craft[i].amount1;
						bag[craft[i].num2]-=craft[i].amount2;
						bag[craft[i].num3]-=craft[i].amount3;
						bag[craft[i].num4]-=craft[i].amount4;
						getch();
					}
				}else{
					cout<<"请勿乱输!"<<endl;
				}
			}else{
				cout<<"请勿乱输!"<<endl;
				getch();
			}
		} 
	}
	return;
} 

void reset(){//战斗初始化 
    attack=basicattack+weapon1attack[weapon1];
    attack2=basicattack+weapon2attack[weapon2];
    attackdis2=weapon2attackdis[weapon2]; 
    defense=armor1defense[armor1]+armor2defense[armor2]+armor3defense[armor3]+armor4defense[armor4];
    maxmagic=basicmagic;
    magic=min(basicmagic,magic);
    speed=basicspeed;
    critical_rate=basic_critical_rate;
    for(int i=1;i<=100;i++) enemyskill[i]=0;
  
    if(skill[8]>0&&sk[8].skilltake==1){//力量 
        attack+=skill[8];
    }
	if(skill[9]>0&&sk[9].skilltake==1){//魔力精通 
        maxmagic+=2+skill[9];
    }
    
    if(armor1==4&&armor2==4&&armor3==4&&armor4==4){//铁套套装奖励 
    	defense+=2;
	}
	if(armor1==5&&armor2==5&&armor3==5&&armor4==5){//钻石套套装奖励 
    	defense+=3;
	}
	if(armor1==6&&armor2==6&&armor3==6&&armor4==6){//下界合金套套装奖励 
    	defense+=4;
	}
	if(armor1==7&&armor2==7&&armor3==7&&armor4==7){//流浪者套套装奖励 
    	attack+=1;
	}
	if(armor1==8&&armor2==8&&armor3==8&&armor4==8){//远古套套装奖励 
    	defense+=6;
	}
	if(armor1==10&&armor2==10&&armor3==10&&armor4==10){//寒冰套套装奖励 
    	maxmagic+=5;
	}
	if(armor1==12&&armor2==12&&armor3==12&&armor4==12){//沙尘套套装奖励 
    	critical_rate+=15;
	}
	if(armor1==14&&armor2==14&&armor3==14&&armor4==14){//熔火套套装奖励 
    	skill[44]=1;
    	sk[44].skilltake=true;
	}else skill[44]=0,sk[44].skilltake=false;
    return;
}

struct drp{
	int drop_num;  
	int rand1,rand2;
	int drop_amount1,drop_amount2;  
}d[114514];//it's a waste of memory 
//but idc
void add_drop(int num,int drop_num,int rand1,int rand2,int drop_amount1,int drop_amount2){//编号 物品编号 概率(rand2/rand1) 数量(amount1~amount1+amount2) 
	d[num].drop_num=drop_num;
	d[num].rand1=rand1;
	d[num].rand2=rand2;
	d[num].drop_amount1=drop_amount1;
	d[num].drop_amount2=drop_amount2;
	return;
}

void drop_clear(){
	for(int i=1;i<=114;i++){ 
		d[i].drop_num=0;
		d[i].drop_amount1=0;
		d[i].drop_amount2=0;
		d[i].rand1=0;
		d[i].rand2=0;
	}
	return;
}

void drop(string name){//掉落物        
    if(!dead) return;
    drop_clear();
    if(name=="铁傀儡"){
    	add_drop(1,21,1,1,2,2);
    }
    if(name=="僵尸"){
    	add_drop(1,22,10,1,1,0);
    	add_drop(2,15,5,1,1,0);
    	add_drop(3,113,20,1,1,0);
		add_drop(4,114,20,1,1,0);
		add_drop(5,115,20,1,1,0);
		add_drop(6,116,20,1,1,0);
		add_drop(7,117,40,1,1,0);
		add_drop(8,118,40,1,1,0);
		add_drop(9,119,40,1,1,0);
		add_drop(10,120,40,1,1,0);
    } 
    if(name=="骷髅"){
        choose=1+rand()%3;
        cout<<"获得 "<<choose<<" 个箭!"<<endl;
        arrow[1]+=choose;
        getch();
        add_drop(1,30,20,1,1,0);
        add_drop(2,113,20,1,1,0);
		add_drop(3,114,20,1,1,0);
		add_drop(4,115,20,1,1,0);
		add_drop(5,116,20,1,1,0);
		add_drop(6,117,40,1,1,0);
		add_drop(7,118,40,1,1,0);
		add_drop(8,119,40,1,1,0);
		add_drop(9,120,40,1,1,0);
    }
    if(name=="流浪者"){
        choose=1+rand()%3;
        cout<<"获得 "<<choose<<" 个箭!"<<endl;
        arrow[1]+=choose;
        getch();
        add_drop(1,30,16,1,1,0);
		add_drop(2,117,24,1,1,0);
		add_drop(3,118,24,1,1,0);
		add_drop(4,119,24,1,1,0);
		add_drop(5,120,24,1,1,0);
		add_drop(6,108,36,1,1,0);
		add_drop(7,109,36,1,1,0);
		add_drop(8,110,36,1,1,0);
		add_drop(9,111,36,1,1,0);
		add_drop(10,161,2,1,1,0);
    }
    if(name=="强壮僵尸"){
    	add_drop(1,22,8,1,1,0);
    	add_drop(2,15,4,1,1,0);
    	add_drop(3,113,16,1,1,0);
		add_drop(4,114,16,1,1,0);
		add_drop(5,115,16,1,1,0);
		add_drop(6,116,16,1,1,0);
		add_drop(7,117,32,1,1,0);
		add_drop(8,118,32,1,1,0);
		add_drop(9,119,32,1,1,0);
		add_drop(10,120,32,1,1,0);
		add_drop(11,66,10,1,1,0);
		add_drop(12,72,33,1,1,0);
    }
    if(name=="狙击骷髅"){
        choose=2+rand()%3;
        cout<<"获得 "<<choose<<" 个箭!"<<endl;
        arrow[1]+=choose;
        getch();
        add_drop(1,112,3,1,1,0);
        add_drop(2,30,2,1,1,0);
		add_drop(3,117,16,1,1,0);
		add_drop(4,118,16,1,1,0);
		add_drop(5,119,16,1,1,0);
		add_drop(6,120,16,1,1,0);
		add_drop(7,68,5,1,1,0);
    }
    if(name=="尸壳"){
    	add_drop(1,22,9,1,1,0);
    	add_drop(2,15,4,1,1,0);
    	add_drop(3,113,18,1,1,0);
		add_drop(4,114,18,1,1,0);
		add_drop(5,115,18,1,1,0);
		add_drop(6,116,18,1,1,0);
		add_drop(7,117,36,1,1,0);
		add_drop(8,118,36,1,1,0);
		add_drop(9,119,36,1,1,0);
		add_drop(10,120,36,1,1,0);
		add_drop(10,162,4,1,1,0);
    } 
    if(name=="蜘蛛"){
    	add_drop(1,38,1,1,1,0);
    	add_drop(2,74,100,1,1,0);
    } 
    if(name=="雪怪"){
    	add_drop(1,22,2,1,1,0);
    	add_drop(2,45,4,1,1,0);
    	add_drop(3,25,16,1,1,0);
		add_drop(4,26,16,1,1,0);
		add_drop(5,27,16,1,1,0);
		add_drop(6,28,16,1,1,0);
		add_drop(7,48,20,1,1,0);
		add_drop(8,49,20,1,1,0);
		add_drop(9,50,20,1,1,0);
		add_drop(10,51,20,1,1,0);
		add_drop(11,97,32,1,1,0);
		add_drop(12,161,1,1,1,1);
    } 
    if(name=="末影人"){
    	add_drop(1,121,2,1,1,0);
    	add_drop(2,74,50,1,1,0);
    } 
    if(name=="僵尸猪人"){
        choose=1+rand()%3;
        cout<<"获得 "<<choose<<" 个金粒!"<<endl;
        bag[125]+=choose;
        getch();
        add_drop(1,33,8,1,1,0);
    	add_drop(2,39,20,1,1,0);
    	add_drop(3,40,20,1,1,0);
		add_drop(4,41,20,1,1,0);
		add_drop(5,42,20,1,1,0);
    }
    if(name=="猪灵"){
        choose=1+rand()%3;
        cout<<"获得 "<<choose<<" 个金粒!"<<endl;
        bag[125]+=choose;
        getch();
        add_drop(1,33,8,1,1,0);
    	add_drop(2,39,20,1,1,0);
    	add_drop(3,40,20,1,1,0);
		add_drop(4,41,20,1,1,0);
		add_drop(5,42,20,1,1,0);
    }