看到标题大家应该也知道了,我今天要说一件事情,那就是我是一个小学生。
我马上就要上初一了,最近我在网上冲浪的时候,发现了一个叫CSDN的平台,我也正式成为了一个up主。
可能刚开始写没有多少人会支持我,因为我才学c++两年多,可能有的地方有问题,但我会把我热爱编程的这份热情传递下去,即使没多少人支持我。
这已经是我写的第4篇博客了,想想还是挺激动的。
回归正题
昨天写完那篇用C++编写一个走迷宫小游戏(1.0版)的博客后我就在想今天1.1版的事,好不容易今天写好了,下面给大家讲解一下。
话不多说,先放资源:C++走迷宫游戏(原创)转载请标注版权-C++文档类资源-CSDN下载
先来看看1.1版本更新了啥:
目录
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版了,所以玩法说明内容也要改。
这里我改成了这样:
其实这里的内容小伙伴们可以自己写,也可以改个颜色,改个输出样式,都行。
目前代码:
/*
作者:瑞
制作日期:2022/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]!='#'