利用深度优先搜索做的随机生成地图的迷宫小游戏

本文介绍了作者使用深度优先搜索算法开发的一款迷宫小游戏。游戏地图通过随机生成,减少了手动绘制地图的繁琐工作。文章分享了开发过程中的学习心得,并提供了代码分为头文件、函数文件和主函数文件,适合读者自行研究。开发环境为Visual Studio 2013,尽管游戏界面简单,但展现了迷宫生成的基本原理。
摘要由CSDN通过智能技术生成

好久没有发布作品写博客了。CSDN代码排版还是那么蛋疼。。

上个星期老师留的作业,做一个迷宫的小游戏。那时候刚刚会自己画地图来做迷宫。

后来觉得好麻烦好麻烦就想要他随机生成地图。

而后就在网上找了很多资料进行研究实验学习。(也有些精华借鉴)

如今做出还不完美,界面奇丑的迷宫小游戏~大家凑合看哈~


文件我分成了三个部分,头文件labyrinth.h、函数文件fun.c和主函数文件main.c


具体都做了很多注释可自行研究。


环境:visual studio 2013


下面是头文件代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <windows.h>

#define MAZE_MAX 100									//最大上限
#define UPWARD	 0									//上,下,左,右
#define DOWN	 1
#define LEFT	 2
#define RIGHT	 3

enum bool{false, true};
char map[MAZE_MAX + 2][MAZE_MAX + 2];							//+2是因为在绘制地图前,会将图周围置零防止围墙被挖断。
											//所以要+2来弥补扔掉的外围一圈墙。且因为用了宽字符来输出字符,所以为2倍长度
unsigned int size;									//地图大小  随意设置
UINT x, y;										//用于人物控制的坐标变量

void WriteChar(int Wide, int High, char* pszChar);						//坐标函数
void menu_ui(void);										//菜单界面
int menu_s(void);										//菜单选择
void print_maze();										//打印地图
void make_maze();										//地图绘制
int search_path(int x, int y);									//寻路
void init_wall();										//填充墙
int control();											//控制
void person(UCHAR dirct_flag, int coords);
void console();											//设置控制台大小的动画


下面是 函数文件

#include "labyrinth.h"

/*
// 打印字符到控制台指定位置
// 参数1 : 宽度 X
// 参数2 : 高度 Y
// 参数3 : 打印的字符
*/
void WriteChar(int x, int y, char* pszChar)
{
	CONSOLE_CURSOR_INFO cci;
	cci.dwSize = 1;
	cci.bVisible = FALSE;							  // 是否显示光标
	SetConsoleCursor
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值