我自制的c++小游戏(1.0.0版)

闲聊 已结
30 1186
4669 2024-08-07
//!!!!最新版本在评论区!!!!2.0.0实验版 //1.1.4. #include <bits/stdc++.h> #include <windows.h> #include <stdlib.h> using namespace std; //system("color 7E"); /* 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色; 6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=浅绿色; C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。 */ string a[50]; int cn ; void _open(){ MessageBox(NULL,"....游戏即将开始!....","提示",MB_OK|MB_ICONEXCLAMATION); } void CPt(char s, int color){ //彩色输出 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf("%c",s); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); } /* color: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ void _1slowcout(string s){ int ti=20;//you can change the number int u=s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } cout<<endl; } void _slowcout(string s, long long int ti) { int u = s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } } void c_slowcout(string s, long long int ti,int color) { int u = s.size(); for (int i = 0; i < u; i++) { CPt(s[i],color); Sleep(ti); } } void _start() { c_slowcout("-------------生存游戏--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; c_slowcout("------------版本1.1.1 -------------",100,1); cout << endl; Sleep(980); c_slowcout("1.1.4(2改版)版本升级点: \n", 89,2); Sleep(800); /* cout << "1.修复了一些乱码及文字问题" << endl; Sleep(510); cout << "2.新增彩色页面 \n"; Sleep(500); */ _slowcout("1.适用于c++5.12及以上的编译器\n", 50); cout << endl; Sleep(510); _slowcout("2.修复了一些小问题\n", 50); cout << endl; Sleep(510); _slowcout("3.新增彩色页面\n", 50); Sleep(1010); cn = 5; c_slowcout("注意事项:", 91 , 4); cout << endl; _slowcout("1.如果拿不定主意,可以输入数字5。求助次数为5。", 50); _slowcout("\n2.输入6,结束游戏", 50); cout << endl; Sleep(500); cout << "输入任意字符开始游戏" << endl; int as; cin >> as; } int _end() { cout << "是否结束游戏?\n1.是\n2.否\n"; int r; cin >> r; return r; } void _help(int s) { if (cn == 0) { cout << "提示次数为0!"; Sleep(880); cout << "\033c"; system("cls"); cout << a[s] << endl; return; } int u = cn; if (s == 2) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 7) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 8) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 9) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 13) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 14) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 15) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 16) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 17) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 18) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 20) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 21) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 23) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 27) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 28) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 29) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 30) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 32) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 36) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 37) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 40) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } //Sleep(2000); if (cn == u) { cout << "输入任意字符继续"; Sleep(1800); } system("cls"); cout << a[s] << endl; return; /* if(s==2){ cout<<"May be 2"<<endl; cn--; cout<<"剩余提示次数:"<<cn<<endl; sleep(500); cout << "\033c"; } */ } /* 这是一个c++小游戏。(程序自创,文章内容参考《牛津英汉双语读物·入门级·上<生存游戏>》) 1.1.0 版本升级点: 1.修复了一些乱码及a[24]、a[36]的文字问题 2.新增help功能 */ int main() { system("color 0E"); a[1] = "你名叫xx,正驾驶一架小型飞机飞越落基山脉。突然,发动机发出了奇怪的响声,飞机朝着一座山坠去。你的无线电失灵了,没有人知道你所在的位置。\n输入0继续"; a[2] = "你穿着外套,拿着威士忌和地图,过了大约20分钟。积雪很厚,你感到很冷。\n1你回到飞机上,拿了一些其他物品。\n2为了暖和一点,你喝了威士忌。"; a[3] = "你回去睡觉,再也没听到直升机的声响。第2天,你继续沿着河边走。"; a[4] = "你原路返回,出了隧道,走进乱石丛生的山谷。"; a[5] = "你吃了果子。虽然味道不好,但是你太饿了,还是吃了不少。你带了些果子在身上,过后可以吃。"; a[6] = "你穿着外套,拿着香蕉和打火机,走了大约20分钟。积雪很厚,你感到很冷。你回到树林,生起火堆。"; a[7] = "又到了晚上,但因为之前吃了鱼,你并没有觉得饿。你在树下搭了一座帐棚。早上醒来后,你听到了一阵响声。\n你跑出帐棚往天上看,发现有一架直升机。虽然你看得直升机,但因为树枝的遮挡,飞机上的人看不到你。飞机就要飞走了。\n1你追着直升机跑。\n2你回棚里睡觉。\n3你生起了火堆。 \n4你冲着直升机一边大声呼喊,一边挥动双臂。"; a[8] = "你顺着山谷走出很远,夜晚将要来临了。你在树林里生起了火,吃了香蕉。第2天早上,你感到很饿,必须找些东西吃。你在雪地上发现了动物的脚印,也许你可以猎杀这只动物作食物。\n1你沿着脚印追踪走去。\n2你很害怕大型动物。或许这只动物很危险,于是你向山下走去。"; a[9] = "你带着香蕉、打火机和地图走了几分钟,感到非常寒冷。\n1你生起火堆?。\n2你回到飞机上去取威士忌。"; a[10] = "时间到了下午。你开始觉得很不舒服。也许那些果子有毒。你走不动了,坐在雪地上,觉得越来越冷。"; a[11] = "你向右转,飞机撞到了树上。"; a[12] = "你横穿湖面,在冰上走。几分钟后,冰裂开了,你掉进了冰窟窿。"; a[13] = "你带着威士忌、打火机和香蕉走了几分钟,感到非常寒冷。\n1你喝了威士忌。\n2你回到飞机上,放下了威士忌,带上了外套。"; a[14] = "河面上结了冰,但中间有洞隙。你看到河里有鱼。也许你可以抓一条鱼吃。\n1你试着从冰隙间捉几条鱼。\n2在河边捉鱼很危险。你继续往前走。"; a[15] = "你向左转,想在雪地上着陆。飞机落在雪中,停了下来。你虽然安全了,但却身处山顶,天异常寒冷。天黑了下来。 \n1你待在飞机上。\n2你向山下走去。"; a[16] = "山谷的岩石很难攀爬,几分钟之后你就疲惫不堪了。\n1你继续沿着山谷走。\n2你往回走,出了山谷,进了隧道。"; a[17] = "你穿过树林向山下走,感觉饥肠辘辘。你看到有一棵树上结着没见过的果子。\n1你吃了果子。\n2你不吃果子。"; a[18] = "你小心地走上湖面。走了几百米后,脚下的冰开始晃动。\n1你继续在湖面上穿行。\n2你退了回去,然后绕着湖走。"; a[19] = "你重新生起火堆。大概两个小时后,你又听到了直升机的声响。这一次,飞机看到了烟,停在了你旁边的雪地上。这下你安全了。你乘飞机前往医院,可以在那里吃饭和休息。"; a[20] = "你极快地向林中坠去,但你可以让飞机向左转弯或向右转弯。右边是一些树,左边是厚厚的积雪。\n1你向右转。\n2你向左转。"; a[21] = "你继续沿着河走,感觉非常饥饿,必须找东西吃。树上有果子,河中有鱼。\n1你尝试着抓一条鱼。\n2你吃了一些果子。"; a[22] = "绳子断了。"; a[23] = "你继续在雪中跋涉。没有吃的东西,但你可以生火,还可以喝雪水。突然,你发现前面有一个结了冰的湖。\n1你横穿湖面。这样会快一些,你必须找点吃的东西。\n2你绕着湖走。你去寻找条河。"; a[24] = "你待在飞机上,但感到异常寒冷。你真的不想活了吗?"; a[25] = "你在飞机上待了四天,什么也看不到,什么也听不到。你必须下山。"; a[26] = "经过几十分钟的努力,你终于捉到了一条鱼。你又多捉了几条。你感到很冷,于是生起了火堆,烤了几条鱼吃。味道好极了。"; a[27] = "你朝山下走去。几分钟后看到前面有一条隧道。你的左侧还有一个布满岩石的山谷。\n1你沿着山谷走去。\n2你走进隧道。"; a[28] = "你绕着湖走。走约大了五公后,你发现了一条河。河水从湖中流出,向远处流去。\n1你继续绕着湖走。\n2你沿着河走去。"; a[29] = "你想下山。飞机上有一些东西,你可以随身带上几样。你会带哪些呢?\n1外套、威士忌和地图。\n2外套、香蕉和打火机。\n3香蕉、打火机和地图。\n4威士忌、打火机和香蕉。"; a[30] = "一整天,烟不停地升上天空,但是直升机没有出现。你等了一整天。第2天,你一大早就醒来了。\n1你重新生起火堆。\n2你沿着河走去。"; a[31] = "你追着直升机跑,但它飞得很快。你不得不往山上爬,在厚厚的雪中跋涉了一整天,但再也没找到那架直升机。"; a[32] = "你待在飞机附近。坐在一边,看着天,就这样过了两天。什么也没有发生。\n1你待在飞机附近。\n2你试着向山下走去。"; a[33] = "你走进隧道。漆黑一片。你看到有一盏灯,便点上了。"; a[34] = "为了暖和一点儿,你喝了威士忌,但并没有觉得暖和起来。你只是感到很累,筋疲力尽。"; a[35] = "你生起火堆,火堆冒出很多烟。你看着冲天的烟柱。"; a[36] = "你整晚都坐在树林里的火堆前。虽然天很冷,但火烧得很旺,你可以稍微睡一会。你需要想想天亮以后你可以做些什么。\n1你待在飞机附近。\n2你朝山下走去。"; a[37] = "你冲着直升机一边大声呼喊,一边挥动双臂。直升机掉头往回飞了一会,然后向天上飞去。\n1你追着直升机跑。\n2你回去睡觉。\n3你生起火堆。"; a[38] = "你绕着湖走了1整圈,筋疲力尽,没有找到任何事物。你只能沿着河走。"; a[39] = "你沿着脚印在树林中走了很远。脚印延伸到1棵大树的后面。你朝树后看去,看到了一只大熊。这肯定不是能吃的。你悄悄地离开了。"; a[40] = "你向洞的深处走,走了约5分钟,发现地上有一个很大的洞。1条很旧的绳向下直延伸到洞中。\n1你顺着绳子下到洞中。\n2你退回到隧道口。"; cn = 5; _start(); int s = 1; //cout << "\033c"; system("cls"); while (1) { system("color 0E"); int b, c = 0, d = 0, e; if (s == 1) { _1slowcout(a[s]); s = 20; cin >> b; //cout << "\033c"; } else if (s == 2) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 29; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 3) { _1slowcout(a[s]); cin >> b; s = 21; //cout << "\033c"; } else if (s == 4) { _1slowcout(a[s]); cin >> b; s = 16; //cout << "\033c"; //system("cls"); } else if (s == 5) { _1slowcout(a[s]); s = 10; cin >> b; //cout << "\033c"; } else if (s == 6) { _1slowcout(a[s]); s = 36; cin >> b; //cout << "\033c"; } else if (s == 7) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } if (b == 4) { s = 37; } //cout << "\033c"; } else if (s == 8) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 39; } if (b == 2) { s = 17; } //cout << "\033c"; } else if (s == 9) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 36; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 10) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 11) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; s = 1; } else if (s == 12) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; } else if (s == 13) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 34; } if (b == 2) { s = 6; } //cout << "\033c"; } else if (s == 14) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 15) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 24; } if (b == 2) { s = 29; } //cout << "\033c"; } else if (s == 16) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 8; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 17) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 5; } if (b == 2) { s = 23; } //cout << "\033c"; } else if (s == 18) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 12; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 19) { _1slowcout(a[s]); Sleep(500); system("cls"); c_slowcout(" GAME OVER!",40,9); Sleep(300); break; //cout << "\033c"; } else if (s == 20) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 11; } if (b == 2) { s = 15; } //cout << "\033c"; } else if (s == 21) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 5; } //cout << "\033c"; } else if (s == 22) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 23) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 18; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 24) { _1slowcout(a[s]); cin >> b; s = 29; //cout << "\033c"; } else if (s == 25) { _1slowcout(a[s]); cin >> b; s = 27; //cout << "\033c"; } else if (s == 26) { _1slowcout(a[s]); cin >> b; s = 7; //cout << "\033c"; } else if (s == 27) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 16; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 28) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 38; } if (b == 2) { s = 14; } //cout << "\033c"; } else if (s == 29) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 2; } if (b == 2) { s = 6; } if (b == 3) { s = 9; } if (b == 4) { s = 13; } //cout << "\033c"; } else if (s == 30) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 19; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 31) { _1slowcout(a[s]); cin >> b; s = 23; //cout << "\033c"; } else if (s == 32) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 25; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 33) { _1slowcout(a[s]); cin >> b; s = 40; //cout << "\033c"; } else if (s == 34) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 35) { _1slowcout(a[s]); cin >> b; s = 30; //cout << "\033c"; } else if (s == 36) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 32; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 37) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } //cout << "\033c"; } else if (s == 38) { _1slowcout(a[s]); cin >> b; s = 14; //cout << "\033c"; } else if (s == 39) { _1slowcout(a[s]); cin >> b; s = 17; //cout << "\033c"; } else if (s == 40) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 22; } if (b == 2) { s = 4; } //cout << "\033c"; } if (b == 6) { if (_end() == 1) { _1slowcout("退出中......"); Sleep(810); system("cls"); break; } } system("cls"); system("color 0E"); /* if(s==){ cout<<a[s]<<endl; cin>>b; cout << "\033c"; } */ } //cout << "\033c"; //cout << "\033c"; }
回帖
  • 2024-10-27 11:42
    #include <bits/stdc++.h> #include <windows.h> #include <stdlib.h> using namespace std; void _1slowcout(string s){ int ti=20;//you can change the number int u=s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } cout<<endl; } string b[40]; /* b[1]="?个寒冷的夜晚,你正坐在伦敦的家?。有?敲?。来者是伦敦警察局的弗利威尔巡官。“您能来?趟?教堂吗,庞德先??我们需要您的帮助。有个??倒在街上。她没死,但浑?是?。我们认为这次?是‘?教堂杀?’?的。”你穿上外套。"; //18jie b[2]="你在安妮家中。?个???了进来。“你是谁?你在这??什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。??想了想。“她最好的朋友是个叫罗茜的??,住在莱姆豪斯街。不过她有个男朋友。就是那张照??的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。看第10节。\n2你去莱姆豪斯街找罗茜。"; //35jie b[3]="你想上“加利福尼亚?”号找杰克谈谈。\n1你跳进?中,游着去追船。看第8节。\n2你不会游泳。你考虑着怎么上船。"; //看第13节。 b[4]="“您知道街上那个??叫什么吗?”你问??。他听不?你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚?”号。?条?船上有个??。有位??在钓?。\n1你请??帮忙。看第24节。\n2你请??帮忙。"; //看第34节。 b[6]="你询问?伙?。他?到街上,看了看那个??。“我想她叫安妮。”他说。“你知道她住哪?吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚?”号的船?叫来了三个叫杰克的?。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进?中,游着去追船。但船开得很快。五分钟后,“加利福尼亚?”号驶出了伦敦码头,驶向印度。这时你觉得?常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“?个??。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解?些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧?有四个?。你想问问有关街上那个??的事。你要先问谁?\n1你询问??。\n2你询问?伙?。\n3你询问?妇?。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="??看着你。“杰克?”他说,“叫杰克的??有?百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那?有?百条船。你想找到“加利福尼亚?”号,抓住杰克。\n1你?过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="??上有座桥。你上了桥,跳上“加利福尼亚?”号。你去找船?。“我必须和您船上的?个?谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘?教堂杀?’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那?有?百条船,?千名??。你和?名??搭上了话。“你认识?名叫杰克的??吗?”你问道。"; //看第11节。 b[15]="你询问?妇?。她?到街上,看了看那个??。“她叫安妮。”她说。“您知道她住哪?吗?”你问。“知道。她住在缆绳街。我不知道?牌号。”她答道。■你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲??的?。?个年轻??开了?。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不?了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“?教堂杀?”。"; //看第7节。 b[18]="“?教堂杀?”??把??伤?。他杀了6个??。你来到?教堂,警察在那?等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以?法开?和你说话。你看到路上有?些???轮印。/n1你沿着???轮印追踪。\n2你?进“玫瑰与王冠”酒吧。你想与??的?谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到?封信。'加利福尼亚?号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧?个?吧。我有?常重要的东西给你。杰克'这样看来,杰克的船叫“加利福尼亚?”号。杰克是你要找的?吗?杰克是“?教堂杀?”吗?你去伦敦码头找“加利福尼亚?”号上的杰克。"; //看第12节。 b[20]="那?有很多船,但你看不到“加利福尼亚?”号。"; //回到第12节。 b[21]="你敲了敲蓝?的?。?位??开了?。“我找罗茜。”你说。“她不住这?,”他说,“我想她住在那个?房??。”"; //看第16节。 b[22]="“?教堂杀?”逍遥法外了。你下次能成为聪明一点的侦探吗?再试?次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“?教堂杀?”。"; //看第7节。 b[24]="你和??交谈。“你知道叫‘加利福尼亚?’号的船吗?”你问他。??看着你。“我是俄国?,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着???轮印来到了?条?路,轮印不?了。"; //看第18节。 b[26]="你敲了敲红?的?。家?没?。"; //看第35节。 b[27]="他?袋?有把?。?上有?。这个杰克正是“?教堂杀?”。"; //看第33节。 b[28]="“您知道街上那个??叫什么吗?”你问“玫瑰与王冠”酒吧?那名年轻姑娘。她?到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚?”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,?访了那?的?。?分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识?个叫安妮的??吗?”你问。“不认识。”他说。但这个杰克戴了?只?环。他?袋?藏着什么东西。是?把?吗?也许这个杰克就是“?教堂杀?”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船?协助你逮捕了“?教堂杀?”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和??搭话。“您知道?艘叫‘加利福尼亚?’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房??\n1有???的房?。\n2有蓝??的房?。\n3■有红??的房?。"; //看第16节 //看第21节。 //看第26节。 */ //system("color 7E"); /* 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色; 6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=浅绿色; C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。 */ string a[50]; int cn ; void _open(){ MessageBox(NULL,"....游戏即将开始!....","提示",MB_OK|MB_ICONEXCLAMATION); } void CPt(char s, int color){ //彩色输出 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf("%c",s); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); } /* color: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ void _slowcout(string s, long long int ti) { int u = s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } } void c_slowcout(string s, long long int ti,int color) { int u = s.size(); for (int i = 0; i < u; i++) { CPt(s[i],color); Sleep(ti); } } void _start() { c_slowcout("-------------生存游戏--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; //c_slowcout("------------版本1.1.1 -------------",100,1); cout << endl; Sleep(980); /* c_slowcout("1.1.1(2改版)版本升级点: \n", 89,2); Sleep(800); /* cout << "1.修复了一些乱码及a[24]、a[36]的文字问题" << endl; Sleep(510); cout << "2.新增help功能 \n"; Sleep(500); // _slowcout("1.适用于c++5.12及以上的编译器(1.1.0有失误)", 50); cout << endl; Sleep(510); _slowcout("2.修复了一些小问题", 50); cout << endl; Sleep(510); _slowcout("3.新增中途退出功能\n", 50); Sleep(1010); cn = 5; */ c_slowcout("注意事项:", 91 , 4); cout << endl; _slowcout("1.如果拿不定主意,可以输入数字5。求助次数为5。", 50); _slowcout("\n2.输入6,结束游戏", 50); cout << endl; Sleep(500); cout << "输入任意字符开始游戏" << endl; int as; cin >> as; } int _end() { cout << "是否结束游戏?\n1.是\n2.否\n"; int r; cin >> r; return r; } void _help(int s) { if (cn == 0) { cout << "提示次数为0!"; Sleep(880); cout << "\033c"; system("cls"); cout << a[s] << endl; return; } int u = cn; if (s == 2) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 7) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 8) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 9) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 13) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 14) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 15) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 16) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 17) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 18) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 20) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 21) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 23) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 27) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 28) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 29) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 30) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 32) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 36) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 37) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 40) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } //Sleep(2000); if (cn == u) { cout << "输入任意字符继续"; Sleep(1800); } system("cls"); cout << a[s] << endl; return; /* if(s==2){ cout<<"May be 2"<<endl; cn--; cout<<"剩余提示次数:"<<cn<<endl; sleep(500); cout << "\033c"; } */ } void _sstart(){ system("cls"); system("color 0E"); c_slowcout("-------------雾都疑案--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; Sleep(1710); system("cls"); } void game2nd(){ _sstart(); string b[40]; b[1]="一个寒冷的夜晚,你正坐在伦敦的家里。有人敲门。来者是伦敦警察局的弗利威尔巡官。“您能来一趟白教堂吗,xx先生?我们需要您的帮助。有个女人倒在街上。她没死,但浑身是血。我们认为这次一是‘白教堂杀手’干的。”你穿上外套。"; //18jie b[2]="你在安妮家中。一个女的进来了。“你是谁?你在这里干什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。她想了想。“她最好的朋友是个叫罗茜的,住在莱姆豪斯街。不过她有个男朋友。就是那张照片上的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //35jie b[3]="你想上“加利福尼亚人”号找杰克谈谈。\n1你跳进?中,游着去追船。\n2你不会游泳。你考虑着怎么上船。"; //看第8节。 //看第13节。 b[4]="“您知道街上那个女人叫什么吗?”你问老人。他听不懂你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚人”号。一条小船上有个男人。有位工人在钓鱼。\n1你请男人帮忙。\n2你请工人帮忙。"; //看第24节。 //看第34节。 b[6]="你询问小伙子。他走到街上,看了看那个女人。“我想她叫安妮。”他说。“你知道她住哪里吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他人。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚人”号的船上叫来了三个叫杰克的人。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进水中,游着去追船。但船开得很快。五分钟后,“加利福尼亚人”号驶出了伦敦码头,驶向印度。这时你觉得非常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“一个水手。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解一些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧里有四个人。你想问问有关街上那个女人的事。你要先问谁?\n1你询问老人。\n2你询问小伙子。\n3你询问老妇人。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="他看着你。“杰克?”他说,“叫杰克的水手有几百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那里有几百条船。你想找到“加利福尼亚人”号,抓住杰克。\n1你走过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="那里上有座桥。你上了桥,跳上“加利福尼亚人”号。你去找船长。“我必须和您船上的那个人谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘白教堂杀手’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那有几百条船,几千名工人。你和1名工人搭上了话。“你认识一名叫杰克的水手吗?”你问道。"; //看第11节。 b[15]="你询问老妇人。她走到街上,看了看那个女人。“她叫安妮。”她说。“您知道她住哪里吗?”你问。“知道。她住在缆绳街。我不知道门牌号。”她答道。你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲白色的门。一个年轻女人开了门。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不行了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“白教堂杀手”。"; //看第7节。 b[18]="“白教堂杀手”已经杀了6个人了。你来到白教堂,警察在那里等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以没法开口和你说话。你看到路上有1些自行车轮印。\n1你沿着自行车轮印追踪。\n2你走进“玫瑰与王冠”酒吧。你想与其他的人谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到一封信。\n '加利福尼人号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧说个事吧。\n我非常重要的东西给你.\n 杰克'\n这样看来,杰克的船叫“加利福尼亚人”号。杰克是你要找的人吗?杰克是“白教堂杀手”吗?你去伦敦码头找“加利福尼亚人”号上的杰克。"; //看第12节。 b[20]="那里有很多船,但你看不到“加利福尼亚人”号。"; //回到第12节。 b[21]="你敲了敲蓝色的门。一位女士开了门。“我找罗茜。”你说。“她不住这里,”他说,“我想她住在那个白房子里。”"; //看第16节。 b[22]="“白教堂杀手”逍遥法外了。你下次能成为聪明一点的侦探吗?再试一次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“白教堂杀手”。"; //看第7节。 b[24]="你和男人交谈。“你知道叫‘加利福尼亚人’号的船吗?”你问他。他看着你。“我是俄国人,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着自行车轮印来到了一条大路,车轮印不见了。"; //看第18节。 b[26]="你敲了敲红门的房子。家里没人。"; //看第35节。 b[27]="他口袋里有把刀。刀上有血。这个杰克正是“白教堂杀手”。"; //看第33节。 b[28]="“您知道街上那个女人叫什么吗?”你问“玫瑰与王冠”酒吧里那名年轻姑娘。她走到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他人。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚人”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,拜访了那里的人。几分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识一个叫安妮的女人吗?”你问。“不认识。”他说。但这个杰克戴了一只耳环。他口袋里藏着什么东西。是一把刀吗?也许这个杰克就是“白教堂杀手”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船长协助你逮捕了“白教堂杀手”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和工人搭话。“您知道一艘叫‘加利福尼亚人’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房子?\n1有白门的房子。\n2有蓝门的房子。\n3有红门的房子。"; //看第16节 //看第21节。 //看第26节。 int r; int s=1; while (1) { system("color 0E"); system("cls"); int c = 0, d = 0, e; if (s == 1) { _1slowcout(b[s]); cin >> r; s=18; } else if(s == 2){ _1slowcout(b[s]); cin>>r; if(r==1)s=10; if(s==2)s=35; } else if(s == 3){ _1slowcout(b[s]); cin>>r; if(r==1){ s=8; } else{ s=13;} } else if(s == 4){ _1slowcout(b[s]); cin>>r; s=10; } else if(s == 5){ _1slowcout(b[s]); cin>>r; if(r==1){ s=24; } if(r==2){ s=34; } } else if(s == 6){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(r==2){ s=30; } } else if(s == 7){ _1slowcout(b[s]); cin>>r; if(r==1){ s=17; } if(r==2){ s=23; } if(r==3){ s=31; } } else if(s == 8){ _1slowcout(b[s]); cin>>r; s=22; } else if(s == 9){ _1slowcout(b[s]); cin>>r; if(r==1){ s=14; } if(r==2){ s=19; } } else if(s == 10){ _1slowcout(b[s]); cin>>r; if(r==1){ s=4; } if(r==2){ s=6; } if(r==3){ s=15; } if(r==4){ s=28; } } else if(s == 11){ _1slowcout(b[s]); cin>>r; s=19; } else if(s == 12){ _1slowcout(b[s]); cin>>r; if(r==1){ s=5; } if(r==2){ s=20; } if(r==3){ s=29; } } else if(s == 13){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 14){ _1slowcout(b[s]); cin>>r; s=11; } else if(s == 15){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(s==2){ s=30; } } else if(s == 16){ _1slowcout(b[s]); cin>>r; s=9; } else if(s == 17){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 18){ _1slowcout(b[s]); cin>>r; if(r==1){ s=25; } if(r==2){ s=10; } } else if(s == 19){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 20){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 21){ _1slowcout(b[s]); cin>>r; s=16; } else if(s == 22){ _1slowcout(b[s]); cin>>r; s=1; } else if(s == 23){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 24){ _1slowcout(b[s]); cin>>r; s=5; } else if(s == 25){ _1slowcout(b[s]); cin>>r; s=18; } else if(s == 26){ _1slowcout(b[s]); cin>>r; s=35; } else if(s == 27){ _1slowcout(b[s]); cin>>r; s=33; } else if(s == 28){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(s==2){ s=35; } } else if(s == 29){ _1slowcout(b[s]); cin>>r; if(r==1){ s=3; } if(s==2){ s=22; } } else if(s == 30){ _1slowcout(b[s]); cin>>r; s=2; } else if(s == 31){ _1slowcout(b[s]); cin>>r; s=27; } else if(s == 32){ _1slowcout(b[s]); cin>>r; break; } else if(s == 33){ _1slowcout(b[s]); cin>>r; s=32; } else if(s == 34){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 35){ _1slowcout(b[s]); cin>>r; if(r==1){ s=16; } if(r==2){ s=21; } if(r==3){ s=26; } } /* else if(s == ){ _1slowcout(a[s]); cin>>r; } */ } } /* 这是一个c++小游戏。(程序自创,文章内容参考《牛津英汉双语读物·入门级·上<生存游戏>》) 1.1.0 版本升级点: 1.修复了一些乱码及a[24]、a[36]的文字问题 2.新增help功能 */ void game1st() { system("color 0E"); a[1] = "你名叫xx,正驾驶一架小型飞机飞越落基山脉。突然,发动机发出了奇怪的响声,飞机朝着一座山坠去。你的无线电失灵了,没有人知道你所在的位置。\n输入0继续"; a[2] = "你穿着外套,拿着威士忌和地图,过了大约20分钟。积雪很厚,你感到很冷。\n1你回到飞机上,拿了一些其他物品。\n2为了暖和一点,你喝了威士忌。"; a[3] = "你回去睡觉,再也没听到直升机的声响。第2天,你继续沿着河边走。"; a[4] = "你原路返回,出了隧道,走进乱石丛生的山谷。"; a[5] = "你吃了果子。虽然味道不好,但是你太饿了,还是吃了不少。你带了些果子在身上,过后可以吃。"; a[6] = "你穿着外套,拿着香蕉和打火机,走了大约20分钟。积雪很厚,你感到很冷。你回到树林,生起火堆。"; a[7] = "又到了晚上,但因为之前吃了鱼,你并没有觉得饿。你在树下搭了一座帐棚。早上醒来后,你听到了一阵响声。\n你跑出帐棚往天上看,发现有一架直升机。虽然你看得直升机,但因为树枝的遮挡,飞机上的人看不到你。飞机就要飞走了。\n1你追着直升机跑。\n2你回棚里睡觉。\n3你生起了火堆。 \n4你冲着直升机一边大声呼喊,一边挥动双臂。"; a[8] = "你顺着山谷走出很远,夜晚将要来临了。你在树林里生起了火,吃了香蕉。第2天早上,你感到很饿,必须找些东西吃。你在雪地上发现了动物的脚印,也许你可以猎杀这只动物作食物。\n1你沿着脚印追踪走去。\n2你很害怕大型动物。或许这只动物很危险,于是你向山下走去。"; a[9] = "你带着香蕉、打火机和地图走了几分钟,感到非常寒冷。\n1你生起火堆?。\n2你回到飞机上去取威士忌。"; a[10] = "时间到了下午。你开始觉得很不舒服。也许那些果子有毒。你走不动了,坐在雪地上,觉得越来越冷。"; a[11] = "你向右转,飞机撞到了树上。"; a[12] = "你横穿湖面,在冰上走。几分钟后,冰裂开了,你掉进了冰窟窿。"; a[13] = "你带着威士忌、打火机和香蕉走了几分钟,感到非常寒冷。\n1你喝了威士忌。\n2你回到飞机上,放下了威士忌,带上了外套。"; a[14] = "河面上结了冰,但中间有洞隙。你看到河里有鱼。也许你可以抓一条鱼吃。\n1你试着从冰隙间捉几条鱼。\n2在河边捉鱼很危险。你继续往前走。"; a[15] = "你向左转,想在雪地上着陆。飞机落在雪中,停了下来。你虽然安全了,但却身处山顶,天异常寒冷。天黑了下来。 \n1你待在飞机上。\n2你向山下走去。"; a[16] = "山谷的岩石很难攀爬,几分钟之后你就疲惫不堪了。\n1你继续沿着山谷走。\n2你往回走,出了山谷,进了隧道。"; a[17] = "你穿过树林向山下走,感觉饥肠辘辘。你看到有一棵树上结着没见过的果子。\n1你吃了果子。\n2你不吃果子。"; a[18] = "你小心地走上湖面。走了几百米后,脚下的冰开始晃动。\n1你继续在湖面上穿行。\n2你退了回去,然后绕着湖走。"; a[19] = "你重新生起火堆。大概两个小时后,你又听到了直升机的声响。这一次,飞机看到了烟,停在了你旁边的雪地上。这下你安全了。你乘飞机前往医院,可以在那里吃饭和休息。"; a[20] = "你极快地向林中坠去,但你可以让飞机向左转弯或向右转弯。右边是一些树,左边是厚厚的积雪。\n1你向右转。\n2你向左转。"; a[21] = "你继续沿着河走,感觉非常饥饿,必须找东西吃。树上有果子,河中有鱼。\n1你尝试着抓一条鱼。\n2你吃了一些果子。"; a[22] = "绳子断了。"; a[23] = "你继续在雪中跋涉。没有吃的东西,但你可以生火,还可以喝雪水。突然,你发现前面有一个结了冰的湖。\n1你横穿湖面。这样会快一些,你必须找点吃的东西。\n2你绕着湖走。你去寻找条河。"; a[24] = "你待在飞机上,但感到异常寒冷。你真的不想活了吗?"; a[25] = "你在飞机上待了四天,什么也看不到,什么也听不到。你必须下山。"; a[26] = "经过几十分钟的努力,你终于捉到了一条鱼。你又多捉了几条。你感到很冷,于是生起了火堆,烤了几条鱼吃。味道好极了。"; a[27] = "你朝山下走去。几分钟后看到前面有一条隧道。你的左侧还有一个布满岩石的山谷。\n1你沿着山谷走去。\n2你走进隧道。"; a[28] = "你绕着湖走。走约大了五公后,你发现了一条河。河水从湖中流出,向远处流去。\n1你继续绕着湖走。\n2你沿着河走去。"; a[29] = "你想下山。飞机上有一些东西,你可以随身带上几样。你会带哪些呢?\n1外套、威士忌和地图。\n2外套、香蕉和打火机。\n3香蕉、打火机和地图。\n4威士忌、打火机和香蕉。"; a[30] = "一整天,烟不停地升上天空,但是直升机没有出现。你等了一整天。第2天,你一大早就醒来了。\n1你重新生起火堆。\n2你沿着河走去。"; a[31] = "你追着直升机跑,但它飞得很快。你不得不往山上爬,在厚厚的雪中跋涉了一整天,但再也没找到那架直升机。"; a[32] = "你待在飞机附近。坐在一边,看着天,就这样过了两天。什么也没有发生。\n1你待在飞机附近。\n2你试着向山下走去。"; a[33] = "你走进隧道。漆黑一片。你看到有一盏灯,便点上了。"; a[34] = "为了暖和一点儿,你喝了威士忌,但并没有觉得暖和起来。你只是感到很累,筋疲力尽。"; a[35] = "你生起火堆,火堆冒出很多烟。你看着冲天的烟柱。"; a[36] = "你整晚都坐在树林里的火堆前。虽然天很冷,但火烧得很旺,你可以稍微睡一会。你需要想想天亮以后你可以做些什么。\n1你待在飞机附近。\n2你朝山下走去。"; a[37] = "你冲着直升机一边大声呼喊,一边挥动双臂。直升机掉头往回飞了一会,然后向天上飞去。\n1你追着直升机跑。\n2你回去睡觉。\n3你生起火堆。"; a[38] = "你绕着湖走了1整圈,筋疲力尽,没有找到任何事物。你只能沿着河走。"; a[39] = "你沿着脚印在树林中走了很远。脚印延伸到1棵大树的后面。你朝树后看去,看到了一只大熊。这肯定不是能吃的。你悄悄地离开了。"; a[40] = "你向洞的深处走,走了约5分钟,发现地上有一个很大的洞。1条很旧的绳向下直延伸到洞中。\n1你顺着绳子下到洞中。\n2你退回到隧道口。"; cn = 5; _start(); int s = 1; //cout << "\033c"; system("cls"); while (1) { system("color 0E"); int b, c = 0, d = 0, e; if (s == 1) { _1slowcout(a[s]); s = 20; cin >> b; //cout << "\033c"; } else if (s == 2) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 29; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 3) { _1slowcout(a[s]); cin >> b; s = 21; //cout << "\033c"; } else if (s == 4) { _1slowcout(a[s]); cin >> b; s = 16; //cout << "\033c"; //system("cls"); } else if (s == 5) { _1slowcout(a[s]); s = 10; cin >> b; //cout << "\033c"; } else if (s == 6) { _1slowcout(a[s]); s = 36; cin >> b; //cout << "\033c"; } else if (s == 7) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } if (b == 4) { s = 37; } //cout << "\033c"; } else if (s == 8) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 39; } if (b == 2) { s = 17; } //cout << "\033c"; } else if (s == 9) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 36; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 10) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 11) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; s = 1; } else if (s == 12) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; } else if (s == 13) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 34; } if (b == 2) { s = 6; } //cout << "\033c"; } else if (s == 14) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 15) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 24; } if (b == 2) { s = 29; } //cout << "\033c"; } else if (s == 16) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 8; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 17) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 5; } if (b == 2) { s = 23; } //cout << "\033c"; } else if (s == 18) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 12; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 19) { _1slowcout(a[s]); Sleep(500); system("cls"); c_slowcout(" GAME OVER!",40,9); Sleep(300); break; //cout << "\033c"; } else if (s == 20) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 11; } if (b == 2) { s = 15; } //cout << "\033c"; } else if (s == 21) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 5; } //cout << "\033c"; } else if (s == 22) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 23) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 18; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 24) { _1slowcout(a[s]); cin >> b; s = 29; //cout << "\033c"; } else if (s == 25) { _1slowcout(a[s]); cin >> b; s = 27; //cout << "\033c"; } else if (s == 26) { _1slowcout(a[s]); cin >> b; s = 7; //cout << "\033c"; } else if (s == 27) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 16; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 28) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 38; } if (b == 2) { s = 14; } //cout << "\033c"; } else if (s == 29) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 2; } if (b == 2) { s = 6; } if (b == 3) { s = 9; } if (b == 4) { s = 13; } //cout << "\033c"; } else if (s == 30) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 19; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 31) { _1slowcout(a[s]); cin >> b; s = 23; //cout << "\033c"; } else if (s == 32) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 25; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 33) { _1slowcout(a[s]); cin >> b; s = 40; //cout << "\033c"; } else if (s == 34) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 35) { _1slowcout(a[s]); cin >> b; s = 30; //cout << "\033c"; } else if (s == 36) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 32; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 37) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } //cout << "\033c"; } else if (s == 38) { _1slowcout(a[s]); cin >> b; s = 14; //cout << "\033c"; } else if (s == 39) { _1slowcout(a[s]); cin >> b; s = 17; //cout << "\033c"; } else if (s == 40) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 22; } if (b == 2) { s = 4; } //cout << "\033c"; } if (b == 6) { if (_end() == 1) { _1slowcout("退出中......"); Sleep(810); system("cls"); break; } } system("cls"); system("color 0E"); /* if(s==){ cout<<a[s]<<endl; cin>>b; cout << "\033c"; } */ } //cout << "\033c"; //cout << "\033c"; } void stbegin(){ _slowcout("----------这是此游戏的2.0.0实验版本----------",50); cout<<endl; _1slowcout("可能有一些不完善的地方"); Sleep(998); cout<<"以下有两个游戏"<<endl; Sleep(500); cout<<"\n1生存游戏\n2雾都疑案"<<endl; cout<<"输入你想玩哪一个:"<<' '; int y; cin>>y; if(y==1){ game1st(); } if(y==2){ game2nd(); } } int main(){ stbegin(); return 0; }
    0 回复
  • 2024-10-27 11:24
    #include <bits/stdc++.h> #include <windows.h> #include <stdlib.h> using namespace std; void _1slowcout(string s){ int ti=20;//you can change the number int u=s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } cout<<endl; } string b[40]; /* b[1]="?个寒冷的夜晚,你正坐在伦敦的家?。有?敲?。来者是伦敦警察局的弗利威尔巡官。“您能来?趟?教堂吗,庞德先??我们需要您的帮助。有个??倒在街上。她没死,但浑?是?。我们认为这次?是‘?教堂杀?’?的。”你穿上外套。"; //18jie b[2]="你在安妮家中。?个???了进来。“你是谁?你在这??什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。??想了想。“她最好的朋友是个叫罗茜的??,住在莱姆豪斯街。不过她有个男朋友。就是那张照??的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。看第10节。\n2你去莱姆豪斯街找罗茜。"; //35jie b[3]="你想上“加利福尼亚?”号找杰克谈谈。\n1你跳进?中,游着去追船。看第8节。\n2你不会游泳。你考虑着怎么上船。"; //看第13节。 b[4]="“您知道街上那个??叫什么吗?”你问??。他听不?你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚?”号。?条?船上有个??。有位??在钓?。\n1你请??帮忙。看第24节。\n2你请??帮忙。"; //看第34节。 b[6]="你询问?伙?。他?到街上,看了看那个??。“我想她叫安妮。”他说。“你知道她住哪?吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚?”号的船?叫来了三个叫杰克的?。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进?中,游着去追船。但船开得很快。五分钟后,“加利福尼亚?”号驶出了伦敦码头,驶向印度。这时你觉得?常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“?个??。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解?些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧?有四个?。你想问问有关街上那个??的事。你要先问谁?\n1你询问??。\n2你询问?伙?。\n3你询问?妇?。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="??看着你。“杰克?”他说,“叫杰克的??有?百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那?有?百条船。你想找到“加利福尼亚?”号,抓住杰克。\n1你?过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="??上有座桥。你上了桥,跳上“加利福尼亚?”号。你去找船?。“我必须和您船上的?个?谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘?教堂杀?’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那?有?百条船,?千名??。你和?名??搭上了话。“你认识?名叫杰克的??吗?”你问道。"; //看第11节。 b[15]="你询问?妇?。她?到街上,看了看那个??。“她叫安妮。”她说。“您知道她住哪?吗?”你问。“知道。她住在缆绳街。我不知道?牌号。”她答道。■你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲??的?。?个年轻??开了?。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不?了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“?教堂杀?”。"; //看第7节。 b[18]="“?教堂杀?”??把??伤?。他杀了6个??。你来到?教堂,警察在那?等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以?法开?和你说话。你看到路上有?些???轮印。/n1你沿着???轮印追踪。\n2你?进“玫瑰与王冠”酒吧。你想与??的?谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到?封信。'加利福尼亚?号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧?个?吧。我有?常重要的东西给你。杰克'这样看来,杰克的船叫“加利福尼亚?”号。杰克是你要找的?吗?杰克是“?教堂杀?”吗?你去伦敦码头找“加利福尼亚?”号上的杰克。"; //看第12节。 b[20]="那?有很多船,但你看不到“加利福尼亚?”号。"; //回到第12节。 b[21]="你敲了敲蓝?的?。?位??开了?。“我找罗茜。”你说。“她不住这?,”他说,“我想她住在那个?房??。”"; //看第16节。 b[22]="“?教堂杀?”逍遥法外了。你下次能成为聪明一点的侦探吗?再试?次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“?教堂杀?”。"; //看第7节。 b[24]="你和??交谈。“你知道叫‘加利福尼亚?’号的船吗?”你问他。??看着你。“我是俄国?,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着???轮印来到了?条?路,轮印不?了。"; //看第18节。 b[26]="你敲了敲红?的?。家?没?。"; //看第35节。 b[27]="他?袋?有把?。?上有?。这个杰克正是“?教堂杀?”。"; //看第33节。 b[28]="“您知道街上那个??叫什么吗?”你问“玫瑰与王冠”酒吧?那名年轻姑娘。她?到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚?”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,?访了那?的?。?分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识?个叫安妮的??吗?”你问。“不认识。”他说。但这个杰克戴了?只?环。他?袋?藏着什么东西。是?把?吗?也许这个杰克就是“?教堂杀?”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船?协助你逮捕了“?教堂杀?”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和??搭话。“您知道?艘叫‘加利福尼亚?’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房??\n1有???的房?。\n2有蓝??的房?。\n3■有红??的房?。"; //看第16节 //看第21节。 //看第26节。 */ //system("color 7E"); /* 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色; 6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=浅绿色; C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。 */ string a[50]; int cn ; void _open(){ MessageBox(NULL,"....游戏即将开始!....","提示",MB_OK|MB_ICONEXCLAMATION); } void CPt(char s, int color){ //彩色输出 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf("%c",s); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); } /* color: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ void _slowcout(string s, long long int ti) { int u = s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } } void c_slowcout(string s, long long int ti,int color) { int u = s.size(); for (int i = 0; i < u; i++) { CPt(s[i],color); Sleep(ti); } } void _start() { c_slowcout("-------------生存游戏--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; //c_slowcout("------------版本1.1.1 -------------",100,1); cout << endl; Sleep(980); /* c_slowcout("1.1.1(2改版)版本升级点: \n", 89,2); Sleep(800); /* cout << "1.修复了一些乱码及a[24]、a[36]的文字问题" << endl; Sleep(510); cout << "2.新增help功能 \n"; Sleep(500); // _slowcout("1.适用于c++5.12及以上的编译器(1.1.0有失误)", 50); cout << endl; Sleep(510); _slowcout("2.修复了一些小问题", 50); cout << endl; Sleep(510); _slowcout("3.新增中途退出功能\n", 50); Sleep(1010); cn = 5; */ c_slowcout("注意事项:", 91 , 4); cout << endl; _slowcout("1.如果拿不定主意,可以输入数字5。求助次数为5。", 50); _slowcout("\n2.输入6,结束游戏", 50); cout << endl; Sleep(500); cout << "输入任意字符开始游戏" << endl; int as; cin >> as; } int _end() { cout << "是否结束游戏?\n1.是\n2.否\n"; int r; cin >> r; return r; } void _help(int s) { if (cn == 0) { cout << "提示次数为0!"; Sleep(880); cout << "\033c"; system("cls"); cout << a[s] << endl; return; } int u = cn; if (s == 2) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 7) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 8) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 9) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 13) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 14) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 15) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 16) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 17) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 18) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 20) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 21) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 23) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 27) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 28) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 29) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 30) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 32) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 36) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 37) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 40) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } //Sleep(2000); if (cn == u) { cout << "输入任意字符继续"; Sleep(1800); } system("cls"); cout << a[s] << endl; return; /* if(s==2){ cout<<"May be 2"<<endl; cn--; cout<<"剩余提示次数:"<<cn<<endl; sleep(500); cout << "\033c"; } */ } void _sstart(){ system("cls"); system("color 0E"); c_slowcout("-------------雾都疑案--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; Sleep(1710); system("cls"); } void game2nd(){ _sstart(); string b[40]; b[1]="一个寒冷的夜晚,你正坐在伦敦的家里。有人敲门。来者是伦敦警察局的弗利威尔巡官。“您能来一趟白教堂吗,xx先生?我们需要您的帮助。有个女人倒在街上。她没死,但浑身是血。我们认为这次一是‘白教堂杀手’干的。”你穿上外套。"; //18jie b[2]="你在安妮家中。一个女的进来了。“你是谁?你在这里干什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。她想了想。“她最好的朋友是个叫罗茜的,住在莱姆豪斯街。不过她有个男朋友。就是那张照??的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。看第10节。\n2你去莱姆豪斯街找罗茜。"; //35jie b[3]="你想上“加利福尼亚人”号找杰克谈谈。\n1你跳进?中,游着去追船。看第8节。\n2你不会游泳。你考虑着怎么上船。"; //看第8节。 //看第13节。 b[4]="“您知道街上那个女人叫什么吗?”你问老人。他听不懂你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚人”号。一条小船上有个男人。有位工人在钓鱼。\n1你请男人帮忙。\n2你请工人帮忙。"; //看第24节。 //看第34节。 b[6]="你询问小伙子。他走到街上,看了看那个女人。“我想她叫安妮。”他说。“你知道她住哪里吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他人。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚人”号的船上叫来了三个叫杰克的人。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进水中,游着去追船。但船开得很快。五分钟后,“加利福尼亚人”号驶出了伦敦码头,驶向印度。这时你觉得非常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“一个水手。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解一些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧里有四个人。你想问问有关街上那个女人的事。你要先问谁?\n1你询问老人。\n2你询问小伙子。\n3你询问老妇人。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="他看着你。“杰克?”他说,“叫杰克的水手有几百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那里有几百条船。你想找到“加利福尼亚人”号,抓住杰克。\n1你走过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="那里上有座桥。你上了桥,跳上“加利福尼亚人”号。你去找船长。“我必须和您船上的那个人谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘白教堂杀手’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那有几百条船,几千名工人。你和1名工人搭上了话。“你认识一名叫杰克的水手吗?”你问道。"; //看第11节。 b[15]="你询问老妇人。她走到街上,看了看那个女人。“她叫安妮。”她说。“您知道她住哪里吗?”你问。“知道。她住在缆绳街。我不知道门牌号。”她答道。你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲白色的门。一个年轻女人开了门。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不行了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“白教堂杀手”。"; //看第7节。 b[18]="“白教堂杀手”已经杀了6个人了。你来到白教堂,警察在那里等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以没法开口和你说话。你看到路上有1些自行车轮印。\n1你沿着自行车轮印追踪。\n2你走进“玫瑰与王冠”酒吧。你想与其他的人谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到一封信。\n '加利福尼人号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧说个事吧。\n我非常重要的东西给你.\n 杰克'\n这样看来,杰克的船叫“加利福尼亚人”号。杰克是你要找的人吗?杰克是“白教堂杀手”吗?你去伦敦码头找“加利福尼亚人”号上的杰克。"; //看第12节。 b[20]="那里有很多船,但你看不到“加利福尼亚人”号。"; //回到第12节。 b[21]="你敲了敲蓝色的门。一位女士开了门。“我找罗茜。”你说。“她不住这里,”他说,“我想她住在那个白房子里。”"; //看第16节。 b[22]="“白教堂杀手”逍遥法外了。你下次能成为聪明一点的侦探吗?再试一次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“白教堂杀手”。"; //看第7节。 b[24]="你和男人交谈。“你知道叫‘加利福尼亚人’号的船吗?”你问他。他看着你。“我是俄国人,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着自行车轮印来到了一条大路,车轮印不见了。"; //看第18节。 b[26]="你敲了敲红门的房子。家里没人。"; //看第35节。 b[27]="他口袋里有把刀。刀上有血。这个杰克正是“白教堂杀手”。"; //看第33节。 b[28]="“您知道街上那个女人叫什么吗?”你问“玫瑰与王冠”酒吧里那名年轻姑娘。她走到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他人。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚人”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,拜访了那里的人。几分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识一个叫安妮的女人吗?”你问。“不认识。”他说。但这个杰克戴了一只耳环。他口袋里藏着什么东西。是一把刀吗?也许这个杰克就是“白教堂杀手”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船长协助你逮捕了“白教堂杀手”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和工人搭话。“您知道一艘叫‘加利福尼亚人’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房子?\n1有白门的房子。\n2有蓝门的房子。\n3有红门的房子。"; //看第16节 //看第21节。 //看第26节。 int r; int s=1; while (1) { system("color 0E"); system("cls"); int c = 0, d = 0, e; if (s == 1) { _1slowcout(b[s]); cin >> r; s=18; } else if(s == 2){ _1slowcout(b[s]); cin>>r; s=35; } else if(s == 3){ _1slowcout(b[s]); cin>>r; if(r==1){ s=8; } else{ s=13;} } else if(s == 4){ _1slowcout(b[s]); cin>>r; s=10; } else if(s == 5){ _1slowcout(b[s]); cin>>r; if(r==1){ s=24; } if(r==2){ s=34; } } else if(s == 6){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(r==2){ s=30; } } else if(s == 7){ _1slowcout(b[s]); cin>>r; if(r==1){ s=17; } if(r==2){ s=23; } if(r==3){ s=31; } } else if(s == 8){ _1slowcout(b[s]); cin>>r; s=22; } else if(s == 9){ _1slowcout(b[s]); cin>>r; if(r==1){ s=14; } if(r==2){ s=19; } } else if(s == 10){ _1slowcout(b[s]); cin>>r; if(r==1){ s=4; } if(r==2){ s=6; } if(r==3){ s=15; } if(r==4){ s=28; } } else if(s == 11){ _1slowcout(b[s]); cin>>r; s=19; } else if(s == 12){ _1slowcout(b[s]); cin>>r; if(r==1){ s=5; } if(r==2){ s=20; } if(r==3){ s=29; } } else if(s == 13){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 14){ _1slowcout(b[s]); cin>>r; s=11; } else if(s == 15){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(s==2){ s=30; } } else if(s == 16){ _1slowcout(b[s]); cin>>r; s=9; } else if(s == 17){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 18){ _1slowcout(b[s]); cin>>r; if(r==1){ s=25; } if(r==2){ s=10; } } else if(s == 19){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 20){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 21){ _1slowcout(b[s]); cin>>r; s=16; } else if(s == 22){ _1slowcout(b[s]); cin>>r; s=1; } else if(s == 23){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 24){ _1slowcout(b[s]); cin>>r; s=5; } else if(s == 25){ _1slowcout(b[s]); cin>>r; s=18; } else if(s == 26){ _1slowcout(b[s]); cin>>r; s=35; } else if(s == 27){ _1slowcout(b[s]); cin>>r; s=33; } else if(s == 28){ _1slowcout(b[s]); cin>>r; if(r==1){ s=28; } if(s==2){ s=35; } } else if(s == 29){ _1slowcout(b[s]); cin>>r; if(r==1){ s=3; } if(s==2){ s=22; } } else if(s == 30){ _1slowcout(b[s]); cin>>r; s=2; } else if(s == 31){ _1slowcout(b[s]); cin>>r; s=27; } else if(s == 32){ _1slowcout(b[s]); cin>>r; break; } else if(s == 33){ _1slowcout(b[s]); cin>>r; s=32; } else if(s == 34){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 35){ _1slowcout(b[s]); cin>>r; if(r==1){ s=16; } if(r==2){ s=21; } if(r==3){ s=26; } } /* else if(s == ){ _1slowcout(a[s]); cin>>r; } */ } } /* 这是一个c++小游戏。(程序自创,文章内容参考《牛津英汉双语读物·入门级·上<生存游戏>》) 1.1.0 版本升级点: 1.修复了一些乱码及a[24]、a[36]的文字问题 2.新增help功能 */ void game1st() { system("color 0E"); a[1] = "你名叫xx,正驾驶一架小型飞机飞越落基山脉。突然,发动机发出了奇怪的响声,飞机朝着一座山坠去。你的无线电失灵了,没有人知道你所在的位置。\n输入0继续"; a[2] = "你穿着外套,拿着威士忌和地图,过了大约20分钟。积雪很厚,你感到很冷。\n1你回到飞机上,拿了一些其他物品。\n2为了暖和一点,你喝了威士忌。"; a[3] = "你回去睡觉,再也没听到直升机的声响。第2天,你继续沿着河边走。"; a[4] = "你原路返回,出了隧道,走进乱石丛生的山谷。"; a[5] = "你吃了果子。虽然味道不好,但是你太饿了,还是吃了不少。你带了些果子在身上,过后可以吃。"; a[6] = "你穿着外套,拿着香蕉和打火机,走了大约20分钟。积雪很厚,你感到很冷。你回到树林,生起火堆。"; a[7] = "又到了晚上,但因为之前吃了鱼,你并没有觉得饿。你在树下搭了一座帐棚。早上醒来后,你听到了一阵响声。\n你跑出帐棚往天上看,发现有一架直升机。虽然你看得直升机,但因为树枝的遮挡,飞机上的人看不到你。飞机就要飞走了。\n1你追着直升机跑。\n2你回棚里睡觉。\n3你生起了火堆。 \n4你冲着直升机一边大声呼喊,一边挥动双臂。"; a[8] = "你顺着山谷走出很远,夜晚将要来临了。你在树林里生起了火,吃了香蕉。第2天早上,你感到很饿,必须找些东西吃。你在雪地上发现了动物的脚印,也许你可以猎杀这只动物作食物。\n1你沿着脚印追踪走去。\n2你很害怕大型动物。或许这只动物很危险,于是你向山下走去。"; a[9] = "你带着香蕉、打火机和地图走了几分钟,感到非常寒冷。\n1你生起火堆?。\n2你回到飞机上去取威士忌。"; a[10] = "时间到了下午。你开始觉得很不舒服。也许那些果子有毒。你走不动了,坐在雪地上,觉得越来越冷。"; a[11] = "你向右转,飞机撞到了树上。"; a[12] = "你横穿湖面,在冰上走。几分钟后,冰裂开了,你掉进了冰窟窿。"; a[13] = "你带着威士忌、打火机和香蕉走了几分钟,感到非常寒冷。\n1你喝了威士忌。\n2你回到飞机上,放下了威士忌,带上了外套。"; a[14] = "河面上结了冰,但中间有洞隙。你看到河里有鱼。也许你可以抓一条鱼吃。\n1你试着从冰隙间捉几条鱼。\n2在河边捉鱼很危险。你继续往前走。"; a[15] = "你向左转,想在雪地上着陆。飞机落在雪中,停了下来。你虽然安全了,但却身处山顶,天异常寒冷。天黑了下来。 \n1你待在飞机上。\n2你向山下走去。"; a[16] = "山谷的岩石很难攀爬,几分钟之后你就疲惫不堪了。\n1你继续沿着山谷走。\n2你往回走,出了山谷,进了隧道。"; a[17] = "你穿过树林向山下走,感觉饥肠辘辘。你看到有一棵树上结着没见过的果子。\n1你吃了果子。\n2你不吃果子。"; a[18] = "你小心地走上湖面。走了几百米后,脚下的冰开始晃动。\n1你继续在湖面上穿行。\n2你退了回去,然后绕着湖走。"; a[19] = "你重新生起火堆。大概两个小时后,你又听到了直升机的声响。这一次,飞机看到了烟,停在了你旁边的雪地上。这下你安全了。你乘飞机前往医院,可以在那里吃饭和休息。"; a[20] = "你极快地向林中坠去,但你可以让飞机向左转弯或向右转弯。右边是一些树,左边是厚厚的积雪。\n1你向右转。\n2你向左转。"; a[21] = "你继续沿着河走,感觉非常饥饿,必须找东西吃。树上有果子,河中有鱼。\n1你尝试着抓一条鱼。\n2你吃了一些果子。"; a[22] = "绳子断了。"; a[23] = "你继续在雪中跋涉。没有吃的东西,但你可以生火,还可以喝雪水。突然,你发现前面有一个结了冰的湖。\n1你横穿湖面。这样会快一些,你必须找点吃的东西。\n2你绕着湖走。你去寻找条河。"; a[24] = "你待在飞机上,但感到异常寒冷。你真的不想活了吗?"; a[25] = "你在飞机上待了四天,什么也看不到,什么也听不到。你必须下山。"; a[26] = "经过几十分钟的努力,你终于捉到了一条鱼。你又多捉了几条。你感到很冷,于是生起了火堆,烤了几条鱼吃。味道好极了。"; a[27] = "你朝山下走去。几分钟后看到前面有一条隧道。你的左侧还有一个布满岩石的山谷。\n1你沿着山谷走去。\n2你走进隧道。"; a[28] = "你绕着湖走。走约大了五公后,你发现了一条河。河水从湖中流出,向远处流去。\n1你继续绕着湖走。\n2你沿着河走去。"; a[29] = "你想下山。飞机上有一些东西,你可以随身带上几样。你会带哪些呢?\n1外套、威士忌和地图。\n2外套、香蕉和打火机。\n3香蕉、打火机和地图。\n4威士忌、打火机和香蕉。"; a[30] = "一整天,烟不停地升上天空,但是直升机没有出现。你等了一整天。第2天,你一大早就醒来了。\n1你重新生起火堆。\n2你沿着河走去。"; a[31] = "你追着直升机跑,但它飞得很快。你不得不往山上爬,在厚厚的雪中跋涉了一整天,但再也没找到那架直升机。"; a[32] = "你待在飞机附近。坐在一边,看着天,就这样过了两天。什么也没有发生。\n1你待在飞机附近。\n2你试着向山下走去。"; a[33] = "你走进隧道。漆黑一片。你看到有一盏灯,便点上了。"; a[34] = "为了暖和一点儿,你喝了威士忌,但并没有觉得暖和起来。你只是感到很累,筋疲力尽。"; a[35] = "你生起火堆,火堆冒出很多烟。你看着冲天的烟柱。"; a[36] = "你整晚都坐在树林里的火堆前。虽然天很冷,但火烧得很旺,你可以稍微睡一会。你需要想想天亮以后你可以做些什么。\n1你待在飞机附近。\n2你朝山下走去。"; a[37] = "你冲着直升机一边大声呼喊,一边挥动双臂。直升机掉头往回飞了一会,然后向天上飞去。\n1你追着直升机跑。\n2你回去睡觉。\n3你生起火堆。"; a[38] = "你绕着湖走了1整圈,筋疲力尽,没有找到任何事物。你只能沿着河走。"; a[39] = "你沿着脚印在树林中走了很远。脚印延伸到1棵大树的后面。你朝树后看去,看到了一只大熊。这肯定不是能吃的。你悄悄地离开了。"; a[40] = "你向洞的深处走,走了约5分钟,发现地上有一个很大的洞。1条很旧的绳向下直延伸到洞中。\n1你顺着绳子下到洞中。\n2你退回到隧道口。"; cn = 5; _start(); int s = 1; //cout << "\033c"; system("cls"); while (1) { system("color 0E"); int b, c = 0, d = 0, e; if (s == 1) { _1slowcout(a[s]); s = 20; cin >> b; //cout << "\033c"; } else if (s == 2) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 29; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 3) { _1slowcout(a[s]); cin >> b; s = 21; //cout << "\033c"; } else if (s == 4) { _1slowcout(a[s]); cin >> b; s = 16; //cout << "\033c"; //system("cls"); } else if (s == 5) { _1slowcout(a[s]); s = 10; cin >> b; //cout << "\033c"; } else if (s == 6) { _1slowcout(a[s]); s = 36; cin >> b; //cout << "\033c"; } else if (s == 7) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } if (b == 4) { s = 37; } //cout << "\033c"; } else if (s == 8) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 39; } if (b == 2) { s = 17; } //cout << "\033c"; } else if (s == 9) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 36; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 10) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 11) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; s = 1; } else if (s == 12) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; } else if (s == 13) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 34; } if (b == 2) { s = 6; } //cout << "\033c"; } else if (s == 14) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 15) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 24; } if (b == 2) { s = 29; } //cout << "\033c"; } else if (s == 16) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 8; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 17) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 5; } if (b == 2) { s = 23; } //cout << "\033c"; } else if (s == 18) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 12; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 19) { _1slowcout(a[s]); Sleep(500); system("cls"); c_slowcout(" GAME OVER!",40,9); Sleep(300); break; //cout << "\033c"; } else if (s == 20) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 11; } if (b == 2) { s = 15; } //cout << "\033c"; } else if (s == 21) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 5; } //cout << "\033c"; } else if (s == 22) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 23) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 18; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 24) { _1slowcout(a[s]); cin >> b; s = 29; //cout << "\033c"; } else if (s == 25) { _1slowcout(a[s]); cin >> b; s = 27; //cout << "\033c"; } else if (s == 26) { _1slowcout(a[s]); cin >> b; s = 7; //cout << "\033c"; } else if (s == 27) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 16; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 28) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 38; } if (b == 2) { s = 14; } //cout << "\033c"; } else if (s == 29) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 2; } if (b == 2) { s = 6; } if (b == 3) { s = 9; } if (b == 4) { s = 13; } //cout << "\033c"; } else if (s == 30) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 19; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 31) { _1slowcout(a[s]); cin >> b; s = 23; //cout << "\033c"; } else if (s == 32) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 25; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 33) { _1slowcout(a[s]); cin >> b; s = 40; //cout << "\033c"; } else if (s == 34) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 35) { _1slowcout(a[s]); cin >> b; s = 30; //cout << "\033c"; } else if (s == 36) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 32; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 37) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } //cout << "\033c"; } else if (s == 38) { _1slowcout(a[s]); cin >> b; s = 14; //cout << "\033c"; } else if (s == 39) { _1slowcout(a[s]); cin >> b; s = 17; //cout << "\033c"; } else if (s == 40) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 22; } if (b == 2) { s = 4; } //cout << "\033c"; } if (b == 6) { if (_end() == 1) { _1slowcout("退出中......"); Sleep(810); system("cls"); break; } } system("cls"); system("color 0E"); /* if(s==){ cout<<a[s]<<endl; cin>>b; cout << "\033c"; } */ } //cout << "\033c"; //cout << "\033c"; } void stbegin(){ _slowcout("----------这是此游戏的2.0.0实验版本----------",50); cout<<endl; _1slowcout("可能有一些不完善的地方"); Sleep(998); cout<<"以下有两个游戏"<<endl; Sleep(500); cout<<"\n1生存游戏\n2雾都疑案"<<endl; cout<<"输入你想玩哪一个:"<<' '; int y; cin>>y; if(y==1){ game1st(); } if(y==2){ game2nd(); } } int main(){ stbegin(); return 0; }
    0 回复
  • 2024-10-21 19:36
    该实验版本不完善的地方较多,稍后会更新2.0.0正式版
    0 回复
  • 2024-10-20 12:00
    #include <bits/stdc++.h> #include <windows.h> #include <stdlib.h> using namespace std; void _1slowcout(string s){ int ti=20;//you can change the number int u=s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } cout<<endl; } string b[40]; /* b[1]="?个寒冷的夜晚,你正坐在伦敦的家?。有?敲?。来者是伦敦警察局的弗利威尔巡官。“您能来?趟?教堂吗,庞德先??我们需要您的帮助。有个??倒在街上。她没死,但浑?是?。我们认为这次?是‘?教堂杀?’?的。”你穿上外套。"; //18jie b[2]="你在安妮家中。?个???了进来。“你是谁?你在这??什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。??想了想。“她最好的朋友是个叫罗茜的??,住在莱姆豪斯街。不过她有个男朋友。就是那张照??的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。看第10节。\n2你去莱姆豪斯街找罗茜。"; //35jie b[3]="你想上“加利福尼亚?”号找杰克谈谈。\n1你跳进?中,游着去追船。看第8节。\n2你不会游泳。你考虑着怎么上船。"; //看第13节。 b[4]="“您知道街上那个??叫什么吗?”你问??。他听不?你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚?”号。?条?船上有个??。有位??在钓?。\n1你请??帮忙。看第24节。\n2你请??帮忙。"; //看第34节。 b[6]="你询问?伙?。他?到街上,看了看那个??。“我想她叫安妮。”他说。“你知道她住哪?吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚?”号的船?叫来了三个叫杰克的?。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进?中,游着去追船。但船开得很快。五分钟后,“加利福尼亚?”号驶出了伦敦码头,驶向印度。这时你觉得?常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“?个??。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解?些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧?有四个?。你想问问有关街上那个??的事。你要先问谁?\n1你询问??。\n2你询问?伙?。\n3你询问?妇?。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="??看着你。“杰克?”他说,“叫杰克的??有?百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那?有?百条船。你想找到“加利福尼亚?”号,抓住杰克。\n1你?过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="??上有座桥。你上了桥,跳上“加利福尼亚?”号。你去找船?。“我必须和您船上的?个?谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘?教堂杀?’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那?有?百条船,?千名??。你和?名??搭上了话。“你认识?名叫杰克的??吗?”你问道。"; //看第11节。 b[15]="你询问?妇?。她?到街上,看了看那个??。“她叫安妮。”她说。“您知道她住哪?吗?”你问。“知道。她住在缆绳街。我不知道?牌号。”她答道。■你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲??的?。?个年轻??开了?。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不?了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“?教堂杀?”。"; //看第7节。 b[18]="“?教堂杀?”??把??伤?。他杀了6个??。你来到?教堂,警察在那?等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以?法开?和你说话。你看到路上有?些???轮印。/n1你沿着???轮印追踪。\n2你?进“玫瑰与王冠”酒吧。你想与??的?谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到?封信。'加利福尼亚?号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧?个?吧。我有?常重要的东西给你。杰克'这样看来,杰克的船叫“加利福尼亚?”号。杰克是你要找的?吗?杰克是“?教堂杀?”吗?你去伦敦码头找“加利福尼亚?”号上的杰克。"; //看第12节。 b[20]="那?有很多船,但你看不到“加利福尼亚?”号。"; //回到第12节。 b[21]="你敲了敲蓝?的?。?位??开了?。“我找罗茜。”你说。“她不住这?,”他说,“我想她住在那个?房??。”"; //看第16节。 b[22]="“?教堂杀?”逍遥法外了。你下次能成为聪明一点的侦探吗?再试?次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“?教堂杀?”。"; //看第7节。 b[24]="你和??交谈。“你知道叫‘加利福尼亚?’号的船吗?”你问他。??看着你。“我是俄国?,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着???轮印来到了?条?路,轮印不?了。"; //看第18节。 b[26]="你敲了敲红?的?。家?没?。"; //看第35节。 b[27]="他?袋?有把?。?上有?。这个杰克正是“?教堂杀?”。"; //看第33节。 b[28]="“您知道街上那个??叫什么吗?”你问“玫瑰与王冠”酒吧?那名年轻姑娘。她?到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚?”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,?访了那?的?。?分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识?个叫安妮的??吗?”你问。“不认识。”他说。但这个杰克戴了?只?环。他?袋?藏着什么东西。是?把?吗?也许这个杰克就是“?教堂杀?”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船?协助你逮捕了“?教堂杀?”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和??搭话。“您知道?艘叫‘加利福尼亚?’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房??\n1有???的房?。\n2有蓝??的房?。\n3■有红??的房?。"; //看第16节 //看第21节。 //看第26节。 */ //system("color 7E"); /* 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色; 6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=浅绿色; C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。 */ string a[50]; int cn ; void _open(){ MessageBox(NULL,"....游戏即将开始!....","提示",MB_OK|MB_ICONEXCLAMATION); } void CPt(char s, int color){ //彩色输出 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf("%c",s); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); } /* color: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ void _slowcout(string s, long long int ti) { int u = s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } } void c_slowcout(string s, long long int ti,int color) { int u = s.size(); for (int i = 0; i < u; i++) { CPt(s[i],color); Sleep(ti); } } void _start() { c_slowcout("-------------生存游戏--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; //c_slowcout("------------版本1.1.1 -------------",100,1); cout << endl; Sleep(980); /* c_slowcout("1.1.1(2改版)版本升级点: \n", 89,2); Sleep(800); /* cout << "1.修复了一些乱码及a[24]、a[36]的文字问题" << endl; Sleep(510); cout << "2.新增help功能 \n"; Sleep(500); // _slowcout("1.适用于c++5.12及以上的编译器(1.1.0有失误)", 50); cout << endl; Sleep(510); _slowcout("2.修复了一些小问题", 50); cout << endl; Sleep(510); _slowcout("3.新增中途退出功能\n", 50); Sleep(1010); cn = 5; */ c_slowcout("注意事项:", 91 , 4); cout << endl; _slowcout("1.如果拿不定主意,可以输入数字5。求助次数为5。", 50); _slowcout("\n2.输入6,结束游戏", 50); cout << endl; Sleep(500); cout << "输入任意字符开始游戏" << endl; int as; cin >> as; } int _end() { cout << "是否结束游戏?\n1.是\n2.否\n"; int r; cin >> r; return r; } void _help(int s) { if (cn == 0) { cout << "提示次数为0!"; Sleep(880); cout << "\033c"; system("cls"); cout << a[s] << endl; return; } int u = cn; if (s == 2) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 7) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 8) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 9) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 13) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 14) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 15) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 16) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 17) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 18) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 20) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 21) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 23) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 27) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 28) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 29) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 30) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 32) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 36) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 37) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 40) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } //Sleep(2000); if (cn == u) { cout << "输入任意字符继续"; Sleep(1800); } system("cls"); cout << a[s] << endl; return; /* if(s==2){ cout<<"May be 2"<<endl; cn--; cout<<"剩余提示次数:"<<cn<<endl; sleep(500); cout << "\033c"; } */ } void _sstart(){ system("cls"); system("color 0E"); c_slowcout("-------------雾都疑案--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; Sleep(1710); system("cls"); } void game2nd(){ _sstart(); string b[40]; b[1]="?个寒冷的夜晚,你正坐在伦敦的家?。有?敲?。来者是伦敦警察局的弗利威尔巡官。“您能来?趟?教堂吗,庞德先??我们需要您的帮助。有个女人倒在街上。她没死,但浑?是?。我们认为这次?是‘?教堂杀?’?的。”你穿上外套。"; //18jie b[2]="你在安妮家中。一个女的进来了。“你是谁?你在这??什么?”她问道。你给她说了安妮的事。“太可怕了。”她说。“您认识她的朋友吗?”你问。??想了想。“她最好的朋友是个叫罗茜的??,住在莱姆豪斯街。不过她有个男朋友。就是那张照??的那个。我不喜欢他。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。看第10节。\n2你去莱姆豪斯街找罗茜。"; //35jie b[3]="你想上“加利福尼亚?”号找杰克谈谈。\n1你跳进?中,游着去追船。看第8节。\n2你不会游泳。你考虑着怎么上船。"; //看第13节。 b[4]="“您知道街上那个??叫什么吗?”你问??。他听不?你的话,没有回答。"; //看第10节。 //5 b[5]="你过了桥,但看不到“加利福尼亚?”号。?条?船上有个??。有位??在钓?。\n1你请??帮忙。看第24节。\n2你请??帮忙。"; //看第34节。 b[6]="你询问?伙?。他?到街上,看了看那个??。“我想她叫安妮。”他说。“你知道她住哪?吗?”“知道。我想她住在缆绳街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去缆绳街。。"; //看第10节。 //第30节。 b[7]="“加利福尼亚?”号的船?叫来了三个叫杰克的?。你想询问哪个杰克?\n1左边的杰克。\n2中间的杰克。\n3右边的杰克。"; //看第17节。 //看第23节。 //看第31节。 b[8]="你跳进?中,游着去追船。但船开得很快。五分钟后,“加利福尼亚?”号驶出了伦敦码头,驶向印度。这时你觉得?常冷。"; //看第22节。 b[9]="你告诉罗茜安妮的事。“我是安妮最好的朋友。”她说着哭了起来。“不过她有个男朋友。”“他是谁?”你问。“?个??。他叫杰克。他经常去她缆绳街的家?。我想他的船现在就在伦敦码头。”\n1你想找到杰克,于是去了码头。\n2你想多了解?些安妮的情况,于是去了她在缆绳街的家。"; //看第14节。 //看第19节。 b[10]="“玫瑰与王冠”酒吧?有四个?。你想问问有关街上那个??的事。你要先问谁?\n1你询问??。\n2你询问?伙?。\n3你询问?妇?。\n4你询问年轻姑娘。"; //看第4节。 //看第6节。 //看第15节。 //看第28节。 b[11]="??看着你。“杰克?”他说,“叫杰克的??有?百个。每条船上都有个杰克。”你必须找出杰克所在的船的名字。你去安妮的房间寻找更多信息。"; //看第19节。 b[12]="你到了伦敦码头。那?有?百条船。你想找到“加利福尼亚?”号,抓住杰克。\n1你?过桥。\n2你去右边。\n3你去左边。"; //看第5节。 //看第20节。 //看第29节。 b[13]="??上有座桥。你上了桥,跳上“加利福尼亚?”号。你去找船?。“我必须和您船上的?个?谈谈,”你说,“他叫杰克。”“您为什么要和他谈?”他问道。“我认为他是‘?教堂杀?’。”“我这条船上有三个杰克。”船长说。“我能都见见吗?”你问。"; //看第7节。 //14 b[14]="你去伦敦码头找安妮的朋友杰克。那有几百条船,几千名工人。你和1名工人搭上了话。“你认识?名叫杰克的??吗?”你问道。"; //看第11节。 b[15]="你询问?妇?。她?到街上,看了看那个??。“她叫安妮。”她说。“您知道她住哪?吗?”你问。“知道。她住在缆绳街。我不知道?牌号。”她答道。你回到“玫瑰与王冠”酒吧,\n1询问其他人。\n2你去缆绳街。"; //看第10节。。 //看第30节。 b[16]="你敲了敲??的?。1个年轻女人开了?。“你是罗茜吗?”你问。“是的。”“你是安妮的朋友吗?”“是的。”她说道。“我有个坏消息告诉你,”你说,“恐怕她快不?了。”“不。”罗茜哭了起来。"; //看第9节。 b[17]="你询问右边的杰克。他不是“?教堂杀?”。"; //看第7节。 b[18]="“白教堂杀手”??把??伤?。他杀了6个人了。你来到?教堂,警察在那?等你。那个女人倒在“玫瑰与王冠”酒吧附近的街上。她伤得很重,所以?法开?和你说话。你看到路上有1些自行车轮印。\n1你沿着自行车轮印追踪。\n2你?进“玫瑰与王冠”酒吧。你想与??的?谈谈。"; //看第25节。 //看第10节。 b[19]="你在安妮的家中查看,找到?封信。\n '加利福尼亚?号,星期六安妮,明天我们的船要去印度了。请今晚来“玫瑰与王冠”酒吧?个?吧。\n我有?常重要的东西给你.\n 杰克'\n这样看来,杰克的船叫“加利福尼亚?”号。杰克是你要找的?吗?杰克是“?教堂杀?”吗?你去伦敦码头找“加利福尼亚?”号上的杰克。"; //看第12节。 b[20]="那?有很多船,但你看不到“加利福尼亚?”号。"; //回到第12节。 b[21]="你敲了敲蓝?的?。?位??开了?。“我找罗茜。”你说。“她不住这?,”他说,“我想她住在那个?房??。”"; //看第16节。 b[22]="“?教堂杀?”逍遥法外了。你下次能成为聪明一点的侦探吗?再试?次吧。"; //回到第1节。 b[23]="你和中间的杰克交谈。他不是“?教堂杀?”。"; //看第7节。 b[24]="你和??交谈。“你知道叫‘加利福尼亚?’号的船吗?”你问他。??看着你。“我是俄国?,”他说,“我不会讲英语。”"; //看第5节。 b[25]="你跟着???轮印来到了?条?路,轮印不?了。"; //看第18节。 b[26]="你敲了敲红?的?。家?没?。"; //看第35节。 b[27]="他?袋?有把?。?上有?。这个杰克正是“?教堂杀?”。"; //看第33节。 b[28]="“您知道街上那个??叫什么吗?”你问“玫瑰与王冠”酒吧?那名年轻姑娘。她?到街上,看了看她。“我不知道她的名字,不过她有个朋友叫罗茜。问问她吧!”“罗茜住在哪??”你问。“她住在莱姆豪斯街。”\n1你回到“玫瑰与王冠”酒吧,询问其他?。\n2你去莱姆豪斯街找罗茜。"; //看第10节。 //看第35节。 b[29]="你去东印度码头。你看到了“加利福尼亚?”号,但它正在驶出码头。\n1你看到了杰克,于是你想办法上船。/n2船上看不到杰克的踪影。你可以去医院和安妮谈谈,你也可以给印度警察写信,告诉他们杰克的事。"; //看第3节。 //看第22节。 b[30]="你去缆绳街,?访了那?的?。?分钟后,你找到了安妮的家。你仔细查看每样东西。"; //看第2节。 b[31]="你询问右边的杰克。“你认识?个叫安妮的??吗?”你问。“不认识。”他说。但这个杰克戴了?只?环。他?袋?藏着什么东西。是?把?吗?也许这个杰克就是“?教堂杀?”。"; //看第27节。 b[32]="GAME OVER!"; b[33]="船?协助你逮捕了“?教堂杀?”。你把他带下船,交给了警察。"; //看第32节。 b[34]="你上前和??搭话。“您知道?艘叫‘加利福尼亚?’号的船吗?”你问他。“知道,”他说,“它今天去印度,所以现在正在东印度码头。”你必须找到东印度码头。"; //看第12节。 b[35]="你前往莱姆豪斯街。你要找安妮的朋友罗茜。你想先拜访哪所房??\n1有???的房?。\n2有蓝??的房?。\n3■有红??的房?。"; //看第16节 //看第21节。 //看第26节。 int r; int s=1; while (1) { system("color 0E"); system("cls"); int c = 0, d = 0, e; if (s == 1) { _1slowcout(b[s]); cin >> r; s=18; } else if(s == 2){ _1slowcout(b[s]); cin>>r; s=35; } else if(s == 3){ _1slowcout(b[s]); cin>>r; s=13; } else if(s == 4){ _1slowcout(b[s]); cin>>r; s=10; } else if(s == 5){ _1slowcout(b[s]); cin>>r; if(r==1){ s=24; } if(r==2){ s=34; } } else if(s == 6){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(r==2){ s=30; } } else if(s == 7){ _1slowcout(b[s]); cin>>r; if(r==1){ s=17; } if(r==2){ s=23; } if(r==3){ s=31; } } else if(s == 8){ _1slowcout(b[s]); cin>>r; s=22; } else if(s == 9){ _1slowcout(b[s]); cin>>r; if(r==1){ s=14; } if(r==2){ s=19; } } else if(s == 10){ _1slowcout(b[s]); cin>>r; if(r==1){ s=4; } if(r==2){ s=6; } if(r==3){ s=15; } if(r==4){ s=28; } } else if(s == 11){ _1slowcout(b[s]); cin>>r; s=19; } else if(s == 12){ _1slowcout(b[s]); cin>>r; if(r==1){ s=5; } if(r==2){ s=20; } if(r==3){ s=29; } } else if(s == 13){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 14){ _1slowcout(b[s]); cin>>r; s=11; } else if(s == 15){ _1slowcout(b[s]); cin>>r; if(r==1){ s=10; } if(s==2){ s=30; } } else if(s == 16){ _1slowcout(b[s]); cin>>r; s=9; } else if(s == 17){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 18){ _1slowcout(b[s]); cin>>r; if(r==1){ s=25; } if(r==2){ s=10; } } else if(s == 19){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 20){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 21){ _1slowcout(b[s]); cin>>r; s=16; } else if(s == 22){ _1slowcout(b[s]); cin>>r; s=1; } else if(s == 23){ _1slowcout(b[s]); cin>>r; s=7; } else if(s == 24){ _1slowcout(b[s]); cin>>r; s=5; } else if(s == 25){ _1slowcout(b[s]); cin>>r; s=18; } else if(s == 26){ _1slowcout(b[s]); cin>>r; s=35; } else if(s == 27){ _1slowcout(b[s]); cin>>r; s=33; } else if(s == 28){ _1slowcout(b[s]); cin>>r; if(r==1){ s=28; } if(s==2){ s=35; } } else if(s == 29){ _1slowcout(b[s]); cin>>r; if(r==1){ s=3; } if(s==2){ s=22; } } else if(s == 30){ _1slowcout(b[s]); cin>>r; s=2; } else if(s == 31){ _1slowcout(b[s]); cin>>r; s=27; } else if(s == 32){ _1slowcout(b[s]); cin>>r; break; } else if(s == 33){ _1slowcout(b[s]); cin>>r; s=32; } else if(s == 34){ _1slowcout(b[s]); cin>>r; s=12; } else if(s == 35){ _1slowcout(b[s]); cin>>r; if(r==1){ s=16; } if(r==2){ s=21; } if(r==3){ s=26; } } /* else if(s == ){ _1slowcout(a[s]); cin>>r; } */ } } /* 这是一个c++小游戏。(程序自创,文章内容参考《牛津英汉双语读物·入门级·上<生存游戏>》) 1.1.0 版本升级点: 1.修复了一些乱码及a[24]、a[36]的文字问题 2.新增help功能 */ void game1st() { system("color 0E"); a[1] = "你名叫xx,正驾驶一架小型飞机飞越落基山脉。突然,发动机发出了奇怪的响声,飞机朝着一座山坠去。你的无线电失灵了,没有人知道你所在的位置。\n输入0继续"; a[2] = "你穿着外套,拿着威士忌和地图,过了大约20分钟。积雪很厚,你感到很冷。\n1你回到飞机上,拿了一些其他物品。\n2为了暖和一点,你喝了威士忌。"; a[3] = "你回去睡觉,再也没听到直升机的声响。第2天,你继续沿着河边走。"; a[4] = "你原路返回,出了隧道,走进乱石丛生的山谷。"; a[5] = "你吃了果子。虽然味道不好,但是你太饿了,还是吃了不少。你带了些果子在身上,过后可以吃。"; a[6] = "你穿着外套,拿着香蕉和打火机,走了大约20分钟。积雪很厚,你感到很冷。你回到树林,生起火堆。"; a[7] = "又到了晚上,但因为之前吃了鱼,你并没有觉得饿。你在树下搭了一座帐棚。早上醒来后,你听到了一阵响声。\n你跑出帐棚往天上看,发现有一架直升机。虽然你看得直升机,但因为树枝的遮挡,飞机上的人看不到你。飞机就要飞走了。\n1你追着直升机跑。\n2你回棚里睡觉。\n3你生起了火堆。 \n4你冲着直升机一边大声呼喊,一边挥动双臂。"; a[8] = "你顺着山谷走出很远,夜晚将要来临了。你在树林里生起了火,吃了香蕉。第2天早上,你感到很饿,必须找些东西吃。你在雪地上发现了动物的脚印,也许你可以猎杀这只动物作食物。\n1你沿着脚印追踪走去。\n2你很害怕大型动物。或许这只动物很危险,于是你向山下走去。"; a[9] = "你带着香蕉、打火机和地图走了几分钟,感到非常寒冷。\n1你生起火堆?。\n2你回到飞机上去取威士忌。"; a[10] = "时间到了下午。你开始觉得很不舒服。也许那些果子有毒。你走不动了,坐在雪地上,觉得越来越冷。"; a[11] = "你向右转,飞机撞到了树上。"; a[12] = "你横穿湖面,在冰上走。几分钟后,冰裂开了,你掉进了冰窟窿。"; a[13] = "你带着威士忌、打火机和香蕉走了几分钟,感到非常寒冷。\n1你喝了威士忌。\n2你回到飞机上,放下了威士忌,带上了外套。"; a[14] = "河面上结了冰,但中间有洞隙。你看到河里有鱼。也许你可以抓一条鱼吃。\n1你试着从冰隙间捉几条鱼。\n2在河边捉鱼很危险。你继续往前走。"; a[15] = "你向左转,想在雪地上着陆。飞机落在雪中,停了下来。你虽然安全了,但却身处山顶,天异常寒冷。天黑了下来。 \n1你待在飞机上。\n2你向山下走去。"; a[16] = "山谷的岩石很难攀爬,几分钟之后你就疲惫不堪了。\n1你继续沿着山谷走。\n2你往回走,出了山谷,进了隧道。"; a[17] = "你穿过树林向山下走,感觉饥肠辘辘。你看到有一棵树上结着没见过的果子。\n1你吃了果子。\n2你不吃果子。"; a[18] = "你小心地走上湖面。走了几百米后,脚下的冰开始晃动。\n1你继续在湖面上穿行。\n2你退了回去,然后绕着湖走。"; a[19] = "你重新生起火堆。大概两个小时后,你又听到了直升机的声响。这一次,飞机看到了烟,停在了你旁边的雪地上。这下你安全了。你乘飞机前往医院,可以在那里吃饭和休息。"; a[20] = "你极快地向林中坠去,但你可以让飞机向左转弯或向右转弯。右边是一些树,左边是厚厚的积雪。\n1你向右转。\n2你向左转。"; a[21] = "你继续沿着河走,感觉非常饥饿,必须找东西吃。树上有果子,河中有鱼。\n1你尝试着抓一条鱼。\n2你吃了一些果子。"; a[22] = "绳子断了。"; a[23] = "你继续在雪中跋涉。没有吃的东西,但你可以生火,还可以喝雪水。突然,你发现前面有一个结了冰的湖。\n1你横穿湖面。这样会快一些,你必须找点吃的东西。\n2你绕着湖走。你去寻找条河。"; a[24] = "你待在飞机上,但感到异常寒冷。你真的不想活了吗?"; a[25] = "你在飞机上待了四天,什么也看不到,什么也听不到。你必须下山。"; a[26] = "经过几十分钟的努力,你终于捉到了一条鱼。你又多捉了几条。你感到很冷,于是生起了火堆,烤了几条鱼吃。味道好极了。"; a[27] = "你朝山下走去。几分钟后看到前面有一条隧道。你的左侧还有一个布满岩石的山谷。\n1你沿着山谷走去。\n2你走进隧道。"; a[28] = "你绕着湖走。走约大了五公后,你发现了一条河。河水从湖中流出,向远处流去。\n1你继续绕着湖走。\n2你沿着河走去。"; a[29] = "你想下山。飞机上有一些东西,你可以随身带上几样。你会带哪些呢?\n1外套、威士忌和地图。\n2外套、香蕉和打火机。\n3香蕉、打火机和地图。\n4威士忌、打火机和香蕉。"; a[30] = "一整天,烟不停地升上天空,但是直升机没有出现。你等了一整天。第2天,你一大早就醒来了。\n1你重新生起火堆。\n2你沿着河走去。"; a[31] = "你追着直升机跑,但它飞得很快。你不得不往山上爬,在厚厚的雪中跋涉了一整天,但再也没找到那架直升机。"; a[32] = "你待在飞机附近。坐在一边,看着天,就这样过了两天。什么也没有发生。\n1你待在飞机附近。\n2你试着向山下走去。"; a[33] = "你走进隧道。漆黑一片。你看到有一盏灯,便点上了。"; a[34] = "为了暖和一点儿,你喝了威士忌,但并没有觉得暖和起来。你只是感到很累,筋疲力尽。"; a[35] = "你生起火堆,火堆冒出很多烟。你看着冲天的烟柱。"; a[36] = "你整晚都坐在树林里的火堆前。虽然天很冷,但火烧得很旺,你可以稍微睡一会。你需要想想天亮以后你可以做些什么。\n1你待在飞机附近。\n2你朝山下走去。"; a[37] = "你冲着直升机一边大声呼喊,一边挥动双臂。直升机掉头往回飞了一会,然后向天上飞去。\n1你追着直升机跑。\n2你回去睡觉。\n3你生起火堆。"; a[38] = "你绕着湖走了1整圈,筋疲力尽,没有找到任何事物。你只能沿着河走。"; a[39] = "你沿着脚印在树林中走了很远。脚印延伸到1棵大树的后面。你朝树后看去,看到了一只大熊。这肯定不是能吃的。你悄悄地离开了。"; a[40] = "你向洞的深处走,走了约5分钟,发现地上有一个很大的洞。1条很旧的绳向下直延伸到洞中。\n1你顺着绳子下到洞中。\n2你退回到隧道口。"; cn = 5; _start(); int s = 1; //cout << "\033c"; system("cls"); while (1) { system("color 0E"); int b, c = 0, d = 0, e; if (s == 1) { _1slowcout(a[s]); s = 20; cin >> b; //cout << "\033c"; } else if (s == 2) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 29; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 3) { _1slowcout(a[s]); cin >> b; s = 21; //cout << "\033c"; } else if (s == 4) { _1slowcout(a[s]); cin >> b; s = 16; //cout << "\033c"; //system("cls"); } else if (s == 5) { _1slowcout(a[s]); s = 10; cin >> b; //cout << "\033c"; } else if (s == 6) { _1slowcout(a[s]); s = 36; cin >> b; //cout << "\033c"; } else if (s == 7) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } if (b == 4) { s = 37; } //cout << "\033c"; } else if (s == 8) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 39; } if (b == 2) { s = 17; } //cout << "\033c"; } else if (s == 9) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 36; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 10) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 11) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; s = 1; } else if (s == 12) { _1slowcout(a[s]); cin >> b; //cout << "\033c"; } else if (s == 13) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 34; } if (b == 2) { s = 6; } //cout << "\033c"; } else if (s == 14) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 15) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 24; } if (b == 2) { s = 29; } //cout << "\033c"; } else if (s == 16) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 8; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 17) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 5; } if (b == 2) { s = 23; } //cout << "\033c"; } else if (s == 18) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 12; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 19) { _1slowcout(a[s]); Sleep(500); system("cls"); c_slowcout(" GAME OVER!",40,9); Sleep(300); break; //cout << "\033c"; } else if (s == 20) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 11; } if (b == 2) { s = 15; } //cout << "\033c"; } else if (s == 21) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 5; } //cout << "\033c"; } else if (s == 22) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 23) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 18; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 24) { _1slowcout(a[s]); cin >> b; s = 29; //cout << "\033c"; } else if (s == 25) { _1slowcout(a[s]); cin >> b; s = 27; //cout << "\033c"; } else if (s == 26) { _1slowcout(a[s]); cin >> b; s = 7; //cout << "\033c"; } else if (s == 27) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 16; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 28) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 38; } if (b == 2) { s = 14; } //cout << "\033c"; } else if (s == 29) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 2; } if (b == 2) { s = 6; } if (b == 3) { s = 9; } if (b == 4) { s = 13; } //cout << "\033c"; } else if (s == 30) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 19; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 31) { _1slowcout(a[s]); cin >> b; s = 23; //cout << "\033c"; } else if (s == 32) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 25; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 33) { _1slowcout(a[s]); cin >> b; s = 40; //cout << "\033c"; } else if (s == 34) { _1slowcout(a[s]); cin >> b; s = 1; //cout << "\033c"; } else if (s == 35) { _1slowcout(a[s]); cin >> b; s = 30; //cout << "\033c"; } else if (s == 36) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 32; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 37) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } //cout << "\033c"; } else if (s == 38) { _1slowcout(a[s]); cin >> b; s = 14; //cout << "\033c"; } else if (s == 39) { _1slowcout(a[s]); cin >> b; s = 17; //cout << "\033c"; } else if (s == 40) { _1slowcout(a[s]); cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 22; } if (b == 2) { s = 4; } //cout << "\033c"; } if (b == 6) { if (_end() == 1) { _1slowcout("退出中......"); Sleep(810); system("cls"); break; } } system("cls"); system("color 0E"); /* if(s==){ cout<<a[s]<<endl; cin>>b; cout << "\033c"; } */ } //cout << "\033c"; //cout << "\033c"; } void stbegin(){ _slowcout("----------这是此游戏的2.0.0实验版本----------",50); cout<<endl; _1slowcout("可能有一些不完善的地方"); Sleep(998); cout<<"以下有两个游戏"<<endl; Sleep(500); cout<<"\n1生存游戏\n2雾都疑案"<<endl; cout<<"输入你想玩哪一个:"<<' '; int y; cin>>y; if(y==1){ game1st(); } if(y==2){ game2nd(); } } int main(){ stbegin(); return 0; }
    0 回复
  • 2024-10-11 14:50
    厉害
    1 回复
  • 2024-10-05 22:19
    即将更新2.0.0版本,代码正在编写
    0 回复
  • 2024-09-16 22:02
    1.1.1(2改版)
    0 回复
  • 2024-09-16 22:00
    //1.1.2三改版出炉! #include <bits/stdc++.h> #include <windows.h> #include <stdlib.h> using namespace std; //system("color 7E"); /* 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色; 6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=浅绿色; C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。 */ string a[50]; int cn ; void _open(){ MessageBox(NULL,"....游戏即将开始!....","提示",MB_OK|MB_ICONEXCLAMATION); } void CPt(char s, int color){ //彩色输出 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf("%c",s); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); } /* color: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ void _slowcout(string s, long long int ti) { int u = s.size(); for (int i = 0; i < u; i++) { cout << s[i]; Sleep(ti); } } void c_slowcout(string s, long long int ti,int color) { int u = s.size(); for (int i = 0; i < u; i++) { CPt(s[i],color); Sleep(ti); } } void _start() { c_slowcout("-------------生存游戏--------------\n", 30,6); _open(); Sleep(1000); cout << " " << "作者:Leng" << endl; c_slowcout("------------版本1.1.1 -------------",100,1); cout << endl; Sleep(980); c_slowcout("1.1.1(2改版)版本升级点: \n", 89,2); Sleep(800); /* cout << "1.修复了一些乱码及a[24]、a[36]的文字问题" << endl; Sleep(510); cout << "2.新增help功能 \n"; Sleep(500); */ _slowcout("1.适用于c++5.12及以上的编译器(1.1.0有失误)", 50); cout << endl; Sleep(510); _slowcout("2.新增中途退出功能\n", 50); Sleep(1010); cn = 5; c_slowcout("注意事项:", 91 , 4); cout << endl; _slowcout("1.如果拿不定主意,可以输入数字5。求助次数为5。", 50); _slowcout("\n2.输入6,结束游戏", 50); cout << endl; Sleep(500); cout << "输入任意字符开始游戏" << endl; int as; cin >> as; } int _end() { cout << "是否结束游戏?\n1.是\n2.否\n"; int r; cin >> r; return r; } void _help(int s) { if (cn == 0) { cout << "提示次数为0!"; Sleep(880); cout << "\033c"; system("cls"); cout << a[s] << endl; return; } int u = cn; if (s == 2) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 7) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 8) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 9) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 13) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 14) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 15) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 16) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 17) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 18) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 20) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 21) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 23) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); cout << "\033c"; } if (s == 27) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 28) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 29) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 30) { cout << "May be 1" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 32) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 36) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 37) { cout << "May be 3" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } if (s == 40) { cout << "May be 2" << endl; cn--; cout << "剩余提示次数:" << cn << endl; Sleep(3000); //cout << "\033c"; } //Sleep(2000); if (cn == u) { cout << "输入任意字符继续"; Sleep(1800); } system("cls"); cout << a[s] << endl; return; /* if(s==2){ cout<<"May be 2"<<endl; cn--; cout<<"剩余提示次数:"<<cn<<endl; sleep(500); cout << "\033c"; } */ } /* 这是一个c++小游戏。(程序自创,文章内容参考《牛津英汉双语读物·入门级·上<生存游戏>》) 1.1.0 版本升级点: 1.修复了一些乱码及a[24]、a[36]的文字问题 2.新增help功能 */ int main() { system("color 0E"); a[1] = "你名叫xx,正驾驶一架小型飞机飞越落基山脉。突然,发动机发出了奇怪的响声,飞机朝着一座山坠去。你的无线电失灵了,没有人知道你所在的位置。\n输入0继续"; a[2] = "你穿着外套,拿着威士忌和地图,过了大约20分钟。积雪很厚,你感到很冷。\n1你回到飞机上,拿了一些其他物品。\n2为了暖和一点,你喝了威士忌。"; a[3] = "你回去睡觉,再也没听到直升机的声响。第2天,你继续沿着河边走。"; a[4] = "你原路返回,出了隧道,走进乱石丛生的山谷。"; a[5] = "你吃了果子。虽然味道不好,但是你太饿了,还是吃了不少。你带了些果子在身上,过后可以吃。"; a[6] = "你穿着外套,拿着香蕉和打火机,走了大约20分钟。积雪很厚,你感到很冷。你回到树林,生起火堆。"; a[7] = "又到了晚上,但因为之前吃了鱼,你并没有觉得饿。你在树下搭了一座帐棚。早上醒来后,你听到了一阵响声。\n你跑出帐棚往天上看,发现有一架直升机。虽然你看得直升机,但因为树枝的遮挡,飞机上的人看不到你。飞机就要飞走了。\n1你追着直升机跑。\n2你回棚里睡觉。\n3你生起了火堆。 \n4你冲着直升机一边大声呼喊,一边挥动双臂。"; a[8] = "你顺着山谷走出很远,夜晚将要来临了。你在树林里生起了火,吃了香蕉。第2天早上,你感到很饿,必须找些东西吃。你在雪地上发现了动物的脚印,也许你可以猎杀这只动物作食物。\n1你沿着脚印追踪走去。\n2你很害怕大型动物。或许这只动物很危险,于是你向山下走去。"; a[9] = "你带着香蕉、打火机和地图走了几分钟,感到非常寒冷。\n1你生起火堆?。\n2你回到飞机上去取威士忌。"; a[10] = "时间到了下午。你开始觉得很不舒服。也许那些果子有毒。你走不动了,坐在雪地上,觉得越来越冷。"; a[11] = "你向右转,飞机撞到了树上。"; a[12] = "你横穿湖面,在冰上走。几分钟后,冰裂开了,你掉进了冰窟窿。"; a[13] = "你带着威士忌、打火机和香蕉走了几分钟,感到非常寒冷。\n1你喝了威士忌。\n2你回到飞机上,放下了威士忌,带上了外套。"; a[14] = "河面上结了冰,但中间有洞隙。你看到河里有鱼。也许你可以抓一条鱼吃。\n1你试着从冰隙间捉几条鱼。\n2在河边捉鱼很危险。你继续往前走。"; a[15] = "你向左转,想在雪地上着陆。飞机落在雪中,停了下来。你虽然安全了,但却身处山顶,天异常寒冷。天黑了下来。 \n1你待在飞机上。\n2你向山下走去。"; a[16] = "山谷的岩石很难攀爬,几分钟之后你就疲惫不堪了。\n1你继续沿着山谷走。\n2你往回走,出了山谷,进了隧道。"; a[17] = "你穿过树林向山下走,感觉饥肠辘辘。你看到有一棵树上结着没见过的果子。\n1你吃了果子。\n2你不吃果子。"; a[18] = "你小心地走上湖面。走了几百米后,脚下的冰开始晃动。\n1你继续在湖面上穿行。\n2你退了回去,然后绕着湖走。"; a[19] = "你重新生起火堆。大概两个小时后,你又听到了直升机的声响。这一次,飞机看到了烟,停在了你旁边的雪地上。这下你安全了。你乘飞机前往医院,可以在那里吃饭和休息。"; a[20] = "你极快地向林中坠去,但你可以让飞机向左转弯或向右转弯。右边是一些树,左边是厚厚的积雪。\n1你向右转。\n2你向左转。"; a[21] = "你继续沿着河走,感觉非常饥饿,必须找东西吃。树上有果子,河中有鱼。\n1你尝试着抓一条鱼。\n2你吃了一些果子。"; a[22] = "绳子断了。"; a[23] = "你继续在雪中跋涉。没有吃的东西,但你可以生火,还可以喝雪水。突然,你发现前面有一个结了冰的湖。\n1你横穿湖面。这样会快一些,你必须找点吃的东西。\n2你绕着湖?。你去寻找条河。"; a[24] = "你待在飞机上,但感到异常寒冷。你真的不想活了吗?"; a[25] = "你在飞机上待了四天,什么也看不到,什么也听不到。你必须下山。"; a[26] = "经过几十分钟的努力,你终于捉到了一条鱼。你又多捉了几条。你感到很冷,于是生起了火堆,烤了几条鱼吃。味道好极了。"; a[27] = "你朝山下走去。几分钟后看到前面有一条隧道。你的左侧还有一个布满岩石的山谷。\n1你沿着山谷走去。\n2你走进隧道。"; a[28] = "你绕着湖走。走约大了五公后,你发现了一条河。河水从湖中流出,向远处流去。\n1你继续绕着湖走。\n2你沿着河走去。"; a[29] = "你想下山。飞机上有一些东西,你可以随身带上几样。你会带哪些呢?\n1外套、威士忌和地图。\n2外套、香蕉和打火机。\n3香蕉、打火机和地图。\n4威士忌、打火机和香蕉。"; a[30] = "一整天,烟不停地升上天空,但是直升机没有出现。你等了一整天。第2天,你一大早就醒来了。\n1你重新生起火堆。\n2你沿着河走去。"; a[31] = "你追着直升机跑,但它飞得很快。你不得不往山上爬,在厚厚的雪中跋涉了一整天,但再也没找到那架直升机。"; a[32] = "你待在飞机附近。坐在一边,看着天,就这样过了两天。什么也没有发生。\n1你待在飞机附近。\n2你试着向山下走去。"; a[33] = "你走进隧道。漆黑一片。你看到有一盏灯,便点上了。"; a[34] = "为了暖和一点儿,你喝了威士忌,但并没有觉得暖和起来。你只是感到很累,筋疲力尽。"; a[35] = "你生起火堆,火堆冒出很多烟。你看着冲天的烟柱。"; a[36] = "你整晚都坐在树林里的火堆前。虽然天很冷,但火烧得很旺,你可以稍微睡一会。你需要想想天亮以后你可以做些什么。\n1你待在飞机附近。\n2你朝山下走去。"; a[37] = "你冲着直升机一边大声呼喊,一边挥动双臂。直升机掉头往回飞了一会,然后向天上飞去。\n1你追着直升机跑。\n2你回去睡觉。\n3你生起火堆。"; a[38] = "你绕着湖走了1整圈,筋疲力尽,没有找到任何事物。你只能沿着河走。"; a[39] = "你沿着脚印在树林中走了很远。脚印延伸到1棵大树的后面。你朝树后看去,看到了一只大熊。这肯定不是能吃的。你悄悄地离开了。"; a[40] = "你向洞的深处走,走了约5分钟,发现地上有一个很大的洞。1条很旧的绳向下直延伸到洞中。\n1你顺着绳子下到洞中。\n2你退回到隧道口。"; cn = 5; _start(); int s = 1; //cout << "\033c"; system("cls"); while (1) { system("color 0E"); int b, c = 0, d = 0, e; if (s == 1) { cout << a[1] << endl; s = 20; cin >> b; //cout << "\033c"; } else if (s == 2) { cout << a[2] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 29; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 3) { cout << a[3] << endl; cin >> b; s = 21; //cout << "\033c"; } else if (s == 4) { cout << a[4] << endl; cin >> b; s = 16; //cout << "\033c"; //system("cls"); } else if (s == 5) { cout << a[5] << endl; s = 10; cin >> b; //cout << "\033c"; } else if (s == 6) { cout << a[6] << endl; s = 36; cin >> b; //cout << "\033c"; } else if (s == 7) { cout << a[7] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } if (b == 4) { s = 37; } //cout << "\033c"; } else if (s == 8) { cout << a[8] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 39; } if (b == 2) { s = 17; } //cout << "\033c"; } else if (s == 9) { cout << a[9] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 36; } if (b == 2) { s = 34; } //cout << "\033c"; } else if (s == 10) { cout << a[10] << endl; cin >> b; s = 1; //cout << "\033c"; } else if (s == 11) { cout << a[s] << endl; cin >> b; //cout << "\033c"; s = 1; } else if (s == 12) { cout << a[12] << endl; cin >> b; //cout << "\033c"; } else if (s == 13) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 34; } if (b == 2) { s = 6; } //cout << "\033c"; } else if (s == 14) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 15) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 24; } if (b == 2) { s = 29; } //cout << "\033c"; } else if (s == 16) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 8; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 17) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 5; } if (b == 2) { s = 23; } //cout << "\033c"; } else if (s == 18) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 12; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 19) { cout << a[s] << endl; system("cls"); c_slowcout(" GAME OVER!",40,9); Sleep(300); break; //cout << "\033c"; } else if (s == 20) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 11; } if (b == 2) { s = 15; } //cout << "\033c"; } else if (s == 21) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 26; } if (b == 2) { s = 5; } //cout << "\033c"; } else if (s == 22) { cout << a[s] << endl; cin >> b; s = 1; //cout << "\033c"; } else if (s == 23) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 18; } if (b == 2) { s = 28; } //cout << "\033c"; } else if (s == 24) { cout << a[s] << endl; cin >> b; s = 29; //cout << "\033c"; } else if (s == 25) { cout << a[s] << endl; cin >> b; s = 27; //cout << "\033c"; } else if (s == 26) { cout << a[s] << endl; cin >> b; s = 7; //cout << "\033c"; } else if (s == 27) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 16; } if (b == 2) { s = 33; } //cout << "\033c"; } else if (s == 28) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 38; } if (b == 2) { s = 14; } //cout << "\033c"; } else if (s == 29) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 2; } if (b == 2) { s = 6; } if (b == 3) { s = 9; } if (b == 4) { s = 13; } //cout << "\033c"; } else if (s == 30) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 19; } if (b == 2) { s = 21; } //cout << "\033c"; } else if (s == 31) { cout << a[s] << endl; cin >> b; s = 23; //cout << "\033c"; } else if (s == 32) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 25; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 33) { cout << a[s] << endl; cin >> b; s = 40; //cout << "\033c"; } else if (s == 34) { cout << a[s] << endl; cin >> b; s = 1; //cout << "\033c"; } else if (s == 35) { cout << a[s] << endl; cin >> b; s = 30; //cout << "\033c"; } else if (s == 36) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 32; } if (b == 2) { s = 27; } //cout << "\033c"; } else if (s == 37) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 31; } if (b == 2) { s = 3; } if (b == 3) { s = 35; } //cout << "\033c"; } else if (s == 38) { cout << a[s] << endl; cin >> b; s = 14; //cout << "\033c"; } else if (s == 39) { cout << a[s] << endl; cin >> b; s = 17; //cout << "\033c"; } else if (s == 40) { cout << a[s] << endl; cin >> b; if (b == 5) { _help(s); cin >> b; } if (b == 1) { s = 22; } if (b == 2) { s = 4; } //cout << "\033c"; } if (b == 6) { if (_end() == 1) { cout << "退出中......"; Sleep(810); system("cls"); break; } } system("cls"); system("color 0E"); /* if(s==){ cout<<a[s]<<endl; cin>>b; cout << "\033c"; } */ } //cout << "\033c"; //cout << "\033c"; }
    0 回复
  • 2024-09-16 19:17
    贪吃蛇
    1 回复
  • 2024-09-16 19:16
    #include <stdio.h> #include <Windows.h> #include <stdlib.h> #include <time.h> #include <conio.h> #define ROW 22 //游戏区行数 #define COL 42 //游戏区列数 #define KONG 0 //标记空(什么也没有) #define WALL 1 //标记墙 #define FOOD 2 //标记食物 #define HEAD 3 //标记蛇头 #define BODY 4 //标记蛇身 #define UP 72 //方向键:上 #define DOWN 80 //方向键:下 #define LEFT 75 //方向键:左 #define RIGHT 77 //方向键:右 #define SPACE 32 //暂停 #define ESC 27 //退出 //蛇头 struct Snake { int len; //记录蛇身长度 int x; //蛇头横坐标 int y; //蛇头纵坐标 }snake; //蛇身 struct Body { int x; //蛇身横坐标 int y; //蛇身纵坐标 }body[ROW*COL]; //开辟足以存储蛇身的结构体数组 int face[ROW][COL]; //标记游戏区各个位置的状态 //隐藏光标 void HideCursor(); //光标跳转 void CursorJump(int x, int y); //初始化界面 void InitInterface(); //颜色设置 void color(int c); //从文件读取最高分 void ReadGrade(); //更新最高分到文件 void WriteGrade(); //初始化蛇 void InitSnake(); //随机生成食物 void RandFood(); //判断得分与结束 void JudgeFunc(int x, int y); //打印蛇与覆盖蛇 void DrawSnake(int flag); //移动蛇 void MoveSnake(int x, int y); //执行按键 void run(int x, int y); //游戏主体逻辑函数 void Game(); int max, grade; //全局变量 int main() { #pragma warning (disable:4996) //消除警告 max = 0, grade = 0; //初始化变量 system("title 贪吃蛇"); //设置cmd窗口的名字 system("mode con cols=84 lines=23"); //设置cmd窗口的大小 HideCursor(); //隐藏光标 ReadGrade(); //从文件读取最高分到max变量 InitInterface(); //初始化界面 InitSnake(); //初始化蛇 srand((unsigned int)time(NULL)); //设置随机数生成起点 RandFood(); //随机生成食物 DrawSnake(1); //打印蛇 Game(); //开始游戏 return 0; } //隐藏光标 void HideCursor() { CONSOLE_CURSOR_INFO curInfo; //定义光标信息的结构体变量 curInfo.dwSize = 1; //如果没赋值的话,光标隐藏无效 curInfo.bVisible = FALSE; //将光标设置为不可见 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄 SetConsoleCursorInfo(handle, &curInfo); //设置光标信息 } //光标跳转 void CursorJump(int x, int y) { COORD pos; //定义光标位置的结构体变量 pos.X = x; //横坐标 pos.Y = y; //纵坐标 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄 SetConsoleCursorPosition(handle, pos); //设置光标位置 } //初始化界面 void InitInterface() { color(6); //颜色设置为土黄色 for (int i = 0; i < ROW; i++) { for (int j = 0; j < COL; j++) { if (j == 0 || j == COL - 1) { face[i][j] = WALL; //标记该位置为墙 CursorJump(2 * j, i); printf("■"); } else if (i == 0 || i == ROW - 1) { face[i][j] = WALL; //标记该位置为墙 printf("■"); } else { face[i][j] = KONG; //标记该位置为空 } } } color(7); //颜色设置为白色 CursorJump(0, ROW); printf("当前得分:%d", grade); CursorJump(COL, ROW); printf("历史最高得分:%d", max); } //颜色设置 void color(int c) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c); //颜色设置 //注:SetConsoleTextAttribute是一个API(应用程序编程接口) } //从文件读取最高分 void ReadGrade() { FILE* pf = fopen("贪吃蛇最高得分记录.txt", "r"); //以只读的方式打开文件 if (pf == NULL) //打开文件失败 { pf = fopen("贪吃蛇最高得分记录.txt", "w"); //以只写的方式打开文件 fwrite(&max, sizeof(int), 1, pf); //将max写入文件(此时max为0),即将最高得分初始化为0 } fseek(pf, 0, SEEK_SET); //使文件指针pf指向文件开头 fread(&max, sizeof(int), 1, pf); //读取文件当中的最高得分到max当中 fclose(pf); //关闭文件 pf = NULL; //文件指针及时置空 } //更新最高分到文件 void WriteGrade() { FILE* pf = fopen("贪吃蛇最高得分记录.txt", "w"); //以只写的方式打开文件 if (pf == NULL) //打开文件失败 { printf("保存最高得分记录失败\n"); exit(0); } fwrite(&grade, sizeof(int), 1, pf); //将本局游戏得分写入文件当中 fclose(pf); //关闭文件 pf = NULL; //文件指针及时置空 } //初始化蛇 void InitSnake() { snake.len = 1; //蛇的身体长度初始化为1 snake.x = COL / 2; //蛇头位置的横坐标 snake.y = ROW / 2; //蛇头位置的纵坐标 //蛇身坐标的初始化 body[0].x = COL / 2 - 1; body[0].y = ROW / 2; body[1].x = COL / 2 - 2; body[1].y = ROW / 2; //将蛇头和蛇身位置进行标记 face[snake.y][snake.x] = HEAD; face[body[0].y][body[0].x] = BODY; face[body[1].y][body[1].x] = BODY; } //随机生成食物 void RandFood() { int i, j; do { //随机生成食物的横纵坐标 i = rand() % ROW; j = rand() % COL; } while (face[i][j] != KONG); //确保生成食物的位置为空,若不为空则重新生成 face[i][j] = FOOD; //将食物位置进行标记 color(12); //颜色设置为红色 CursorJump(2 * j, i); //光标跳转到生成的随机位置处 printf("●"); //打印食物 do { //随机生成食物的横纵坐标 i = rand() % ROW; j = rand() % COL; } while (face[i][j] != KONG); //确保生成食物的位置为空,若不为空则重新生成 face[i][j] = FOOD; //将食物位置进行标记 color(12); //颜色设置为红色 CursorJump(2 * j, i); //光标跳转到生成的随机位置处 printf("●"); //打印食物 do { //随机生成食物的横纵坐标 i = rand() % ROW; j = rand() % COL; } while (face[i][j] != KONG); //确保生成食物的位置为空,若不为空则重新生成 face[i][j] = FOOD; //将食物位置进行标记 color(12); //颜色设置为红色 CursorJump(2 * j, i); //光标跳转到生成的随机位置处 printf("●"); //打印食物 do { //随机生成食物的横纵坐标 i = rand() % ROW; j = rand() % COL; } while (face[i][j] != KONG); //确保生成食物的位置为空,若不为空则重新生成 face[i][j] = FOOD; //将食物位置进行标记 color(12); //颜色设置为红色 CursorJump(2 * j, i); //光标跳转到生成的随机位置处 printf("●"); //打印食物 do { //随机生成食物的横纵坐标 i = rand() % ROW; j = rand() % COL; } while (face[i][j] != KONG); //确保生成食物的位置为空,若不为空则重新生成 face[i][j] = FOOD; //将食物位置进行标记 color(12); //颜色设置为红色 CursorJump(2 * j, i); //光标跳转到生成的随机位置处 printf("●"); //打印食物 } //判断得分与结束 void JudgeFunc(int x, int y) { //若蛇头即将到达的位置是食物,则得分 if (face[snake.y + y][snake.x + x] == FOOD) { snake.len++; //蛇身加长 grade += 10; //更新当前得分 color(7); //颜色设置为白色 CursorJump(0, ROW); printf("当前得分:%d", grade); //重新打印当前得分 RandFood(); //重新随机生成食物 } //若蛇头即将到达的位置是墙或者蛇身,则游戏结束 else if (face[snake.y + y][snake.x + x] == WALL || face[snake.y + y][snake.x + x] == BODY) { Sleep(1000); //留给玩家反应时间 system("cls"); //清空屏幕 color(7); //颜色设置为白色 CursorJump(2 * (COL / 3), ROW / 2 - 3); if (grade > max) { printf("恭喜你打破最高记录,最高记录更新为%d", grade); WriteGrade(); } else if (grade == max) { printf("与最高记录持平,加油再创佳绩", grade); } else { printf("请继续加油,当前与最高记录相差%d", max - grade); } CursorJump(2 * (COL / 3), ROW / 2); printf("GAME OVER"); while (1) //询问玩家是否再来一局 { char ch; CursorJump(2 * (COL / 3), ROW / 2 + 3); printf("再来一局?(y/n):"); scanf("%c", &ch); if (ch == 'y' || ch == 'Y') { system("cls"); main(); } else if (ch == 'n' || ch == 'N') { CursorJump(2 * (COL / 3), ROW / 2 + 5); exit(0); } else { CursorJump(2 * (COL / 3), ROW / 2 + 5); printf("选择错误,请再次选择"); } } } } //打印蛇与覆盖蛇 void DrawSnake(int flag) { if (flag == 1) //打印蛇 { color(10); //颜色设置为绿色 CursorJump(2 * snake.x, snake.y); printf("■"); //打印蛇头 for (int i = 0; i < snake.len; i++) { CursorJump(2 * body[i].x, body[i].y); printf("□"); //打印蛇身 } } else //覆盖蛇 { if (body[snake.len - 1].x != 0) //防止len++后将(0, 0)位置的墙覆盖 { //将蛇尾覆盖为空格即可 CursorJump(2 * body[snake.len - 1].x, body[snake.len - 1].y); printf(" "); } } } //移动蛇 void MoveSnake(int x, int y) { DrawSnake(0); //先覆盖当前所显示的蛇 face[body[snake.len - 1].y][body[snake.len - 1].x] = KONG; //蛇移动后蛇尾重新标记为空 face[snake.y][snake.x] = BODY; //蛇移动后蛇头的位置变为蛇身 //蛇移动后各个蛇身位置坐标需要更新 for (int i = snake.len - 1; i > 0; i--) { body[i].x = body[i - 1].x; body[i].y = body[i - 1].y; } //蛇移动后蛇头位置信息变为第0个蛇身的位置信息 body[0].x = snake.x; body[0].y = snake.y; //蛇头的位置更改 snake.x = snake.x + x; snake.y = snake.y + y; DrawSnake(1); //打印移动后的蛇 } //执行按键 void run(int x, int y) { int t = 0; while (1) { if (t == 0) t = 20000; //这里t越小,蛇移动速度越快(可以根据次设置游戏难度) while (--t) { if (kbhit() != 0) //若键盘被敲击,则退出循环 break; } if (t == 0) //键盘未被敲击 { JudgeFunc(x, y); //判断到达该位置后,是否得分与游戏结束 MoveSnake(x, y); //移动蛇 } else //键盘被敲击 { break; //返回Game函数读取键值 } } } //游戏主体逻辑函数 void Game() { int n = RIGHT; //开始游戏时,默认向后移动 int tmp = 0; //记录蛇的移动方向 goto first; //第一次进入循环先向默认方向前进 while (1) { n = getch(); //读取键值 //在执行前,需要对所读取的按键进行调整 switch (n) { case UP: case DOWN: //如果敲击的是“上”或“下” if (tmp != LEFT&&tmp != RIGHT) //并且上一次蛇的移动方向不是“左”或“右” { n = tmp; //那么下一次蛇的移动方向设置为上一次蛇的移动方向 } break; case LEFT: case RIGHT: //如果敲击的是“左”或“右” if (tmp != UP&&tmp != DOWN) //并且上一次蛇的移动方向不是“上”或“下” { n = tmp; //那么下一次蛇的移动方向设置为上一次蛇的移动方向 } case SPACE: case ESC: case 'r': case 'R': break; //这四个无需调整 default: n = tmp; //其他键无效,默认为上一次蛇移动的方向 break; } first: //第一次进入循环先向默认方向前进 switch (n) { case UP: //方向键:上 run(0, -1); //向上移动(横坐标偏移为0,纵坐标偏移为-1) tmp = UP; //记录当前蛇的移动方向 break; case DOWN: //方向键:下 run(0, 1); //向下移动(横坐标偏移为0,纵坐标偏移为1) tmp = DOWN; //记录当前蛇的移动方向 break; case LEFT: //方向键:左 run(-1, 0); //向左移动(横坐标偏移为-1,纵坐标偏移为0) tmp = LEFT; //记录当前蛇的移动方向 break; case RIGHT: //方向键:右 run(1, 0); //向右移动(横坐标偏移为1,纵坐标偏移为0) tmp = RIGHT; //记录当前蛇的移动方向 break; case SPACE: //暂停 system("pause>nul"); //暂停后按任意键继续 break; case ESC: //退出 system("cls"); //清空屏幕 color(7); //颜色设置为白色 CursorJump(COL - 8, ROW / 2); printf(" 游戏结束 "); CursorJump(COL - 8, ROW / 2 + 2); exit(0); case 'r': case 'R': //重新开始 system("cls"); //清空屏幕 main(); //重新执行主函数 } } }
    1 回复
  • 2024-09-15 11:53
    6……………………………………………………………………………………………………………………………………………………………………………………………………
    1 回复
  • 2024-09-08 12:15
    #include<bits/stdc++.h> using namespace std; int a[100]; int main(){ string s; getline(cin,s); for(int i=0;i<s.size();i++){ a[(int)(s[i]-'a')]++; } int maxn =-1,k; for(int i=0;i<26;i++){ if(a[i]>maxn){ k=i; maxn=a[i]; } } cout<<(char)(k+'a')<<" "<<maxn; return 0; }
    1 回复
  • 2024-09-08 10:41
    @a(O(∩_∩)O~2587164)[13888510299] 在“using namespace std;"这一行后面加上: string to_string(long long int s){ long long int u=s; char ansstr[100]={}; long long int r=u; int i=0; while(r>0){ r=r/10; i++; } //cout<<i<<endl; i--; while(u>0){ ansstr[i]=(u%10+'0'); i--; //cout<<u%10<<endl; //cout<<i+1<<' '<<ansstr[i+1]<<endl; u=u/10; } //cout<<ansstr<<endl; return ansstr; }
    0 回复
  • 2024-09-04 21:14
    @a(O(∩_∩)O~679489)[gyr123] 有问题,第262行,417行,423行,咋回事???????????
    0 回复
  • 2024-09-02 20:39
    @a(O(∩_∩)O~2118863)[疯狂的小铃铛] 是c++
    0 回复
  • 2024-08-25 21:58
    @a(O(∩_∩)O~679489)[gyr123] 建议在开头加上以下代码: string to_string(long long int s){ long long int u=s; char ansstr[100]={}; long long int r=u; int i=0; while(r>0){ r=r/10; i++; } //cout<<i<<endl; i--; while(u>0){ ansstr[i]=(u%10+'0'); i--; //cout<<u%10<<endl; //cout<<i+1<<' '<<ansstr[i+1]<<endl; u=u/10; } //cout<<ansstr<<endl; return ansstr; }
    0 回复
  • 2024-08-25 20:30
    @a(O(∩_∩)O~2118863)[疯狂的小铃铛] c++文字游戏
    0 回复
  • 2024-08-25 19:16
    @a(O(∩_∩)O~679489)[gyr123] 正常情况,代码不太完善。
    0 回复
  • 2024-08-25 17:26
    这东西怎么玩啊?是打字游戏吗?
    1 回复
  • 2024-08-25 12:10
    你的显示事会一闪一闪的,不知道怎么回事
    1 回复
1 2 下一页 末页 到第 总共 2 页
有账号去 登录 ,无账号 去打字 可自动生成!
还未登录,登录