An open API service indexing awesome lists of open source software.

https://github.com/jerryym/mazer

走出迷宫
https://github.com/jerryym/mazer

Last synced: about 1 month ago
JSON representation

走出迷宫

Awesome Lists containing this project

README

          

## Mazer 走出迷宫

#### 算法
- 使用右手准则算法

#### 设计
- 迷宫类(Mazemap)

数据成员:墙壁字符、通道字符、迷宫数组(迷宫的尺寸:长 宽)

成员函数:构造函数、数据封装函数、迷宫绘制函数、迷宫边界检查函数

构造函数:默认构造,带参数构造

数据封装函数:set_wall、set_road、设置默认地图、设置自定义地图

迷宫绘制函数:输出打印函数、获取通道字符

迷宫边界检查函数:墙壁检查、出口检查函数

- 人类(Person)

数据成员:人的字符、人的朝向、人的当前位置、人前一个所处位置、人的速度

成员函数:构造函数、数据封装函数、向不同方向前进的函数、转弯函数、开始函数

构造函数:默认构造、带参数构造

数据封装函数:人的字符,人的当前位置、人的当前朝向、人的速度

向不同方向前进的函数:朝北、朝南、朝西、朝东、沿当前方向前进

转弯函数:左转、右转

开始函数

#### 运用到的知识点
- static:在内存中是以固定地址存放的,在整个程序运行期间都有效
- 类中静态数据成员需在类外初始化
- 常成员函数
- gotoxy(int x,int y)
- 需要加入Windows.h头文件
- 函数作用:光标直接跳到第x列y行
- 参数表含义:第x列y行
- 代码样例:
```
void MazePerson::gotoxy(int x, int y)//光标直接跳到第x列y行
{
COORD cd;
cd.X = x;
cd.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cd);
}
```
- Sleep()
- 需要加入Windows.h头文件
- 函数作用:延时
- 毫秒为单位