职业学院游戏发布


当前版本: \(\color{green}{1.1.7}\)

作者: 耿睿 & 尹航


反馈链接:#1 #2 #3 #4 #5

作品下载:点我


以往版本:

1.0.5

点击查看代码
#include <bits/stdc++.h>
#include <windows.h>
#define syst system("cls")
using namespace std;
int hp, cl, st, jsl, bd, gd, money,all,md;
bool flag[105];
bool flag2[105];
bool flag3[105];
void sb()
{
	ofstream fout;
	fout.open("save.txt");
	fout<<endl;
	fout.close();
}
void save()
{
	ofstream fout;
	fout.open("save.txt");
	fout<<hp<<" "<<cl<<" "<<st<<" "<<jsl<<" "<<bd<<" "<<gd<<" "<<md<<" "<<money<<" "<<all<<endl;
	for(int i=0;i<105;i++) fout<<flag[i]<<" ";
	fout<<endl;
	for(int i=0;i<105;i++) fout<<flag2[i]<<" ";
	fout<<endl;
	for(int i=0;i<105;i++) fout<<flag3[i]<<" ";
	fout<<endl;
	fout.close();
} 
void read()
{
	ifstream fin;
	fin.open("save.txt");
	fin>>hp>>cl>>st>>jsl>>bd>>gd>>md>>money>>all;
	for(int i=0;i<105;i++) fin>>flag[i];
	for(int i=0;i<105;i++) fin>>flag2[i];
	for(int i=0;i<105;i++) fin>>flag3[i];
	fin.close();
}
void c(string s){
	for (int i = 0;i < s.size();i ++){
		cout << s[i];
		Sleep(100);
	}
	cout << "\n";
	save();
	return;
}
void d(string s){
	for (int i = 0;i < s.size();i ++){
		cout << s[i];
		Sleep(15);
	}
	cout << "\n";
	save();
	return;
}
void md1_shen()
{
	syst;
	c("不儿?你把所有成就都K.O.了!");
	d("Mid End 1:成就大神");
	if (!flag3[1]) md ++;
	flag3[1] = 1;
}
void bd1_btq(){
	syst;
	c("输入错误");
	c("你因违背规则而死");
	d("Bad End 1:违背规则");
	if (!flag[1]) bd ++;
	flag[1] = 1;
}
void bd2_npt(){
	syst;
	c("你被女胖头打死");
	d("Bad End 2:女胖头");
	if (!flag[2]) bd ++;
	flag[2] = 1;
}
void bd3_esl(){
	syst; 
	c("但你因没钱买吃的而死");
	d("Bad End 3:饿死了");
	if (!flag[3]) bd ++;
	flag[3] = 1;
}
void bd4_ls(){
	syst;
	c("你被老师关进了小黑屋");
	d("Bad End 4:小黑屋");
	if (!flag[4]) bd ++;
	flag[4] = 1;
}
void bd5_esl(){
	syst;
	c("你因在教室里待时间过长,并且没有食物");
	c("你死了");
	d("Bad End 5:教室里饿死了");
	if (!flag[5]) bd ++;
	flag[5] = 1;
}
void bd6_exs(){
	syst;
	c("你被张凯歌的吐沫星子恶心死了");
	d("Bad End 6:恶心死");
	if (!flag[6]) bd ++;
	flag[6] = 1;
}
void bd7_tm(){
	c("Bad End 7:团灭");
	if (!flag[7]) bd ++;
	flag[7] = 1;
}
void gd1_npt(){
	syst;
	d("Good End 1:恢复正常");
	if (!flag2[1]) gd ++;
	flag2[1] = 1;
}
void gd2_an(){
	syst;
	d("Good End 2:按钮");
	if (!flag2[2]) gd ++;
	flag2[2] = 1;
}
void gd3_fh(){
	syst;
	d("Good End 3:富豪");
	if (!flag2[3]) gd ++;
	flag2[3] = 1;
}
void gd4_cle(){
	d("Good End 4:平行宇宙");
	if (!flag2[4]) gd ++;
	flag2[4] = 1;
}
void start(){
	c("欢迎来到职业学院逃生");
	c("当前版本:1.0.5(测试版)");
	c("作者:耿睿");
	c("牛逼加持:尹航");
	return;
}
void jiesuo(){
	syst;
	d("当前解锁结局:");
	cout << "好结局:" << gd << "个(共4个)\n"; 
	cout << "坏结局:" << bd << "个(共7个)\n"; 
	Sleep(5000);
}
void sougua(){
	srand(time(0));
	syst;
	if (rand() % 2){
		c("你找到了U盘 money + 300");
		money += 300;
	} else {
		c("你什么没找到");
	}
	if (!(rand() % 3)){
		c("你因声音过大被老师发现了");
		bd4_ls();
	} else {
		c("你选择:");
		c("1.在屋里寻找物品");
		c("2.出去寻找物品");
		c("3.啥也不干");
		string s;
		cin >> s;
		if (s == "1"){
			sougua();
		} else if (s == "2"){
			c("你出去了");
			sougua();
		} else if (s == "3"){
			c("你苟着");
			bd5_esl();
		} else {
			bd1_btq();
		}
	}
}
void cj()
{
	srand(time(0));
	syst;
	if (rand() % 2){
		c("你找到了U盘 money + 300");
		money += 300;
	} 
	else if(rand()%4)
	{
		c("你找到了星际8080 money + 100");
		money += 100;
	}
	else if(rand()%5)
	{
		c("你找到了作者留下的彩蛋 money - 500");
		money -= 500;
	} 
	else if(rand()%10)
	{
		c("你找到了另一个你 money * 2");
		money *= 2;
	} 
	else {
		c("你什么没找到");
	}
	if (!(rand() % 3)){
		c("你因声音过大被老师发现了");
		bd4_ls();
	}
}
void c1(){
	c("你进入了c1");
	c("你遇到了张凯歌");
	if (jsl < 5){
		c("你被他的吐沫星子恶心晕了");
		srand(time(0));
		int aa = rand() % 2;
		string s;
		if (aa > 0){
			c("你醒了过来");
			c("发现教师里没有入了");
			c("是否选择搜刮?(Y/N)");
			cin >> s;
			if (s == "Y") sougua();
			else if (s == "N") bd5_esl();
			else bd1_btq();
		} else {
			bd6_exs();
		}
	} else {
		syst;
		c("你将张凯歌击败了");
		c("但你被老师发现");
		bd4_ls();
	}
}
void c2(){
	c("你在这里发现了小面包团队");
	c("你是否与他们交流(y/n)?");
	string s;
	cin >> s;
	if (s == "y"){
		syst;
		c("你与他们交流了一番");
		c("但引来了老师");
		if (st > 8 && hp > 5){
			c("你打败了老师");
			c("你从老师的手上发现了一串钥匙");
			c("那个钥匙正是通往办公室的");
			d("是否前往(Y/N)?");
			cin >> s;
			if (s == "Y"){
				c("你在那里发现了一个按钮");
				c("是否按下?(Y/N)");
				cin >> s;
				if (s == "Y"){
					c("你与小面包们回到了真正的世界");
					gd2_an();
				}
			} else if (s == "N"){
				syst;
				c("你们被老师发现,被大量的老师杀死了");
				bd7_tm();
			} else {
				bd1_btq();
			}
		} else {
			bd7_tm();
		}
	} else if (s == "N"){
		c("你走出了c2,前往了c1");
		c1();
	} else {
		bd1_btq();
	}
}
void menkou(){
	c("是否进入?(Y:进 N:不进)");
	string s;
	cin >> s;
	if (s == "Y"){
		c("你发现了两个进入的方法");
		c("1.从大门进入");
		c("2.翻窗进入");
		cin >> s;
		syst;
		if (s == "1"){
			c("一个超级女胖头发现了你");
			if (st > 6 && jsl > 2 && hp > 4){
				c("你将其打败了,并说她是FW");
				c("做完这些事后,所有东西都恢复了正常");
				gd1_npt();
			} else {
				c("你被她打败了");
				bd2_npt();
			}
		} else if (s == "2"){
			syst;
			if (cl > 9){
				c("你十分聪明,你发现这里是个异世界");
				c("你做出了平行宇宙的传送门并进入");
				c("然后你就回到了真实的世界");
				gd4_cle();
				return;
			}
			c("你翻窗偷摸进入了2楼");
			c("你发现有3个教室,分别为c1,c2,c3");
			c("请选择(若不进入则输入c4)");
			cin >> s;
			syst;
			if (s == "c1"){
				c1();
			} else if (s == "c2"){
				c2();
			} else if (s == "c3"){
				c("你来到了c3");
				c("你搜刮了一番,把值钱的都带走了");
				c("紧接着,你出了教室");
				c("那些值钱的都发出了非常亮的光");
				c("紧接着,世界恢复了正常");
				c("你还成为了一个富豪");
				gd3_fh(); 
			} else if (s == "c4"){
				c("你被老师发现");
				bd4_ls();
			} else {
				bd1_btq(); 
			}
		} else {
			bd1_btq();
		}
	} else if (s == "N"){
		syst;
		c("你离开了教学楼");
		c("你发现学校大门没开");
		c("1.前往打开学校大门");
		c("2.在周边搜索物品");
		cin >> s;
		if (s == "1"){
			c("你打开了学校大门");
			c("你逃出后,一切恢复了正常");
			if (money < 500) bd3_esl();
			else gd1_npt();
		} else if (s == "2"){
			syst;
			srand(time(0));
			if (rand() % 2){
				c("你拿到了显卡 money + 1000");
				money += 1000;
			}
			if (rand() % 2){
				c("你拿到了鼠标 money + 500");
				money += 500;
			}
			c("你拿到了键盘 money + 300");
			money += 300;
			if (rand() % 3 == 1){
				c("你被老师发现");
				bd4_ls();
			}
			c("你回到了教学楼门口");
			menkou();
		} else {
			bd1_btq();
		}
	} else {
		bd1_btq();
	}
	return;
}
void game(){
	syst;
	c("你来到了充满红色乌云的世界");
	printf("请选择新天赋:(共%d个天赋点)每个天赋至少投入1个天赋点\n",all-hp-cl-jsl);
	printf("血量(%d) 智商(%d) 力量(%d) 精神力(%d)\n",hp,cl,st,jsl);
	int tmp[4];
	cin>>tmp[0]>>tmp[1]>>tmp[2]>>tmp[3];
	hp+=tmp[0];
	cl+=tmp[1];
	st+=tmp[2];
	jsl+=tmp[3];
	syst;
	if (hp < 1 || cl < 1 || st < 1 || jsl < 1 || hp + cl + st + jsl>all){
		bd1_btq();
		return;
	}
	c("你来到了教学楼门口");
	menkou();
}
void xuanze(){
	c("1.开始游戏");
	c("2.查看解锁结局数");
	c("3.退出游戏");
	c("4.商城");
	string n;
	cin >> n;
	if (n == "1") game();
	else if (n == "2"){
		jiesuo();
	} else if (n == "3"){
		for (int i = 1;i < 101;i ++){
			syst;
			cout << "退出中:" << i << "%\n";
			Sleep(100);
		}
		c("已关闭");
		save();
		exit(0);
	} 
	else if(n=="4")
	{
		syst;
		c("1.技能点(100马内)");
		c("2.抽奖(50马内)");
		c("3.退出");
		int sc;
		cin>>sc;
		if(sc==1)
		{
			all++;
			money-=100;
		}
		else if(sc==2)
		{
			money-=50;
			cj();
		}
		else if(sc==3)
		{
			srand(time(0));
			if(rand()%10)
			{
				syst;
				c("一帮劫匪把你在便利店门口截住了!");
				if(money<500)
				{
					c("因为你是个穷逼,所以他们不高兴");
					Sleep(1000);
					syst;
					int times=10;
					while(times--)
					{
						system("color 40");
						Sleep(350);
						system("color A6");
					}
					c("你倒在血泊中.....");
					c("那帮家伙删掉了您的存档"); 
				} 
				else if(money>1000)
				{
					c("那帮家伙拿走了你的钱");
					money-=1000;
					c("他们答应要帮你(力量+10 精神力+10)"); 
					all+=20;
					st+=10;
					jsl+=10;
					save();
				}
				else
				{
					c("他们认出你就是传说中的千元老大");
					c("智慧+2 力量+20 精神力+10");
					all+=32;
					cl+=2;
					st+=20;
					jsl+=10;
					save(); 
				}
			}
			else if(rand()%5)
			{
				c("啊!有小偷......");
				srand(time(0)+17);
				int xt=rand()%200+1;
				printf("money - %d\n",xt);
				money-=xt;
			}
		}
	}
	else 
	{
		bd1_btq();
	}
}
int main(){
	all=20;
	read();
	bool y=1;
	for(int i=1;i<=4/*后期好成就数量总*/;i++)
	{
		if(!flag[i]) y=0;
	}
	for(int i=1;i<=7/*后期坏成就数量总*/;i++)
	{
		if(!flag2[i]) y=0;
	}
	if(y) md1_shen();
	while (1){
		syst;
		start();
		xuanze();
		Sleep(3000);
	}
	return 0; 
}
posted @ 2025-07-29 09:26  [GuiHua]  阅读(44)  评论(0)    收藏  举报

GuiHua博客 by GuiHua is licensed under CC BY-NC-ND 4.0