IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Dev-C++控制台小游戏——迷宫教程(附源代码及注释) -> 正文阅读

[游戏开发]Dev-C++控制台小游戏——迷宫教程(附源代码及注释)

我们需要先输入头文件以及标准名字空间。

#include<bits\stdc++.h>
#include <windows.h>//用于调用getch() 
#include <conio.h>//用于调用隐藏光标,Sleep()
using namespace std;

接着我们要定义一个二维的字符数组当做地图。

char a[50][50]={"O#########",
				"         #",
				"# # ######",
				"# #   ####",
				"# # # ####",
				"# #    ###",
				"# #### ###",
				"# #### ###",
				"#  ###    ",
				"##########"};
/*
char a是字符数组,由于比较大,因而在主函数外注明 
*/

然后我们要编写初始界面(隐藏光标的函数我也先打出来了,光标若未隐藏会比较别扭)。

	CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
  SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
	cout<<"w表示上,s表示下,a表示左,d表示右(注意小写)"<<endl;
	cout<<"#表示墙壁,O表示玩家,$表示宝藏"<<endl;
	Sleep(5000);//用于延时 
	system("cls");//用于清屏 
	/*
	初始界面 
	*/

这段是隐藏光标的函数。

	CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
  SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

我们要定义初始位置及输出地图。

    int x=0,y=0;//初始位置定义 
	char ch;
	for(int i=0;i<=9;i++)
		puts(a[i]);//循环输出地图

接下来是走迷宫的过程。

	while(1)//循环做出判断 
	{
		ch=getch();
        if(ch=='s')//下
        {
			if(a[x+1][y]==' ')
            {
				a[x][y]=' ';
                x++;
                a[x][y]='O';
            }
        }
        else if(ch=='w')//上
        {
			if(a[x-1][y]==' ')
            {
				a[x][y]=' ';
                x--;
                a[x][y]='O';
            }
        }
		else if(ch=='a')//左
        {
			if(a[x][y-1]==' ')
            {
				a[x][y]=' ';
                y--;
                a[x][y]='O';
            }
        }
        else if(ch=='d')//右
        {
			if(a[x][y+1]==' ')
            {
				a[x][y]=' ';
                y++;
                a[x][y]='O';
            }
        }
        system("cls");
		for(int i=0;i<=9;i++)
			puts(a[i]);
        if(x==8 && y==9)
        	break;
	}
	cout<<"你赢了"<<endl;
	Sleep(10000);

以下是全部的源代码

#include<bits\stdc++.h>
#include <windows.h>//用于调用getch() 
#include <conio.h>//用于调用隐藏光标,Sleep()
using namespace std;
char a[50][50]={"O#########",
				"         #",
				"# # ######",
				"# #   ####",
				"# # # ####",
				"# #    ###",
				"# #### ###",
				"# #### ###",
				"#  ###    ",
				"##########"};
/*
char a是字符数组,由于比较大,因而在主函数外注明 
*/
int main()
{
	CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
  SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
	cout<<"w表示上,s表示下,a表示左,d表示右(注意小写)"<<endl;
	cout<<"#表示墙壁,O表示玩家,$表示宝藏"<<endl;
	Sleep(5000);//用于延时 
	system("cls");//用于清屏 
	/*
	初始界面 
	*/
    int x=0,y=0;//初始位置定义 
	char ch;
	for(int i=0;i<=9;i++)
		puts(a[i]);//循环输出地图 
	while(1)//循环做出判断 
	{
		ch=getch();
        if(ch=='s')//下
        {
			if(a[x+1][y]==' ')
            {
				a[x][y]=' ';
                x++;
                a[x][y]='O';
            }
        }
        else if(ch=='w')//上
        {
			if(a[x-1][y]==' ')
            {
				a[x][y]=' ';
                x--;
                a[x][y]='O';
            }
        }
		else if(ch=='a')//左
        {
			if(a[x][y-1]==' ')
            {
				a[x][y]=' ';
                y--;
                a[x][y]='O';
            }
        }
        else if(ch=='d')//右
        {
			if(a[x][y+1]==' ')
            {
				a[x][y]=' ';
                y++;
                a[x][y]='O';
            }
        }
        system("cls");
		for(int i=0;i<=9;i++)
			puts(a[i]);
        if(x==8 && y==9)
        	break;
	}
	cout<<"你赢了"<<endl;
	Sleep(10000);
	return 0;
}

谢谢大家,这是我发的第一篇博文,望支持。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:53:00  更:2021-08-08 11:53:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 0:52:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码