生存游戏c++代码

3,2,1,直接上代码

#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.0-------------",100,1);
cout << endl;
Sleep(980);
c_slowcout("1.1.0(2改版)版本升级点: \n", 89,2);
Sleep(800);
/*
cout << "1.修复了一些乱码及文字问题" << endl;
Sleep(510);
cout << "2.新增彩色页面 \n";
Sleep(500);
*/
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";
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值