1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 额 我要说一件重要的事+用C++编写一个走迷宫小游戏(1.1版)

额 我要说一件重要的事+用C++编写一个走迷宫小游戏(1.1版)

时间:2024-02-14 13:42:04

相关推荐

额 我要说一件重要的事+用C++编写一个走迷宫小游戏(1.1版)

看到标题大家应该也知道了,我今天要说一件事情,那就是我是一个小学生。

我马上就要上初一了,最近我在网上冲浪的时候,发现了一个叫CSDN的平台,我也正式成为了一个up主。

可能刚开始写没有多少人会支持我,因为我才学c++两年多,可能有的地方有问题,但我会把我热爱编程的这份热情传递下去,即使没多少人支持我。

这已经是我写的第4篇博客了,想想还是挺激动的。

回归正题

昨天写完那篇用C++编写一个走迷宫小游戏(1.0版)的博客后我就在想今天1.1版的事,好不容易今天写好了,下面给大家讲解一下。

话不多说,先放资源:C++走迷宫游戏(原创)转载请标注版权-C++文档类资源-CSDN下载

先来看看1.1版本更新了啥:

目录

回归正题

1.加载界面优化

2.玩法说明更改

3.地图

4.关卡设置

1.加载界面优化

首先我们来看看1.0版本的加载系统:

C++走迷宫1.0版加载界面

看不了点着:

这……

也太简陋了吧?

优化其实很简单,比如你可以模拟网上那种有状态栏的:

加载中■■■■■■■■■100%

或是像我的世界minecraft进入游戏前的那种:

加载世界中……

生成地形中……

而我在1.1版本中是把两者结合:

生成地图中◎◎◎◎◎100%

代码:

system("cls");//清屏 cout<<"第一关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");

效果:

另外小伙伴们可以根据自己的喜好设置、修改哦~

2.玩法说明更改

因为是1.1版了,所以玩法说明内容也要改。

这里我改成了这样:

其实这里的内容小伙伴们可以自己写,也可以改个颜色,改个输出样式,都行。

目前代码:

/*作者:瑞 制作日期:/7/29/13:42:51适合编译环境:DEV-C++ */ #include<bits/stdc++.h>#include<conio.h>#include<windows.h>using namespace std;char a[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};int main(){system("title 走迷宫1.1版本");//标题 system("mode con cols=60 lines=37");//设置窗口大小string s="|走迷宫|";string s1="| 开 始 游 戏 |";string s2="| 玩 法 说 明 |";cout<<"@==========================================================@"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;for(int i=0;i<s.size();i++){cout<<s[i];Sleep(10);//Sleep函数延长时间 }cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s1.size();i++){cout<<s1[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s2.size();i++){cout<<s2[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"|(按‘k’开始游戏,按‘b’看玩法说明) |"<<endl;cout<<"@==========================================================@"<<endl;char ch;ch=getch();//提取键盘指令 if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="预告:1.2版本将会为迷宫增加难度,敬请期待。";string c3="更新:增加了5个关卡,难度从低到高。美化了加载系统。";cout<<"版本:1.1"<<endl;cout<<"按1直接显示所有内容,否则按2。"<<endl;int q;q=getch();if(q=='1'){cout<<c3<<endl<<c<<endl<<c1<<endl<<c2<<endl;} if(q=='2'){for(int i=0;i<c3.size();i++){cout<<c3[i];Sleep(100);//延时 } cout<<endl;for(int i=0;i<c.size();i++){cout<<c[i];Sleep(100);} cout<<endl;for(int i=0;i<c1.size();i++){cout<<c1[i];Sleep(100);} cout<<endl;for(int i=0;i<c2.size();i++){cout<<c2[i];Sleep(100);} cout<<endl;}cout<<"按y开始游戏。"; ch=getch();}if(ch=='k'||ch=='y'){system("cls");//清屏 cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=24;i++){puts(a[i]);//将地图一行一行输出 }char b;int x=1,y=2;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b=getch();if(a[x][y+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!";char ch1;ch1=getch();if(ch1=='y')break;else if(ch1=='b')return 0;}if(b=='a'){ if(a[x][y-1]!='#'){a[x][y]=' ';y--;a[x][y]='*'; }}if(b=='s'){if(a[x+1][y]!='#'){a[x][y]=' ';x++;a[x][y]='*';}}if(b=='d'){if(a[x][y+1]!='#'){a[x][y]=' ';y++;a[x][y]='*';}}if(b=='w'){if(a[x-1][y]!='#'){a[x][y]=' ';x--;a[x][y]='*';}}if(b=='o'){//退出 return 0;}system("cls");for(int i=0;i<=7;i++){puts(a[i]);}}}return 0;}

3.地图

在1.0版本,我们只加入了一张地图:

char a[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};

只有一个地图的游戏,未免也太单调了。

所以我们加几个,我这里只加了4张。(手搓,累死了)。

代码:

char a[50][50]={"############","#* #","# ######## #","# # #","##### ## # #","# # # #####","## # #0","############"};char a1[50][50]={"############","#* #","########## #","##","# ##########","#0","############",};char a2[50][50]={"################","#* ##","# ## ### # ## ##","# # # # #","## ### # # # # #","# # # # # # #","# # # # # ## ##","# ### ### 0","################",};char a3[50][50]={"#####################","#*# # # 0","# ### # # ### # # # #","# # ## # # #","## # #### # #### #","# # # # ###","# # # # # # #","# # # ####### #### #","# # ##","#####################",};char a4[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};

当然,大家还可以自己加地图。(就是不知道DEV可撑得住,可怜的DEV-C++!)

目前已写:

/*作者:瑞 制作日期:/7/29/13:42:51适合编译环境:DEV-C++ */ #include<bits/stdc++.h>#include<conio.h>#include<windows.h>using namespace std;char a[50][50]={"############","#* #","# ######## #","# # #","##### ## # #","# # # #####","## # #0","############"};char a1[50][50]={"############","#* #","########## #","##","# ##########","#0","############",};char a2[50][50]={"################","#* ##","# ## ### # ## ##","# # # # #","## ### # # # # #","# # # # # # #","# # # # # ## ##","# ### ### 0","################",};char a3[50][50]={"#####################","#*# # # 0","# ### # # ### # # # #","# # ## # # #","## # #### # #### #","# # # # ###","# # # # # # #","# # # ####### #### #","# # ##","#####################",};char a4[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};int main(){system("title 走迷宫1.1版本");//标题 system("mode con cols=60 lines=37");//设置窗口大小string s="|走迷宫|";string s1="| 开 始 游 戏 |";string s2="| 玩 法 说 明 |";cout<<"@==========================================================@"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;for(int i=0;i<s.size();i++){cout<<s[i];Sleep(10);//Sleep函数延长时间 }cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s1.size();i++){cout<<s1[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s2.size();i++){cout<<s2[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"|(按‘k’开始游戏,按‘b’看玩法说明) |"<<endl;cout<<"@==========================================================@"<<endl;char ch;ch=getch();//提取键盘指令 if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="预告:1.2版本将会为迷宫增加难度,敬请期待。";string c3="更新:增加了5个关卡,难度从低到高。美化了加载系统。";cout<<"版本:1.1"<<endl;cout<<"按1直接显示所有内容,否则按2。"<<endl;int q;q=getch();if(q=='1'){cout<<c3<<endl<<c<<endl<<c1<<endl<<c2<<endl;} if(q=='2'){for(int i=0;i<c3.size();i++){cout<<c3[i];Sleep(100);//延时 } cout<<endl;for(int i=0;i<c.size();i++){cout<<c[i];Sleep(100);} cout<<endl;for(int i=0;i<c1.size();i++){cout<<c1[i];Sleep(100);} cout<<endl;for(int i=0;i<c2.size();i++){cout<<c2[i];Sleep(100);} cout<<endl;}cout<<"按y开始游戏。"; ch=getch();}if(ch=='k'||ch=='y'){system("cls");//清屏 cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=7;i++){puts(a[i]);//将地图一行一行输出 }char b;int x=1,y=1;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b=getch();if(a[x][y+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!";char ch1;ch1=getch();if(ch1=='y')break;else if(ch1=='b')return 0;}if(b=='a'){ if(a[x][y-1]!='#'){a[x][y]=' ';y--;a[x][y]='*'; }}if(b=='s'){if(a[x+1][y]!='#'){a[x][y]=' ';x++;a[x][y]='*';}}if(b=='d'){if(a[x][y+1]!='#'){a[x][y]=' ';y++;a[x][y]='*';}}if(b=='w'){if(a[x-1][y]!='#'){a[x][y]=' ';x--;a[x][y]='*';}}if(b=='o'){//退出 return 0;}system("cls");for(int i=0;i<=7;i++){puts(a[i]);}}}return 0;}

4.关卡设置

有地图,就有关卡。

五个地图,五个关卡。

中间加个过渡就行了。

代码:

system("cls");//清屏 cout<<"第一关";Sleep(2000);

总代码:

/*作者:瑞 制作日期:/7/29/13:42:51适合编译环境:DEV-C++ */ #include<bits/stdc++.h>#include<conio.h>#include<windows.h>using namespace std;char a[50][50]={"############","#* #","# ######## #","# # #","##### ## # #","# # # #####","## # #0","############"};char a1[50][50]={"############","#* #","########## #","##","# ##########","#0","############",};char a2[50][50]={"################","#* ##","# ## ### # ## ##","# # # # #","## ### # # # # #","# # # # # # #","# # # # # ## ##","# ### ### 0","################",};char a3[50][50]={"#####################","#*# # # 0","# ### # # ### # # # #","# # ## # # #","## # #### # #### #","# # # # ###","# # # # # # #","# # # ####### #### #","# # ##","#####################",};char a4[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};int main(){system("title 走迷宫1.1版本");//标题 system("mode con cols=60 lines=37");//设置窗口大小string s="|走迷宫|";string s1="| 开 始 游 戏 |";string s2="| 玩 法 说 明 |";cout<<"@==========================================================@"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;for(int i=0;i<s.size();i++){cout<<s[i];Sleep(10);//Sleep函数延长时间 }cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s1.size();i++){cout<<s1[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s2.size();i++){cout<<s2[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"|(按‘k’开始游戏,按‘b’看玩法说明) |"<<endl;cout<<"@==========================================================@"<<endl;char ch;ch=getch();//提取键盘指令 if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="预告:1.2版本将会为迷宫增加难度,敬请期待。";string c3="更新:增加了5个关卡,难度从低到高。美化了加载系统。";cout<<"版本:1.1"<<endl;cout<<"按1直接显示所有内容,否则按2。"<<endl;int q;q=getch();if(q=='1'){cout<<c3<<endl<<c<<endl<<c1<<endl<<c2<<endl;} if(q=='2'){for(int i=0;i<c3.size();i++){cout<<c3[i];Sleep(100);//延时 } cout<<endl;for(int i=0;i<c.size();i++){cout<<c[i];Sleep(100);} cout<<endl;for(int i=0;i<c1.size();i++){cout<<c1[i];Sleep(100);} cout<<endl;for(int i=0;i<c2.size();i++){cout<<c2[i];Sleep(100);} cout<<endl;}cout<<"按y开始游戏。"; ch=getch();}if(ch=='k'||ch=='y'){system("cls");//清屏 cout<<"第一关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=7;i++){puts(a[i]);//将地图一行一行输出 }char b;int x=1,y=1;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b=getch();if(a[x][y+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!是否进入下一关?(y进入,b退出)";char ch1;ch1=getch();if(ch1=='y')break;else if(ch1=='b')return 0;}if(b=='a'){ if(a[x][y-1]!='#'){a[x][y]=' ';y--;a[x][y]='*'; }}if(b=='s'){if(a[x+1][y]!='#'){a[x][y]=' ';x++;a[x][y]='*';}}if(b=='d'){if(a[x][y+1]!='#'){a[x][y]=' ';y++;a[x][y]='*';}}if(b=='w'){if(a[x-1][y]!='#'){a[x][y]=' ';x--;a[x][y]='*';}}if(b=='o'){//退出 return 0;}system("cls");for(int i=0;i<=7;i++){puts(a[i]);}}system("cls");cout<<"第二关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=6;i++){puts(a1[i]);//将地图一行一行输出 }char b1;int x1=1,y1=1;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b1=getch();if(a1[x1][y1+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!是否进入下一关?(y进入,b退出)";char ch2;ch2=getch();if(ch2=='y')break;else if(ch2=='b')return 0;}if(b1=='a'){ if(a1[x1][y1-1]!='#'){a1[x1][y1]=' ';y1--;a1[x1][y1]='*'; }}if(b1=='s'){if(a1[x1+1][y1]!='#'){a1[x1][y1]=' ';x1++;a1[x1][y1]='*';}}if(b1=='d'){if(a1[x1][y1+1]!='#'){a1[x1][y1]=' ';y1++;a1[x1][y1]='*';}}if(b1=='w'){if(a1[x1-1][y1]!='#'){a1[x1][y1]=' ';x1--;a1[x1][y1]='*';}}if(b1=='o'){//退出 return 0;}system("cls");for(int i=0;i<=6;i++){puts(a1[i]);}}system("cls");cout<<"第三关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=8;i++){puts(a2[i]);//将地图一行一行输出 }char b2;int x2=1,y2=1;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b2=getch();if(a2[x2][y2+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!是否进入下一关?(y进入,b退出)";char ch3;ch3=getch();if(ch3=='y')break;else if(ch3=='b')return 0;}if(b2=='a'){ if(a2[x2][y2-1]!='#'){a2[x2][y2]=' ';y2--;a2[x2][y2]='*'; }}if(b2=='s'){if(a2[x2+1][y2]!='#'){a2[x2][y2]=' ';x2++;a2[x2][y2]='*';}}if(b2=='d'){if(a2[x2][y2+1]!='#'){a2[x2][y2]=' ';y2++;a2[x2][y2]='*';}}if(b2=='w'){if(a2[x2-1][y2]!='#'){a2[x2][y2]=' ';x2--;a2[x2][y2]='*';}}if(b2=='o'){//退出 return 0;}system("cls");for(int i=0;i<=8;i++){puts(a2[i]);}}system("cls");cout<<"第四关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=9;i++){puts(a3[i]);//将地图一行一行输出 }char b3;int x3=1,y3=1;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b3=getch();if(a3[x3][y3+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!是否进入下一关?(y进入,b退出)";char ch4;ch4=getch();if(ch4=='y')break;else if(ch4=='b')return 0;}if(b3=='a'){ if(a3[x3][y3-1]!='#'){a3[x3][y3]=' ';y3--;a3[x3][y3]='*'; }}if(b3=='s'){if(a3[x3+1][y3]!='#'){a3[x3][y3]=' ';x3++;a3[x3][y3]='*';}}if(b3=='d'){if(a3[x3][y3+1]!='#'){a3[x3][y3]=' ';y3++;a3[x3][y3]='*';}}if(b3=='w'){if(a3[x3-1][y3]!='#'){a3[x3][y3]=' ';x3--;a3[x3][y3]='*';}}if(b3=='o'){//退出 return 0;}system("cls");for(int i=0;i<=9;i++){puts(a3[i]);}}system("cls");cout<<"第五关";Sleep(2000);system("cls");cout<<"加载代码中";Sleep(2000);system("cls");cout<<"加载代码中 ◎ 20%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎ 40%";Sleep(2000);system("cls");cout<<"加载地图中 ◎◎◎60%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎ 80%";Sleep(2000);system("cls");cout<<"生成地图中 ◎◎◎◎◎ 100%";Sleep(2000);system("cls");cout<<"完成!!!";Sleep(2000);system("cls");for(int i=0;i<=24;i++){puts(a4[i]);//将地图一行一行输出 }char b4;int x4=1,y4=2;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b4=getch();if(a4[x4][y4+1]=='0'){//判断是否到达终点 system("cls");string e="恭喜你通关了走迷宫游戏,如果好玩不妨动动小手,给作者点个赞,加个关注吧!";for(int i=0;i<e.size();i++){cout<<e[i];Sleep(100);}cout<<endl;cout<<"制作:瑞,CSDN"<<endl<<"1.2版本待推出……"; return 0;}if(b4=='a'){ if(a4[x4][y4-1]!='#'){a4[x4][y4]=' ';y4--;a4[x4][y4]='*'; }}if(b4=='s'){if(a4[x4+1][y4]!='#'){a4[x4][y4]=' ';x4++;a4[x4][y4]='*';}}if(b4=='d'){if(a4[x4][y4+1]!='#'){a4[x4][y4]=' ';y4++;a4[x4][y4]='*';}}if(b4=='w'){if(a4[x4-1][y4]!='#'){a4[x4][y4]=' ';x4--;a4[x4][y4]='*';}}if(b4=='o'){//退出 return 0;}system("cls");for(int i=0;i<=24;i++){puts(a4[i]);}}}return 0;}

最后再附上1.0版代码:

/*作者:瑞 制作日期:/7/28/15:32:42适合编译环境:DEV-C++ */ #include<bits/stdc++.h>#include<conio.h>#include<windows.h>using namespace std;int main(){system("title 走迷宫");//标题 system("mode con cols=60 lines=37");//设置窗口大小string s="|走迷宫|";string s1="| 开 始 游 戏 |";string s2="| 玩 法 说 明 |";string s3="| 关 卡 选 择 |";cout<<"@==========================================================@"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;for(int i=0;i<s.size();i++){cout<<s[i];Sleep(10);//Sleep函数延长时间 }cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s1.size();i++){cout<<s1[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;for(int i=0;i<s2.size();i++){cout<<s2[i];Sleep(10);}cout<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"| |"<<endl;cout<<"|(按‘k’开始游戏,按‘b’看玩法说明) |"<<endl;cout<<"@==========================================================@"<<endl;char ch;ch=getch();//提取键盘指令 if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="预告:1.1版本将会为迷宫增加难度,敬请期待。";cout<<"版本:1.0"<<endl;cout<<"按1直接显示所有内容,否则按2。"<<endl;int q;q=getch();if(q=='1'){cout<<c<<endl<<c1<<endl<<c2<<endl;} if(q=='2'){for(int i=0;i<c.size();i++){cout<<c[i];Sleep(100);//延时 } cout<<endl;for(int i=0;i<c1.size();i++){cout<<c1[i];Sleep(100);} cout<<endl;for(int i=0;i<c2.size();i++){cout<<c2[i];Sleep(100);} cout<<endl;}cout<<"按y开始游戏。"; ch=getch();}if(ch=='k'||ch=='y'){system("cls");//清屏 for(int i=1;i<=2;i++){cout<<" Loading";for(int j=1;j<=3;j++){cout<<'.';Sleep(500);}system("cls");}char a[210][210]={//地图(手搓,累死了) "##################################################","##* ## ## ##","## ########## ## ###### ###### ###### ######","######## #### ####","########## ########## ## ## ###### ###### ##","###### ###### ##","## ## ########## ## ########## ########## ##","## ## ## ######","## ########## ###### ###### ## ## ###### ##","#### ## ## #### ##","########## ###### ############## ###### ## ##","########## ## ##","## ## ###### ###### ###### ########## ## ##","## ## ###### #### ## ##","## ###### ###### ###### ########## ## ## ##","## ## ###### ## ##","################## ## ########## ###### ######","############","## ###### ## ###### ## ## ############## ##","## ###### ####","## ############## ################## ## ######","###### ## ####","## ###### ########## ############## ###### ##","#### ## 00","##################################################",};for(int i=0;i<=24;i++){puts(a[i]);//将地图一行一行输出 }char b;int x=1,y=2;//玩家初始坐标 //wasd移动 while(1){//重复运动 cout<<"wasd上下左右移动,o退出"<<endl; b=getch();if(a[x][y+1]=='0'){//判断是否到达终点 system("cls");cout<<"恭喜你走出迷宫!获胜!";return 0; }if(b=='a'){ if(a[x][y-1]!='#'){a[x][y]=' ';y--;a[x][y]='*'; }}if(b=='s'){if(a[x+1][y]!='#'){a[x][y]=' ';x++;a[x][y]='*';}}if(b=='d'){if(a[x][y+1]!='#'){a[x][y]=' ';y++;a[x][y]='*';}}if(b=='w'){if(a[x-1][y]!='#'){a[x][y]=' ';x--;a[x][y]='*';}}if(b=='o'){//退出 return 0;}system("cls");for(int i=0;i<=24;i++){puts(a[i]);}}}return 0;}

如果还有小伙伴不知道1.0版怎么写,可以去看看我的这篇博客:

用C++编写一个走迷宫游戏(1.0版)_ 瑞的博客-CSDN博客

最后放上1.0和1.1版下载链接:

1.1:C++走迷宫游戏(原创)转载请标注版权-C++文档类资源-CSDN下载

1.0:c++走迷宫(原创作品)如要转载请标版权-其他文档类资源-CSDN下载

好了,最后我们来做个投票:你的博客是不是经常没人浏览?

最后,加个关注吧!我才写第四篇博客,给个鼓励吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。