专栏文章

规则怪谈第一天

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miow5e8v
此快照首次捕获于
2025/12/03 02:07
3 个月前
此快照最后确认于
2025/12/03 02:07
3 个月前
查看原文
CPP
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
struct wupin{
	int s;
	string name; 
}w[7];
int x=40,n,lizhi=100,a[21],s,t;
string str[6]={"1.每天午夜12点都会更新一条新的实体规则,违反者,死!","2.每当规则更新,上一条规则自动作废。","3.探索楼道有机会获得一些意想不到的东西。","4.电梯很危险,请不要轻易乘坐。","5.除非得到特定物品,否则千万不要离开社区!","6.7天后,依然存活的居民可以安全离开。"};
int Rand(int a,int b){
	int f=(rand()+time(NULL)+a)%(b-a+1)+a;
	return f;
}
void print(string s){
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(x);
	}
	printf("\n");
}
void prin(string s){
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(x);
	}
}
bool puzzle(int f){
	if(f==1){
		print("只见眼前忽然出现一道题目:1+1=2 2+2=4 3+4=30 1+3+5=?");
		cin>>n;
		if(n==127) return true;
		else return false;
	}
	else if(f==2){
		print("只见眼前忽然出现一道题目:1*3=4 2*3=8 3*7=22 4*6=27 5*5=?");
		cin>>n;
		if(n==26) return true;
		else return false; 
	}
}
void sc(){
	w[1].name={"时光回溯器"};
	w[2].name={"时光暂停器"};
	w[3].name={"理智恢复器"};
	w[4].name={"炸弹"};
	w[5].name={"生锈的钥匙"};
	w[6].name={"泛黄的纸"}; 
}
int main(){
	sc(); 
	system("color 0C");
	cout<<"规则怪谈\n";
	cout<<"  之";
	x=100;
	print("公寓惊魂");
	x=40;
	Sleep(2000); 
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	system("color 0F");
	print("午夜十二点,正在熬夜打游戏的你看到了群里物业发的消息");
	system("pause");
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	print("物业:今天千万,千万不要睡超过五小时!");
	system("pause");
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	print("你以为物业是在开玩笑,并没有理会,继续打你的游戏");
	system("pause");
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<++s<<"天"<<endl;
	print("结果第二天上午,你惊讶地发现,楼下那些平时这个点上学的小孩都不见了,整个小区寂静的可怕");
	Sleep(300);
	print("这时,你的手机响了起来,是一个陌生的号码,你选择:");
	cout<<"1.接 2.不接\n";
	cin>>n;
	system("cls"); cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	if(n==1){
		a[1]++; 
		system("color 0C");
		print("陌生人:不要相信任何人,说不定…他已经不是…你所认识的…他…了…");
		system("cls");
		cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
		system("color 0F");
		print("信号越来越弱,后面的话已经听不清了,只剩下滋滋的电流杂音。一时间,你犹豫不决,不知道该不该相信他说的话");
		system("pause"); 
		system("cls");
		cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	}
	else print("你挂了电话。");
	print("今天的事很蹊跷,还是要谨慎一点。你这么想着"); 
	system("pause"); 
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	print("这时,门被敲响了。你选择:");
	cout<<"1.开 2.不开 3.透过猫眼往外看\n";
	cin>>n;
	if(n==1){
		system("color 0C");
		cout<<"你还是太莽撞了\n";
		cout<<"解锁结局:莽撞可不是好行为哟";
		exit(0); 
	}
	else if(n==2){
		print("敲门声响了半晌,最后伴着一阵脚步声渐渐消失了");
		print("你的眉头越皱越深,使劲拧在了一起");
	}
	else{
		print("你从猫眼里看到你的好兄弟李贺");
		if(a[1]!=0) print("你想到了那个陌生人的话。");
		print("到底开不开门呢");
		cout<<"1.开 2.不开\n";
		cin>>n;
		system("cls");
		cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
		if(n==1){
			system("color 0C");
			cout<<"呵呵,你还是太相信‘它’了…\n";
			if(a[1]) cout<<"解锁结局:有的时候熟人还没陌生人可信";
			else cout<<"解锁结局:有的时候熟人还没陌生人可信";
			exit(0);
		}
		else{
			print("他还在不停地敲着门。见你半天没反应,他喊道:“秦淮!开门!我有重大发现!”");
			print("你的心里一个激灵。既然他知道你的名字,这是否证明他没有问题?开不开门呢?");
			cout<<"1.开 2.不开\n";
			cin>>n;
			system("cls");
			cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
			if(n==1){
				int k=Rand(0,1);
				if(k==1){
					system("color 0C");
					cout<<"明明你前面都那么谨慎了,为什么还要给他开门呢…\n";
					cout<<"解锁结局:有的时候熟人也不可信哟";
					exit(0);
				}
				else{
					print("李贺急急忙忙地冲了进来,大喊:“物业发的是真的!那条奇怪的规则是真的!”");
					print("他端起家里的一杯水一口喝下,缓了一会继续说:“我刚才和隔壁李叔遇见了。他告诉我,他儿子莫名失踪了!而且我发现,熬夜工作、打游戏和起床在5点前的人都好好的,其他的人都莫名消失了!”");
					print("你震惊地消化着这句话。还没等你缓过神来,他又说:“我先回去了,有事打我电话。要是除了我有人敲门,最好别开。这事儿很蹊跷,说不定很危险,保护好自己!”说罢,他便匆匆离开了"); 
					system("pause");
					system("cls");
					cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
					system("color 0E");
					print("你平复了一下心情,细细思考了一下,发现李贺的话中有很多漏洞。首先,李贺温文尔雅,他是绝对不会直接拿起别人家的水就喝的。其次,他是怎么知道没熬夜的人都失踪的?虽然不排除他一家家问的情况,但可能性很小。再次,李贺聪明冷静,如果遇到这种情况他一定会选择与自己抱团取暖。总之,他的身上有很多疑点,暂且不要相信他为好。");
					system("pause");
					system("cls");
					cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
					system("color 0C");
					print("可是,“它”为什么要这么做呢(理智-5)");
					lizhi-=5;
					a[1]++;
				}
			}
			else print("敲了一会儿,他失望的离开了"); 
		}
	}
	Sleep(1000);
	system("color 0F");
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	print("这时,物业发了新的消息:");
	system("cls");
	system("color 0C");
	cout<<"理智:"<<lizhi<<" 第"<<s<<"天"<<endl;
	print("物业:为了确保广大小区民众的安全,请务必遵守以下规则:");
	print(str[0]);
	print(str[1]);
	print(str[2]);
	print(str[3]);
	print(str[4]);
	print(str[5]);
	print("好了,规则就是这些,祝您安全离开!");
	system("pause");
	system("cls");
	print("看来,这些规则是真的…");
	Sleep(1000);
	system("color 0F");
	print("这条规则只是让我睡觉不要超过5小时,今天我已经睡了大概3小时,剩下的两小时要好好利用。");
	t=8;
	int r=2;
	while(t<24){
		system("cls");
		cout<<"理智:"<<lizhi<<" 第"<<s<<"天 "<<t<<":00"<<endl;
		int k=Rand(1,7);
		if(k==3){
			system("color 0C");
			cout<<"特殊事件发生!悖论启动!命运轮盘开始旋转!\n";
			int m=Rand(1,5);
			Sleep(500);
			cout<<"你的随机数为:";
			Sleep(500);
			cout<<m<<endl;
			Sleep(500);
			cout<<"事件:";
			if(m==1){
				print("嘹亮的钟声传来,你的心神开始恍惚(理智-10)");
				lizhi-=10;
				if(lizhi<=0){
					system("cls");
					system("color 0C");
					cout<<"你的理智过低,沦为了一具行尸走肉…\n";
					cout<<"解锁结局:被公寓催眠的人";
					exit(0);
				}
			}
			else if(m==2){
				print("时光似乎扭曲了一下,回到了一小时前");
				t-=2;
			}
			else if(m==3){
				print("灯光开始闪烁不定,你有些害怕(理智-5)");
				lizhi-=5;
				if(lizhi<=0){
					system("cls");
					system("color 0C");
					cout<<"你的理智过低,沦为了一具行尸走肉…\n";
					cout<<"解锁结局:被公寓催眠的人"; 
					exit(0);
				}
			}
			else if(m==4){
				if(puzzle(Rand(1,2))==true){
					system("color 0A");
					int kkksc03=Rand(1,4);
					prin("回答正确!奖励");
					print(w[kkksc03].name);
					w[kkksc03].s++;
				}
				else{
					system("color 0C");
					print("回答错误!时光崩塌!惩罚:扣除任意一件时光法器");
					if(w[1].s!=0&&w[2].s!=0){
						int kkksc03=Rand(1,2);
						w[kkksc03].s--;
						prin("扣除");
						print(w[kkksc03].name);
					}
					else if(w[1].s!=0){
						w[1].s--;
						prin("扣除");
						print(w[1].name);
					}
					else if(w[2].s!=0){
						w[2].s--;
						prin("扣除");
						print(w[2].name);
					}
					else{
						cout<<"既然你没有,那我就不客气啦…\n";
						cout<<"解锁结局:有的时候多存点货太重要了" ;
						exit(0);
					}
				}
			}
			else if(m==5){
				system("color 0C");
				print("怎么有婴儿的啼哭声从走廊传来…是我听错了吗?");
				cout<<"1.出去看看吧 2.还是算了吧\n";
				cin>>n;
				if(n==1){
					int kkksc03=Rand(1,3);
					if(kkksc03==1){
						system("cls");
						system("color 0C");
						cout<<"呵呵,你还是太相信“它”了…\n";
						cout<<"解锁结局:相信“它”的人都得死"; 
						exit(0);
					}
					else{
						int p=Rand(1,5);
						prin("你成功救下了一只将死的猫,它很感激你,送了你一个");
						print(w[p].name);
						w[p].s++; 
					}
				}
				else print("你似乎错过了什么…");
			}
			else{
				system("cls"); 
				system("color 0C");
				cout<<"你不会是想卡BUG吧…";
				exit(0);
			}
			Sleep(1000);
			system("color 0F");
		}
		else{
			cout<<"你可以:\n";
			cout<<"1.探索当前楼层\n";
			cout<<"2.使用电梯\n";
			cout<<"3.检查房间\n";
			cout<<"4.查看物品\n";
			cout<<"5.休息恢复理智(剩余次数:"<<r<<")\n";
			cout<<"6.";
			if(w[5].s!=0) cout<<"离开社区\n";
			else cout<<"得到特殊物品解锁\n";
			cin>>n;
			if(n==1){ 
				int m=Rand(1,7);
				if(m==2||m==4||m==7){
					int p=Rand(1,4); 
					prin("你获得了一个");
					print(w[p].name);
					w[p].s++;
				}
				else if(m==6){
					print("你遇到了一个邻居,他向你打招呼,你:");
					cout<<"1.打招呼 2.无视";
					if(w[4].s!=0) cout<<" 3.拿炸弹炸死他";
					printf("\n");
					int f;
					cin>>f;
					if(n==1){
						print("你张口的时候,理智忽然下降了20…");
						lizhi-=20;
						if(lizhi<=0){
							system("cls");
							system("color 0C");
							cout<<"你的理智过低,沦为了一具行尸走肉…\n";
							cout<<"解锁结局:被公寓催眠的人";
							exit(0);
						}
					}
					else if(n==2){
						system("cls");
						system("color 0C");
						cout<<"别人和你打招呼却无视可是不礼貌的行为哟\n";
						cout<<"解锁结局:要做一个礼貌的好孩子";
						exit(0);
					}
					else if(n!=3||n==3&&w[4].s==0){
						system("cls"); 
						system("color 0C");
						cout<<"你不会是想卡BUG吧…";
						exit(0);
					}
					else{
						print("邻居被炸死了");
						w[4].s--; 
					}
				}
				else print("你找了半天但一无所获");
			}
			else if(n==2){
				int p=Rand(1,2);
				if(p==1){
					system("cls");
					system("color 0C");
					cout<<"电梯忽然失控,向下坠去…\n";
					cout<<"解锁结局:你怎么能不听规则的呢"; 
					exit(0); 
				}
				else{
					if(puzzle(Rand(1,2))==true){
						system("color 0A");
						int kkksc03=Rand(1,4);
						prin("回答正确!奖励");
						print(w[kkksc03].name);
						w[kkksc03].s++;
					}
					else{
						system("color 0C");
						print("回答错误!时光崩塌!惩罚:扣除任意一件时光法器");
						if(w[1].s!=0&&w[2].s!=0){
							int kkksc03=Rand(1,2);
							w[kkksc03].s--;
							prin("扣除");
							print(w[kkksc03].name);
						}
						else if(w[1].s!=0){
							w[1].s--;
							prin("扣除");
							print(w[1].name);
						}
						else if(w[2].s!=0){
							w[2].s--;
							prin("扣除");
							print(w[2].name);
						}
						else{
							cout<<"既然你没有,那我就不客气啦…\n";
							cout<<"解锁结局:有的时候多存点货太重要了" ;
							exit(0);
						}
					}
				}
			}
			else if(n==3){
				int m=Rand(1,4);
				if(m==1){
					print("卧室里的镜子似乎有些异常。它说:“规则4是假的”。"); 
					print("它眨了眨眼睛…"); 
				}
				if(m==2){
					print("冰箱里有一些食物,你选择:");
					cout<<"1.吃 2.不吃\n";
					int p;
					cin>>p;
					if(p==1){
						int kkksc03=Rand(1,3);
						if(kkksc03==1){
							print("食物变质了,你感到不适");
							lizhi-=10;
							if(lizhi<=0){
								system("cls");
								system("color 0C");
								cout<<"你的理智过低,沦为了一具行尸走肉…\n";
								cout<<"解锁结局:被公寓催眠的人";
								exit(0);
							} 
						}
						else{
							print("食物真新鲜!连理智都恢复了不少了呢");
							lizhi+=10;
							if(lizhi>100) lizhi=100;
						}
					} 
				}
				if(m==3){
					prin("家里的灯似乎坏了,一闪一闪的,怪恐怖的,");
					int kkksc03=Rand(1,2);
					if(kkksc03==1){
						print("你费了好大的劲才修复它,耗了你10理智呢");
						lizhi-=10;
						if(lizhi<=0){
							system("cls");
							system("color 0C");
							cout<<"你的理智过低,沦为了一具行尸走肉…\n";
							cout<<"解锁结局:被公寓催眠的人";
							exit(0);
						}
					}
					else print("但你没有管它…");
				}
				if(m==4){
					print("你在客厅发现了一张泛黄的纸,虽然它上面没有字,但你感觉它很有用");
					w[6].s++; 
				}
			}
			else if(n==4){
				cout<<"你有:\n";
				for(int i=1;i<=6;i++){
					if(w[i].s!=0) cout<<w[i].s<<"个"<<w[i].name<<"\n";
				}
				cout<<"可以使用:1.时光回溯器 2.时光暂停器 3.理智恢复器 0.离开\n";
				int p;
				cin>>p;
				if(p==0){
					t--;
					continue; 
				}
				if(w[p].s==0){
					prin("你没有");
					print(w[p].name);
					t--;
					continue; 
				}
				if(p==1){
					print("你回到了一小时前");
					t-=2; 
				}
				else if(p==2){
					print("时光暂停两小时!");
					Sleep(1000);
					system("cls");
					for(int i=1;i<=2;i++){
						cout<<"理智:"<<lizhi<<" 第"<<s<<"天 "<<t<<":00"<<endl;
						cout<<"你可以:\n";
						cout<<"1.探索当前楼层\n";
						cout<<"2.使用电梯\n";
						cout<<"3.检查房间\n";
						cout<<"(当前状态无法查看物品)\n";
						cout<<"4.休息恢复理智(当前状态不限次数)\n";
						int asd;
						cin>>asd;
						if(asd==1){ 
							int m=Rand(1,3);
							if(m==2){
								int sa=Rand(1,4); 
								prin("你获得了一个");
								print(w[sa].name);
								w[sa].s++;
							}
							else print("你找了半天但一无所获");
						}
						else if(asd==2){
							int ask=Rand(1,2);
							if(ask==1){
								system("cls");
								system("color 0C");
								cout<<"电梯忽然失控,向下坠去…\n";
								cout<<"解锁结局:你怎么能不听规则的呢"; 
								exit(0); 
							}
							else{
								if(puzzle(Rand(1,2))==true){
									system("color 0A");
									int kkksc03=Rand(1,4);
									prin("回答正确!奖励");
									print(w[kkksc03].name);
									w[kkksc03].s++;
								}
								else{
									system("color 0C");
									print("回答错误!时光崩塌!惩罚:扣除任意一件时光法器");
									if(w[1].s!=0&&w[2].s!=0){
										int kkksc03=Rand(1,2);
										w[kkksc03].s--;
										prin("扣除");
										print(w[kkksc03].name);
									}
									else if(w[1].s!=0){
										w[1].s--;
										prin("扣除");
										print(w[1].name);
									}
									else if(w[2].s!=0){
										w[2].s--;
										prin("扣除");
										print(w[2].name);
									}
									else{
										cout<<"既然你没有,那我就不客气啦…\n";
										cout<<"解锁结局:有的时候多存点货太重要了" ;
										exit(0);
									}
								}
							}
						}
						else if(asd==3){
							int m=Rand(1,3);
							if(m==1){
								print("冰箱里有一些食物,你选择:");
								cout<<"1.吃 2.不吃\n";
								int p;
								cin>>p;
								if(p==1){
									int kkksc03=Rand(1,3);
									if(kkksc03==1){
										print("食物变质了,你感到不适");
										lizhi-=10;
										if(lizhi<=0){
											system("cls");
											system("color 0C");
											cout<<"你的理智过低,沦为了一具行尸走肉…\n";
											cout<<"解锁结局:被公寓催眠的人";
											exit(0);
										}
									}
									else{
										print("食物真新鲜!连理智都恢复了不少了呢");
										lizhi+=10;
										if(lizhi>100) lizhi=100;
									}
								} 
							}
							if(m==2){
								prin("家里的灯似乎坏了,一闪一闪的,怪恐怖的,");
								if(Rand(1,2)==1){
									print("你费了好大的劲才修复它,耗了你10理智呢");
									lizhi-=10;
									if(lizhi<=0){
										system("cls");
										system("color 0C");
										cout<<"你的理智过低,沦为了一具行尸走肉…\n";
										cout<<"解锁结局:被公寓催眠的人";
										exit(0);
									}
								}
								else print("但你没有管它…");
							}
							if(m==3){
								print("你在客厅发现了一张泛黄的纸,虽然它上面没有字,但你感觉它很有用");
								w[6].s++; 
							}
						}
						else if(asd==4){
							print("理智恢复了一些…");
							lizhi+=10;
							if(lizhi>=100) lizhi=100;
						}
						else{
							system("cls"); 
							system("color 0C");
							cout<<"你不会是想卡BUG吧…";
							exit(0);
						}
						system("cls");
					}	
				}
				else if(p==3){
					lizhi=100;
					print("理智已回满!"); 
				}
				else{
					system("cls"); 
					system("color 0C");
					cout<<"你不会是想卡BUG吧…";
					exit(0);
				}
			}
			else if(n==5){
				if(r==0){
					system("cls"); 
					system("color 0C");
					cout<<"你今天已经睡了五小时喽…";
					cout<<"解锁结局:不听规则的下场";
					exit(0);
				}
				else{
					print("理智恢复了一些…");
					lizhi+=10,r--;
					if(lizhi>=100) lizhi=100;
				} 
			}
			else if(n==6){
				if(w[5].s==0) print("你还没有特殊道具…");
				else{
					system("cls");
					system("color 0A");
					cout<<"你成功逃出了社区!\n";
					cout<<"已解锁完美结局";
					exit(0); 
				}
			}
			else{
				system("cls"); 
				system("color 0C");
				cout<<"你不会是想卡BUG吧…";
				exit(0);
			}
			Sleep(1500);
		}
		t++;
		system("cls");
	}
	system("cls");
	cout<<"理智:"<<lizhi<<" 第"<<++s<<"天\n";
	print("午夜钟声响起,新的规则公布了…"); 
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...