刚刚写完了一篇博客,不久就得到了回应,还收获了一个粉丝,并且我的一个粉丝“[PE]经典八炮”给我发了个666,即使只有三个字,三个粉丝,我也很高兴!

于是我决定趁热打铁,把我们的走迷宫小游戏1.2版本,也是最后一个版本给写完。当然,我明天还会写另一个小游戏的代码。

先放上资源:c++走迷宫1.2最终版-C++文档类资源-CSDN下载

话不多说,直接开始:

1.更新内容

老样子,玩法内容要改一下,因为版本升级了。

代码:

if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="说明:此为走迷宫最终版本。";string c3="更新:增加了换肤功能。";cout<<"版本:1.2"<<endl;//注意,1.2版本了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();}

截至目前,我们写了:

/*作者:瑞 制作日期:2022/7/29/18:04:40适合编译环境: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.2最终版本");//标题 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="说明:此为走迷宫最终版本。";string c3="更新:增加了换肤功能。";cout<<"版本:1.2"<<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'||ch=='q'){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;
} 

2.改皮肤(就是改颜色)

改颜色,很简单,有很多种方法,system("color")是最典型的一种,感兴趣的小伙伴可以去我的另一篇博客教你如何用c++写2D版我的世界(1)——续_ 瑞的博客-CSDN博客,在那篇博客里我详细的讲了几种改变颜色的方法。

这里我们用简单的system("color")。

给大家贴出一张颜色编码对照表:

设置默认的控制台前景和背景颜色。COLOR [attr]attr        指定控制台输出的颜色属性。颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:0 = 黑色       8 = 灰色1 = 蓝色       9 = 淡蓝色2 = 绿色       A = 淡绿色3 = 浅绿色     B = 淡浅绿色4 = 红色       C = 淡红色5 = 紫色       D = 淡紫色6 = 黄色       E = 淡黄色7 = 白色       F = 亮白色如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台
窗口、/T 命令行开关或 DefaultColor 注册表
值。如果尝试使用相同的
前景和背景颜色来执行COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。

然后先把换皮肤这部分的代码贴出来:

if(ch=='d'||ch=='e'){system("cls");cout<<"请选择皮肤:"<<endl;cout<<"1.【日间色】"<<endl<<"2.【夜间色】"<<endl<<"3.【黑客】"<<endl<<"4.【科幻】"<<endl<<"5.【紫水晶】"<<endl;cout<<"开始游戏请按q,换肤请输入序号。";char sh;while(1){sh=getch();if(sh-'0'==1)system("color f0");else if(sh-'0'==2)system("color 0f");else if(sh-'0'==3)system("color 0a");else if(sh-'0'==4)system("color 09");else if(sh-'0'==5)system("color 01");else if(sh=='q'){ch='q';break;}}}

然后我们来解读一下这个代码。

首先,当ch变量读到的键盘指令为d或e时,就执行下面操作,先将屏幕清屏,输出“请选择皮肤:”,换行,再输出各个皮肤名称:【日间色】【夜间色】【黑客】【科幻】【紫水晶】,然后输出开始游戏请按q,换肤请输入序号。之后定义一个sh变量,用来存储接下来的键盘指令,然后重复执行(因为你不可能一下子就确定你想换的皮肤,用户要反复选择)如果输入1,将皮肤改成日间色,如果输入2,将皮肤改成夜间色……以此类推,然后如果输入q,就将ch变量转为q,一边下面判断,然后结束换肤,break退出。

看到上面这个解释,是不是明白多了?

总代码:

/*作者:瑞 制作日期:2022/7/29/18:04:40适合编译环境: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.2最终版本");//标题 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;for(int i=0;i<s3.size();i++){cout<<s3[i];Sleep(10);}cout<<endl;cout<<"|                                                          |"<<endl;cout<<"|                                                          |"<<endl;cout<<"|                                                          |"<<endl;cout<<"|(按‘k’开始游戏,按‘b’看玩法说明,按‘d’换皮肤)        |"<<endl;cout<<"@==========================================================@"<<endl;char ch;ch=getch();//提取键盘指令 if(ch=='b'){system("cls");string c="使用wasd控制‘*’(玩家)移动,‘#’为边界,‘0’是终点";string c1="玩家目标是通过移动到达终点,即可胜利。";string c2="说明:此为走迷宫最终版本。";string c3="更新:增加了换肤功能。";cout<<"版本:1.2"<<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开始游戏。按e换皮肤。"; ch=getch();}if(ch=='d'||ch=='e'){system("cls");cout<<"请选择皮肤:"<<endl;cout<<"1.【日间色】"<<endl<<"2.【夜间色】"<<endl<<"3.【黑客】"<<endl<<"4.【科幻】"<<endl<<"5.【紫水晶】"<<endl;cout<<"开始游戏请按q,换肤请输入序号。";char sh;while(1){sh=getch();if(sh-'0'==1)system("color f0");else if(sh-'0'==2)system("color 0f");else if(sh-'0'==3)system("color 0a");else if(sh-'0'==4)system("color 09");else if(sh-'0'==5)system("color 01");else if(sh=='q'){ch='q';break;}}}if(ch=='k'||ch=='y'||ch=='q'){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;
} 

好了,时间也不早了,我们的C++走迷宫也正式完成!完结撒花!

效果我会在评论里补发。

如果还有小伙伴想看我之前的博客,下面我给出了链接:

额,我要说一件重要的事+用C++编写一个走迷宫小游戏(1.1版)_ 瑞的博客-CSDN博客

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

再给出资源的链接:

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

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

1.2:在前面哦~

求关注+三连!

最后说一下,游戏里的某些地图和皮肤是从别的博客复制的。

投个票:

用DEV-C++写一个走迷宫小游戏1.2最终版(完结,撒花)相关推荐

  1. C语言实现一个走迷宫小游戏(深度优先算法)

    补充一下,先前文章末尾给出的下载链接的完整代码含有部分C++的语法(使用Dev-C++并且文件扩展名为.cpp的没有影响),如果有的朋友使用的语言标准是VC6的话可能不支持,所以在修改过后再上传一版, ...

  2. 手动搜索迷宫游戏 c语言,C语言实现一个走迷宫小游戏(深度优先算法)

    接上一篇万年历博文,还是那位朋友的练习题.这次是使用C语言做一个小游戏程序,三选一(2048.8皇后和迷宫游戏),我选择的是迷宫(文章末尾有程序截图).个人认为这个程序的难点在于迷宫地图的绘制,也就是 ...

  3. c语言自动按键脚本,C语言键盘控制走迷宫小游戏

    本文实例为大家分享了C语言键盘控制走迷宫小游戏的具体代码,供大家参考,具体内容如下 在看了<啊哈C语言>之后想写一个游戏demo 游戏的截图 首先是启动界面 然后是初始化 接下来是键盘操控 ...

  4. 【牛客刷题】上手用C语言写一个三子棋小游戏超详解哦(电脑优化)

    作者:[南航科院小张 南航科院小张的博客 专栏:从c语言的入门到进阶 学习知识不只是要懂,还要会用:想要找到好的工作,这里给大家介绍一件可以斩获诸多大厂offer的利器–牛客网 点击免费注册和我一起开 ...

  5. c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

  6. 一个简单的c 游戏编程语言,编程达人 c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

  7. 用 Dev-C++ 编写简单的走迷宫小游戏

    用 Dev-C++ 编写简单的走迷宫小游戏 前言 基础版 优化版 前言 以下是显示效果 B站视频讲解:[小游戏]用 Dev-C++ 编写简单的控制台走迷宫小游戏 [小游戏]用 Dev-C++ 编写简单 ...

  8. 你写一个web网页小游戏

    写一个 web 网页小游戏需要以下几个步骤: 选择一种编程语言,常用的有 HTML.CSS.JavaScript 和 Python. 使用编辑器创建一个 HTML 文件,这个文件将是你的网页的基础. ...

  9. 用c++帮我写一个闯关小游戏

    很高兴为您写一个闯关小游戏!这个游戏将分为3个关卡,每个关卡都有不同的挑战.第一关的挑战是收集3个物品,这些物品分别在不同的位置,你必须找到它们才能过关.第二关的挑战是找到一个宝藏,你必须通过解决难题 ...

  10. vs2010c语言小游戏,用C语言写一个三子棋小游戏(用VS2010实现,加强版)

    前几天写了一个三子棋小游戏,但是比较简单,因为以前写的游戏棋盘只能是3x3那么大.今天对那个程序做了两点改进: 1.现在可以实现在任意大小的棋盘上下棋了. 2.因为棋盘可能变大,为了玩家方便确定坐标, ...

最新文章

  1. free命令输出详解
  2. MVC高级编程-目录
  3. 《剑指offer》c++版本 16.数值的整数次方
  4. java解析html的table
  5. Spark HistoryServer日志解析清理异常
  6. tomcat server.xml配置详解
  7. python父亲节礼物送什么_父亲节送什么礼物给父亲呢?
  8. Python3 - 文件处理
  9. 什么是shell? bash和shell有什么关系?
  10. 新手初识安信可ESP8266 12f机智云开发板微信直连云
  11. java pkcs8_java中公钥,私钥,pkcs1格式,pkcs8格式互转
  12. 网卡offload功能介绍
  13. android 内存分析工具ASAN 学习
  14. Pycharm 编辑器文本中间出现有一条分割线
  15. 历届图灵奖得主及研究领域
  16. 小程序团购商品CPS接入,实现达人分佣模式
  17. 用计算机弹欢乐斗地主,欢乐斗地主免费版电脑版
  18. Windows Vista With Service Pack 2(x86 / x64)官方简体中文版(ISO)光盘镜像
  19. 程序员久坐太累,用BTU模组和液晶屏改造了一款智能呼啦圈!
  20. Java相关课程系列笔记之一Java学习笔记

热门文章

  1. 关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用
  2. win 7计算机图标变了,win7系统桌面图标变成一样的解决方法
  3. 关于笔记本安装Deepin 或者ubuntu操作系统,无法进入界面。
  4. 计算机网络自学之路,必看的网络工程师学习路线
  5. 百度IP地址查询API使用: 应用类型为浏览器端
  6. 最值得拥有的免费Bootstrap后台管理模板
  7. 【逻辑思考】有时评论比内容更精彩
  8. 关于拉勾网的scrapy crawlspider爬虫出现的302问题的解决方式
  9. 云痕大数据 家长登录_云痕大数据——苏州云痕教育科技有限公司
  10. Specification使用