#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#define int long long
#define clr() system("cls")
#define pau() system("pause")
using namespace std;
void slowout(string s,int x){
	for(auto c:s){
		Sleep(x);
		putchar(c);
	}puts("");
}
int sped=50;
bool flag_end,flag_wood,flag_fake,flag_five,flag_th,flag_cle,flag_ded,flag_buy,flag_golem,flag_egg;
bool flag2,flag3,flag5,flag6,flag7;
int cnt;
int nowcycle=1;
mt19937 rng(time(0));
void cycle1();
void cycle2();
void cycle3();
void cycle5();
void cycle6();
signed main(){
	cycle1();
	return 0;
}
void cycle1(){
	//主打一个究极屎山 
	clr();
	nowcycle=1;
	slowout("循环1",sped);
	slowout("史蒂夫循环",sped);
	slowout("任务:击杀末影龙",sped);
	slowout("1.撸树(90%成功)	2.去村庄",sped);
	char ans=_getch();
	clr();
	switch(ans){
		case '1':{
			int r=rng()%10+1;
			if(r<=9){
				slowout("你上前撸树……",sped);
				slowout("你获得了木头,请问你要拿来合成什么?",sped);
				slowout("1.木镐	2.木剑",sped);
				ans=_getch();
				clr();
				switch(ans){
					case'1':{
						slowout("你开始发育,做出木镐之后,你开始下矿,获得了铁镐,然后,你看到了钻石",sped);
						slowout("1.挖掘    2.挖掘……等等",sped);
						ans=_getch();
						clr(); 
						switch(ans){
							case '1':{
								slowout("你挖掘了3颗钻石",sped);
								slowout("1.继续深入     2.出矿",sped);
								ans=_getch();
								clr();
								switch(ans){
									case '1':{
										slowout("你继续深入……",sped);
										slowout("迎面进来一个苦力怕!",sped);
										slowout("钻石剑把苦力怕击退了,一声爆响,后面竟是末地要塞!",sped);
										slowout("你去到了末地门处,发现门上有8颗眼,然后,后面突然来了一只末影人,把你打死了",sped);
										Sleep(500);
										clr();
										cycle3();
										return;
										break;
									}
									case '2':{
										slowout("你带着3颗钻石出去了,继续发育,逐渐建了个大房子,然后去旁边的村庄探索",sped);
										slowout("村庄里面,你遇到了一个村民",sped);
										slowout("1.试图交易		2.去别处看看",sped);
										ans=_getch();
										clr();
										switch(ans){
											case '1':{
												slowout("你看了看交易项目,第一条是3个钻石换10个绿宝石,第二条是10个绿宝石换4个末影之眼",sped);
												slowout("1.钻石充足,交易",sped);
												ans=_getch();
												clr();
												if(ans!='1'){
													while(1)malloc(114514); 
												}
												slowout("你获得了4个末影之眼!",sped);
												slowout("1.试图去末地(概率0%)",sped);
												ans=_getch();
												clr();
												if(ans!='1'){
													while(1)malloc(114514); 
												}
												slowout("你去了末地要塞,走到末地门处,你被末影人打死啦!",sped);
												Sleep(500);
												cycle5();
												return;
												break;
											}
											case '2':{
												if(!flag_five){
													slowout("前方风雨组成了一堵墙,你无法通过",sped);
													slowout("完成五个循环任务后即可解锁",sped);
												}else{
													
												}
												break;
											}
										}
										break;
									}
								}
								break;
							}
							case '2':{
								slowout("你前去挖掘钻石,但是“嘶嘶”声从侧面传来",sped);
								slowout("你被苦力怕炸死了!",sped);
								Sleep(500);
								cycle1();
								return;
								break;
							}
						} 
						break;
					}
					case '2':{
						slowout("你合出木剑,突然,一个苦力怕出现了!",sped);
						slowout("1.迎战	  	2.逃跑",sped);
						ans=_getch();
						clr();
						switch(ans){
							case '1':{
								slowout("你走上前,连砍几下把苦力怕干掉了!",sped);
								slowout("你拿到火药,但是突然一个末影人瞬移到了眼前!",sped);
								slowout("你被末影人打死了……",sped);
								Sleep(500);
								cycle2();
								break;
							}
						}
						break;
					}
				}
			}else{
				slowout("你上前撸树……",sped);
				slowout("额,这树会打人?",sped);
				slowout("不讲wood,周树人!",sped);
				cycle1();
				return;
			}
			break;
		}
	}
}
void cycle2(){
	clr();
	nowcycle=2;
	slowout("循环2",sped);
	slowout("苦力怕循环",sped);
	slowout("任务:炸死史蒂夫",sped);
	slowout("1.树下乘凉		2.去矿洞",sped);
	char ans=_getch();
	clr();
	switch(ans){
		case '1':{
			slowout("眼前出现了史蒂夫!他刚刚合出木剑!",sped);
			slowout("就是现在!炸死他!",sped);
			slowout("史蒂夫看到了你,几剑把你打死了……",sped);
			Sleep(500);
			cycle2();
			return;
			break;
		}
		case '2':{
			slowout("你深入矿洞,眼前是一个钻石矿!",sped);
			slowout("1.偷袭史蒂夫 		2.偷袭村民",sped);
			ans=_getch();
			clr();
			switch(ans){
				case '1':{
					slowout("史蒂夫来挖钻石了!",sped);
					slowout("史蒂夫被钻石吸引,你立刻上去把他炸死了!",sped);
					slowout("苦力怕循环:任务已完成",sped);
					Sleep(500);
					if(!flag2)flag2=true,cnt++;
					if(cnt==5)flag_five=true;
					cycle1();
					return;
					break;
				}
				case '2':{
					slowout("村民来挖钻石了!",sped);
					slowout("你把村民炸死了!",sped);
					Sleep(500);
					cycle6();
					return;
					break;
				}
			}
			break;
		}
	}
}
void cycle3(){
	
}
void cycle5(){
	
}
void cycle6(){
	
}
//1.0.0 初步框架构建+不完善的第一循环与相当完善的第二循环 (这次编写时占着个IP不上网)