⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mc.h

📁 用VC编制的集成的野人和八数码演示程序。其中野人程序用动态的效果演示
💻 H
字号:
//------------------------------------------------------------------------------------------------
//-------修道士野人问题的头文件       作者:申徐洲       日期:2004年5月20日      AllRightsReserve
//------------------------------------------------------------------------------------------------
#ifndef MC_H
#define MC_H
#pragma once
#include"McHead.h"    // 使用结构TEightNumber TPosition TLevel

class CMissionarySavage
{
public:
	CMissionarySavage(void);            // 构造函数
	virtual ~CMissionarySavage(void);   // 虚拟析构函数
public:
	bool searchByAlgorithm(void);                    // A*算法搜索    
	//bool searchByBreadth(void);                    // 广度优先搜索
	//bool searchByDepth(void);                      // 深度优先搜索 
    bool show(CDC* pDC);
	void setTimer();
	TMissionarySavagePtr getResultList(void);       // 获取结果链表
	int getResultNum(void);                          // 获取结果总结点数量
    int getResultDepth(void);                        // 获取结果深度
private: 
	bool isGoal(TMissionarySavagePtr pCurrent);        // 判断当前结点是不是目标状态
	TMissionarySavagePtr newMissionarySavage(TMissionarySavagePtr pParent, int nDirection);  // 新建结点
	TMissionarySavagePtr findMinCost(void);                          // 找出A*算法中代价最小的结点 
	bool findNext(TMissionarySavagePtr pCurrent, int nDirection);    // 判断结点的下一个位置是否合法
	void findAnswer(TMissionarySavagePtr pMissionarySavage);         // 如问题有解 找出哪些结点是正解    
	int showPerson(CDC* pDC, int nMissionary, int nSavage, int nDispX, int nDispY);
	void showPrompt(CDC* pDC);
//private:
	TMcPosition m_tDirection[5];     // 修道士野人问题的搜索方向
	TMissionarySavagePtr m_pHead;    // 修道士野人问题的头指针
	TMissionarySavagePtr m_pTail;    // 修道士野人问题的尾指针
	TMcLevelPtr m_pLevel;            // 修道士野人问题的第N层结点数量的头指针
	TMcLevelPtr m_pLevelTail;        // 修道士野人问题的第N层结点数量的尾指针
	int m_nTotalNum;                 // 修道士野人问题的总结点数
	int m_nDepth;                    // 修道士野人问题的深度
    TMissionarySavagePtr m_pCurrent; // 演示程序中的当前指针
	int m_nTimer;                    // 演示程序中的计数器
	bool m_bArriveShore;              // 演示程序中船是否到达对岸
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -