额,我要说一件重要的事+用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版了,所以玩法说明内容也要改。

这里我改成了这样:

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

目前代码:

/*
	作者:瑞 
	制作日期: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]!='#'
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值