很久以前的一个小小的文字游戏

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
int srnr,end,randa=rand()%2,bad[10],good[10],surprise[10],xiansuo[10],siwang,shiwu,zidan;
char ss;
int read(){
	ss=getch();
	if(ss>'0'&&ss<'9')return ss-'0';
	read();
}
void good1(){
	system("cls");
	printf("你见到了一个妹子\n你与她一见钟情\n随后过上了幸福的生活\n");
	Sleep(2000);
	good[1]=1;
}
void good2(){
	system("cls");
	printf("你见在一次行动中拯救了所有的人,成为了英雄\n你在草原上作为英雄终结了生命\n顺便提一句,你到死都是个DOG\n");
	Sleep(2000);
	good[2]=1;
}
void good3(){
	good[3]=1;
}
void surprise1(){
	system("cls");
	printf("你变成了丧尸,随后坐上了群尸之首的宝座\n最后,你统治了世界\n"); 
	surprise[1]=1;
	Sleep(1000);
}
void surprise2(){
	system("cls");
	printf("你成功抵达了目的地\n"); 
	surprise[2]=1;
	Sleep(1000);	
}
void xiansuo1(){
	printf("获得线索:变异是从什么时候开始的\n");
	xiansuo[1]=1;
	Sleep(1000);
}
void xiansuo2(){
	printf("获得线索:世界上唯一的人类\n");
	xiansuo[2]=1;
	Sleep(1000);
}
void xiansuo3(){
	printf("获得线索:不太真实的世界\n");
	xiansuo[3]=1;
	Sleep(1000);
}
void bad5(){
	system("cls");
	system("color F4"); 
	printf("你饿死了!!!\n"),bad[1]=1;
	Sleep(1000);
	system("color F0");
}
void wdwd(){
	if(shiwu)cout<<"食物还有"<<shiwu<<endl<<"子弹还有"<<zidan<<endl;
	else bad5();
}
void bad1(string sss){
	system("cls");
	system("color F4");
	cout<<sss<<endl; 
	printf("你摔死了!!!\n"),bad[1]=1;
	Sleep(1000);
	system("color F0");
}
void bad2(string sss){
	system("cls");
	system("color F4");
	cout<<sss<<endl;
	printf("你被吃掉了\n"),bad[2]=1;
	Sleep(1000);
	system("color F0");
}
void bad3(string sss){
	system("cls");
	system("color F4");
	cout<<sss<<endl;
	printf("你被毒死了\n"),bad[3]=1;
	Sleep(1000);
	system("color F0");
}
void bad4(string sss){
	system("cls");
	system("color F4");
	cout<<sss<<endl;
	printf("你被炸得支离破碎\n"),bad[4]=1;
	Sleep(1000);
	system("color F0");
}
void e3(){
	shiwu--;
	printf("突然你想起了许多\n然后你换了个游戏,继续打\n剧情通关\n");
	end=1;
	good[3]=1;
}
void e1(){
	shiwu--;
	shiwu--;
	system("cls");
	wdwd();
	printf("队里给你分配了一个任务\n1.去\n2.不去\n");
	srnr=read();
	if(srnr==1)good1();
	else{
		randa=rand()%2;
		if(randa)good2();
		else bad2("你在基地里遇见了大批僵尸");
	}
}
void d3(){
	shiwu--;
	system("cls");
	wdwd();
	printf("你看见了一个奇怪的插头\n1.拔掉他\n2.转身离开\n");
	srnr=read();
	if(srnr==1)e3();
	else bad4("不知为何,插头突然炸了");
}
void d4(){
	shiwu--;
	system("cls");
	wdwd();
	printf("你被死尸咬了一口\n1.我要复仇!把他啃了\n2.静待死亡\n");
	srnr=read();
	if(srnr==2){
		printf("你竟然没有变异\n");
		Sleep(1000);
		d3();
	}
	else{
		randa=rand()%2;
		if(randa)surprise1();
		else bad3("这死尸竟然有毒!!");
	}
}
void c5(){
	shiwu--;
	system("cls");
	wdwd();
	printf("你看见了一个死人\n1.看看他身上有什么好东西\n2.转身就走\n");
	srnr=read();
	if(srnr==2)bad4("死尸爆炸了");
	else e1();
}
void b5(){
	shiwu--;
	system("cls");
	wdwd();
	printf("你看见了一个山洞\n1.离开\n2.进入\n");
	srnr=read();
	if(srnr==1){
		if(shiwu>0)bad1("一脚过后,你一脚踏空,摔到了坑底");
		else{
			printf("你变异了,最终因为进食过度,撑死了\n");
			Sleep(1000);
			xiansuo1();
		}
	}
	else c5();
}
void d1(){
	shiwu--;
	system("cls");
	wdwd();
	printf("你爬出了山洞,看见了许多你所熟识的人\n1.加入他们\n2.装作不认识,离开\n");
	srnr=read();
	if(srnr==1)e1();
	else bad4("你不知踩到了啥,突然脚下的东西炸了");
}
void c3(){
	shiwu--;
	system("cls");
	wdwd();
	printf("是否继续探索?\n1.是\n2.还是离开吧\n");
	srnr=read();
	if(srnr==2)b5();
	else{
		if(bad[1])d1();
		else bad1("你不知为啥,一脚踏空");
	}
}
void b1(string ss){
	shiwu--;
	system("cls");
	wdwd();
	cout<<ss<<endl<<endl;
	printf("你发现了一个洞\n1.钻\n2.不钻\n");
	srnr=read();
	if(srnr==2){
		bad2("你被一个丧尸偷袭了,成功死亡");
		xiansuo2();
	}
	else{
		printf("你遇到了尸王,子弹-5\n");
		Sleep(1000);
		if(zidan<5)bad2("你因为子弹不足,被尸王做成了美味大餐");
		else{
			printf("你战胜了他,子弹+20,食物+5\n");
			zidan+=15,shiwu+=5;
			Sleep(1000);
			c3();
		}
	}
}
void a0(){
	wdwd();
	printf("你坐飞机经过了草原\n1.抢过伞跳下去\n2.管他呢,还是看会书吧\n");
	srnr=read();
	if(srnr==1){
		if(randa)b1("你安全的落地了");
		else{
			printf("你遇到了丧尸,子弹-2\n");
			Sleep(1000);
			if(zidan<2)bad2("你子弹不够被吃了");
			else zidan-=2,b1("你战胜了它,在它身后");
		}
	}
	else{
		if(siwang>49)surprise2();
		else{
			printf("飞机爆炸了,你被炸到了地上\n");
			Sleep(1000);
			if(!randa)bad4("很不幸,");
			else b5();
		}
	}
}
int main(){
	system("color F0");
	cout<<"作者:killer"<<endl;
	cout<<"不足之处,敬请指正!"<<endl;
	getch();
	srand(time(NULL));
	for(;;){
		system("cls");
		printf("欢迎来到丧尸三部曲第一部--草原之陨\n1.开始游戏\n2.查看成就\n3.作者提示\n");
		srnr=read();
		if(srnr==3){
			system("cls");
			int ddd=rand()%5;
			if(ddd==1)cout<<"有时候,可能只是你运气不够好\n";
			else if(ddd==2)cout<<"多死几次\n";
			else if(ddd==3)cout<<"不要相信你身边的任何事物\n";
			else if(ddd==4)cout<<"你可以试试你不敢走的路\n";
			else if(ddd==0)cout<<"不要贪婪\n";
			getch();	
		}
		if(srnr==2){
			system("cls");
			cout<<"bad结局\n"<<endl<<endl;
			if(bad[1])cout<<"bad1--摔死已完成\n"<<endl;
			else cout<<"bad1未完成\n"<<endl;
			if(bad[2])cout<<"bad2--被吃掉已完成\n"<<endl;
			else cout<<"bad2未完成\n"<<endl;
			if(bad[3])cout<<"bad3--被毒死死已完成\n"<<endl;
			else cout<<"bad3未完成\n"<<endl;
			if(bad[4])cout<<"bad4--被炸死已完成\n"<<endl;
			else cout<<"bad4未完成\n"<<endl;
			if(bad[5])cout<<"bad5--饿死已完成\n"<<endl;
			else cout<<"bad5未完成\n"<<endl;
			cout<<"good结局\n"<<endl<<endl;
			if(good[1])cout<<"good1--神仙眷侣已完成\n"<<endl;
			else cout<<"good1未完成\n"<<endl;
			if(good[2])cout<<"good2--英雄不朽已完成\n"<<endl;
			else cout<<"good2未完成\n"<<endl;
			if(good[3])cout<<"good3--沉迷游戏已完成\n"<<endl;
			else cout<<"good3未完成\n"<<endl;
			cout<<"surprise结局\n"<<endl<<endl;
			if(surprise[1])cout<<"surprise1--群尸之首已完成\n"<<endl;
			else cout<<"surprise1未完成\n"<<endl; 
			if(surprise[2])cout<<"surprise2--安全抵达已完成\n"<<endl;
			else cout<<"surprise2未完成\n"<<endl;
			cout<<"线索\n"<<endl<<endl;
			if(xiansuo[1])cout<<"线索1--变异是从什么时候开始的 已完成\n"<<endl;
			else cout<<"线索1未完成\n"<<endl; 
			if(xiansuo[2])cout<<"线索2--世界上唯一的人类 已完成\n"<<endl;
			else cout<<"线索2未完成\n"<<endl;
			if(xiansuo[3])cout<<"线索3--不太真实的世界 已完成\n"<<endl;
			else cout<<"线索3未完成\n"<<endl;
			getch();
		}
		if(srnr==1){
			system("cls");
			printf("请选择你要携带的食物和子弹,容量为十,\n");
			int aa,bb;
			for(;;){
				cin>>aa>>bb;
				if(aa+bb==10||aa==1&&bb==1)break;
			}
			if(aa==1&&bb==1)cout<<"开启秘籍"<<endl,shiwu=300,zidan=300;
			else shiwu=aa,zidan=bb;
			Sleep(1000);
			system("cls");
			a0();
			siwang++;
		}
	}
}

在所有的环境都是可以运行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值