C++打造迷宫游戏,直接上代码

本文介绍了一个使用C++编写的迷宫游戏,通过创建迷宫类和游戏角色类,实现了根据右手规则自动走出迷宫的功能。游戏包括迷宫地图的设置、角色移动及方向判断等核心部分,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

C++ 迷宫游戏实现代码

题目: 通过让游戏角色自动寻找迷宫出口,走出迷宫,来练习C++面向对象之封装的基础知识。迷宫图如下所示,其中X表示墙。

 

1、程序分析

走出去的原理:遵循右手规则或左手规则。右手扶墙走,就会走出迷宫,反之,亦然。

step1 创建迷宫类,打印出迷宫地图。

 

step2 创建走迷宫的人的类。

 

2、程序实现

MazeMap.h

#ifndef MAZEMAP_H

#define MAZEMAP_H

#include

#include //COORD

//在二维数组里,1代表墙,0代表路

#define WALL 1

#define ROAD 0

class MazeMap

{

public:

MazeMap(char wall = 'X');

~MazeMap();

/*设置迷宫地图*/

void setMazeMap(int *mazemap, int row, int col);

void pintMazeMap();

int** getMap(); //返回地图二维数组指针

const char m_cRoad; //常数据成员:路

void setExitPosition(int x,int y); //设置迷宫出口

COORD m_COORDExitPostion; //迷宫的出口

private:

const char m_cWall; //常数据成员:墙

int** m_pMap; //指向迷宫地图二维数组的二级指针

int m_iMapRow; //二维数组的行数

int m_iMapCol; //二维数组的列数

};

#endif

MazeMap.cpp

#include "MazeMap.h"

/**************************

*函数名称:MazeMap()

*函数功能:构造函数,初始化参数

*函数参数:wall 墙的表示符号

***************************/

MazeMap::MazeMap(char wall):m_cWall(wall),m_cRoad(' ')

{

m_pMap = NULL;

}

/*************************

*函数名称:~MazeMap()

*函数功能:析构函数,释放动态申请

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值