鱼C论坛

 找回密码
 立即注册
查看: 2219|回复: 2

#include "MazeClass.h"在哪下载?

[复制链接]
发表于 2016-6-29 05:43:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x






#include "MazeClass.h"在哪下载?
(7) : fatal error C1083: Cannot open include file: 'MazeClass.h': No such file or directory


///////////////////////////////////////////////////
//C++主要变量和函数定义
//////////////////maze.h///////////////////////////
//全局变量
#ifndef _GLOBAL_VAR_
#define _GLOBAL_VAR_
#include "MazeClass.h"
class CMaze *game = NULL; //迷宫类对象指针
class CRoom **map; //游戏map指针
HWND hWndMain; //主窗口句柄
HBITMAP h_MemBm = NULL; //内存位图
HDC h_MemDC = NULL; //内存DC
RECT rCliRet; //游戏窗口大小
HBRUSH hBrushes[10]; //绘制方块的画刷
#endif
//////////////////LinkList.h///////////////////////
#ifndef _LINK_LIST_H
#define _LINK_LIST_H
#include <iostream.h>
template <class T>
class Node
{
private:
        Node<T> *nextptr;
public:
        T data;
        Node();
        ~Node();
        Node <T> *next() const;
        Node(const T &item, Node<T> *ptrnext=NULL);
        void setNext(Node<T> *ptrnext=NULL);
};
template <class T>
class LinkList
{
private:
        Node<T> *head;
        Node<T> *tail;
        Node<T> *curr;
        Node<T> *getNode(const T &item, Node<T> *ptrnext=NULL);
        void freeNode(Node <T> *p);
        int size;
public:
        LinkList();
        ~LinkList();
        Node<T> *next();
        Node<T> *current();
        Node<T> *first();
        Node<T> *last();
        Node<T> *findNode(int index);
        Node<T> *findNode(const T &item); //此功能需要模板类重载等于运算符
        void reset();
        int getSize();
        int insertFront(const T &item);
        int insertTail(const T &item);
        int insertAfter(const T &item, int index);
        int deleteFront(T *item);
        int deleteTail(T *item);
        int deleteNode(T *item, int index);
        void clear();
        bool isEmpty();
};
#endif
//////////////MazeClass.h///////////////////////////
#ifndef _MAZE_CLASS_H
#define _MAZE_CLASS_H
#include <iostream.h>
#include <string.h>
#include <time.h>
#include "LinkList.h"
//引入外部变量
extern HWND hWndMain; // 主窗口句柄
extern HBITMAP h_MemBm; // 内存位图
extern HDC h_MemDC; // 内存DC
extern RECT rCliRet; // 窗口大小
extern class CMaze *game; // 迷宫类指针
extern class CRoom **map; //游戏map指针
extern HBRUSH hBrushes[10]; //绘制路径画刷
#define RIGHT 0 //向右
#define DOWN 1 //向下
#define LEFT 2 //向左
#define UP 3 //向后
#define NODIR 4
#define LEFT_WALL 0 //左边墙壁
#define UP_WALL 1 //上面墙壁
#define IS_WALL 0 //有墙壁
#define NO_WALL 1 //没有墙壁
#define HAS_DEAL 0 //map处理状态,已经处理
#define IN_DEAL 1 //正在处理
#define NOT_DEAL 2 //未处理
#define STEP 12 //搜索步长
#define AUTO_MODE 0 //玩家类型电脑自动
#define PLAY_MODE 1 //手动
#define INIT 0 //玩家状态初始化
#define GOING 1 //运行
#define STOP 2 //暂停
#define OVER 3 //结束
#define IDT_TIMER1 1 // 定时器编号
#define IDT_TIMER2 2
//坐标点类
class point
{
public:
        int x;
        int y;
        point();
        ~point();
        point(int x, int y);
        point(const point &p);
        point &operator =(const point &p);
        bool operator ==(const point &p);
};
//Room类,生成迷宫用到
class CRoom
{
        friend class CMaze;
private:
        point pos;
        int status; //0:未访问, 1:正在访问, 2:已访问
        int upstatus; //0:可以通过 1:不可以通过
        int leftstatus; //0:可以通过 1:不可以通过
        //每个节点只需判断up&left是否可以通过即可
};
//迷宫墙壁类
class CWall
{
        friend class CMaze;
private:
        point pos; //墙壁位置
        int dir; //方向 1:横 0:竖
public:
        CWall();
        CWall(const point &pos, const int &dir);
        CWall(const CWall &p);
        ~CWall();
        CWall &operator =(const CWall &p);
        bool operator ==(const CWall &p);
};
class CBoard
{
protected:
        HBRUSH hBrush; //绘制背景画刷
        HPEN hPen; //绘制边框线的画笔
        point m_pos, m_entry, m_exit;
        int m_size, m_cell, m_nx, m_ny;
        int m_mode, m_speed, m_status;
        void fillCell(point pos, int color, int dir);
        void displayText(point p, char *text);
public:
        CBoard();
        ~CBoard();
        int getCell();
        int getMode();
        int getSpeed();
        int getStatus();
        int getSize();
        point getPos();
        point getEntry();
        point getExit();
        void messageBox(char *errMsg, char *title, int style);
        void setTimer(int id, int time);
        void killTimer(int id);
};
//路径节点类
class CPathNode
{
        friend class CPlayer;
private:
        int index; //节点在链表中编号
        int indir; //最初进去方向
        int outdir; //最后一次出去方向
        class point pos; //节点位置
        public:
                CPathNode();
                CPathNode(point pos, int index, int indir, int outdir);
                ~CPathNode();
                CPathNode(const CPathNode &p);
                CPathNode &operator =(const CPathNode &p); //重载赋值运算符
                bool operator ==(const CPathNode &p); //重载等于号
};
//游戏玩家类
class CPlayer: public CBoard
{
private:
        int curdir; //当前的移动方向
        int steps; //当前步数
        time_t usedTime, stopTime; //所有时间用时
        LinkList <class CPathNode> path; //保存走过的正确路径链表
        LinkList <class CPathNode> error; //保存走过的错误路劲链表
        LinkList <class CWall> *mazeptr; //指向当前迷宫的指针
        int canMove();
        int doOper();
        int autoGo();
        void errOut(char *errMsg);
        void showInfo();
        void drawPath();
public:
        CPlayer(CMaze *maze);
        ~CPlayer();
        void onKeyDown(unsigned short key);
        void onTimer(int id);
};
class CMaze: public CBoard
{
private:
        LinkList <class CWall> wlist; //存放迷宫墙壁数据链表
        class CPlayer *m_player;
        void drawWall(class CWall wall);
        int createWallList(LinkList<class point> *list);
        int chgRoomStatus(point pos, LinkList<class point> *list, int dir, int depth);
        int createMaze();
        void drawMaze();
        void showTime();
        void showHelpInfo();
        void initBkGnd();
        int newGame();
        void gameOver();
        public:
                CMaze();
                ~CMaze();
                void dialogBox(HINSTANCE hInst, LPCTSTR IDD, DLGPROC myFunc);
                int onInit();
                void initDlg(HWND hDlg);
                void onDlgOk(HWND hDlg);
                void onTimer(int id); //游戏主控函数
                void onKeyDown(unsigned short key); //游戏主控函数
                void onPaint(HDC hdc);
                LinkList<class CWall> *getWallList();
};
#endif
////////////////////////////////////////////
//C语言主要变量和函数定义
////////////////maze.h//////////////////////
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define M 50000 /* 迷宫最大墙壁数 */
#define MAX_NODE_NUMBER 50000 /* 最大分配内存节点 */
#define MAXGRADE 150 /* 游戏最大难度 */
#define IDT_TIMER1 1 /* 定时器编号 */
#define IDT_TIMER2 2
#define STEP 16 /* 搜索步长 */
#define RIGHT 0
#define DOWN 1
#define LEFT 2
#define UP 3
#define AUTO_MODE 0
#define PLAY_MODE 1
#define UP_WALL 0
#define LEFT_WALL 1
#define INIT 0
#define GOING 1
#define STOP 3
#define OVER 4
struct position
{
        int x;
        int y;
};
struct GameInfo
{
        struct position pos; /* 背景位置坐标 */
        int size; /* 大小 */
        int timer;
        int nx;
        int ny;
        int cell;
        int mode;
        int mazemode;
        int speed;
        int times;
        int status;
}game;
struct MazeWall
{
        struct position pos;
        int diretcion; /* 方向 0:横 1:竖 */
};
struct MazeCfg
{
        struct MazeWall data[M]; /* 墙壁坐标数据 */
        struct position entry, exit; /* 入口和出口位置 */
        int num; /* 墙壁个数 */
}maze;
struct MapCfg
{
        struct position pos;
        int status; /* 0:未访问, 1:正在访问, 2:已访问 */
        int upstatus; /* 0:可以通过 1:不可以通过 */
        int leftstatus; /* 0:可以通过 1:不可以通过 */
        /* 每个节点只需判断up&left是否可以通过即可 */
};
struct MapCfg **map;
struct travInfo
{
        struct position pos;
        struct travInfo *next;
};
struct RoadInfo
{
        int index; /* 编号 */
        int indir; /* 进去方向 */
        int outdir; /* 出去方向 */
        struct position pos;
        struct RoadInfo *next;
};
struct playercfg
{
        int direction;
        int steps;
        time_t usedTime, endTime, stopTime;
        struct RoadInfo *RoadPtr, *errPtr;
}play;
HWND hWndMain; /* 主窗口句柄 */
HBITMAP h_MemBm = NULL; /* 内存位图 */
HDC h_MemDC = NULL; /* 内存DC */
HBRUSH hBrushes[10]; /* 绘制方块的画刷 */
HBRUSH hBrushBkGnd; /* 背景色画刷 */
HPEN hPenBorder; /* 绘制边框线的画笔 */
int initgame(HWND hWnd);
int markpath(int x, int y, int dir, int color);
int drawWall(int x, int y, int dir);
int drawMaze();
int readMazedata(int *num, int id);
char *GetFldStr(char *sFldStr, char *sStr, char sFld);
void initMalloc();
void addMallocNode(char *);
void freeMallocNode();
void *gcCalloc(size_t , size_t);
int initBkGnd();
int createMaze();
int getWallCfg();
int setDirStatus(struct position pos, struct travInfo *head, int dir, int depth);
int createPlayer(int mode);
int destroyPlayer();
int canMove();
int doOperation();
int havePathed(struct RoadInfo node);
int newGame(int type, int mode);
void drawPath();
void showTime();
int gameOver();
int autoGo(int num);
void DisplayText(int posx, int posy, char *text);
int initGameSet(HWND hDlg);
int chgGameStatus();
void showUsedTime();
void showPlayInfo();
void errOut(char *errMsg)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-29 13:35:27 | 显示全部楼层

楼主,请恕在下冒昧:

//////////////MazeClass.h///////////////////////////


这些注释 已经给你说了 下边这些代码 是哪个文件里的。

楼主 需要手动把代码 拆分一下,粘贴到对应名字的文件中。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-30 22:20:21 | 显示全部楼层
谢谢分享

评分

参与人数 1鱼币 -10 收起 理由
小甲鱼 -10 请不要无意义灌水!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 06:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表