C++随机生成迷宫算法随机生成迷宫算法
主要为大家详细介绍了C++随机生成迷宫算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参
考一下
本文实例为大家分享了C++随机生成迷宫的具体代码,供大家参考,具体内容如下
我们今天来做一个迷宫游戏。在其中有几个要领:
1.方向的控制方向的控制
我们建立的迷宫是以坐标的形式出现的,越往上x坐标越小,越往左y坐标越小,这雨平面直角坐标系不同,要注意!
2.随机生成算法:随机生成算法:
void init_maze(void); //初始化迷宫
void gotoxy(int x, int y); //移动光标
void path_up(int *x, int *y); //上构路径
void path_down(int *x, int *y); //下构路径
void path_left(int *x, int *y); //左构路径
void path_right(int *x, int *y); //右构路径
void setxy(int x, int y); //指定位打通路径
void path_local(int x, int y); //本置路径
这是我们需要的函数,主要功能呢在代码中有讲到。如果大家自己在编程时需要自己生成迷宫,可以借鉴一下。
3.代码代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<iostream>
#include<ctime>
#include <windows.h>
using namespace std;
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define M 40 //迷宫长度
#define N 82 //迷宫宽度
char maze[M/2][N/2]; //定义迷宫数组
char path[M-1][N-1]; //定义路径数组
void setview(void); //设置控制台窗口信息
int menu_maze(void); //主目录
void startgame(void); //开始游戏
void init_maze(void); //初始化迷宫
void gotoxy(int x, int y); //移动光标
void path_up(int *x, int *y); //上构路径
void path_down(int *x, int *y); //下构路径
void path_left(int *x, int *y); //左构路径
void path_right(int *x, int *y); //右构路径
void setxy(int x, int y); //指定位打通路径
void path_local(int x, int y); //本置路径
void go_up(int *x,int *y); //向上移动
void go_down(int *x,int *y); //向下移动
void go_left(int *x,int *y); //向左移动
void go_right(int *x,int *y); //向右移动
void HideCursor(void); //隐藏光标
void win(void);
int T;
int F;
int m;
int n;
int x;
int target;
int flag;
int local_x;
int local_y;
int main()
{
setview();
while(1)
{
switch(menu_maze())
{
case 49:
system("cls");
startgame();
continue;
case 50:exit(0);
}
}