看到标题大家应该也知道了,我今天要说一件事情,那就是我是一个小学生。
我马上就要上初一了,最近我在网上冲浪的时候,发现了一个叫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下载
好了,最后我们来做个投票:你的博客是不是经常没人浏览?
最后,加个关注吧!我才写第四篇博客,给个鼓励吧!