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

📄 generic.h

📁 一个VC写A*寻路的程序库
💻 H
字号:
// Generic.h: interface for the Generic class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(H_GENERIC)
#define H_GENERIC

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Setup.h"

enum
{
	NONE_ALGORITHM,
		DEVELOPMENT_ALGORITHM,
		ASTAR_ALGORITHM,
		ASTAR_HEAPINTEGER_ALGORITHM,
		ASTAR_HEAP_ALGORITHM,
		ASTAR_COMPLETE_ALGORITHM,
		ASTAR_ARRAY_ALGORITHM,
		ASTAR_LINKEDLIST_ALGORITHM,
		DIJKSTRA_ALGORITHM,
		
		BREADTHFIRST_ALGORITHM,
		BESTFIRST_ALGORITHM,
		DEPTHFIRST_ALGORITHM,

		BIBFS_ALGORITHM,
		DSTAR_ALGORITHM,
		RIGHTHANDRULE_ALGORITHM,
};


#include "Development.h"
#include "AStar.h"
#include "AStarHeapInteger.h"
#include "AStarHeap.h"
#include "AStarLinkedList.h"
#include "AStarComplete.h"
#include "AStarArray.h"
#include "Dijkstra.h"

#include "BreadthFirst.h"
#include "BestFirst.h"
#include "DepthFirst.h"

#include "RightHandRule.h"
#include "DStar.h"

class Generic  
{
public:
	Generic();
	virtual ~Generic();
	Generic(Setup *vSetup);
	
	//
	void Reset();
	void Paint(LPBYTE pwBits,HDC hdctmp,HWND hWnd);
	void UpdateWorld();
	void UpdateSettings();
	void FindPath();
	void GetOptions();
	void Switch_Algorithms(int Alg);
	void set_GameMode(bool state);
	
	bool PathFound();
	bool NoPath();
	void ResetAI();
	
	bool isDone();

	void Paint_All(LPBYTE pwBits, HDC hdc,HWND hWnd);
	
	//
public:
	int Alg;
	int ai;

	LARGE_INTEGER bigtick;

	bool gamemode;
	bool routing_view;

	Setup *vSetup;

private:
	//
	Development *vDevelopment;
	AStar *vAStar;
	AStarHeapInteger *vAStarHeapInteger;
	AStarHeap *vAStarHeap;
	AStarComplete *vAStarComplete;
	AStarLinkedList *vAStarLinkedList;
	AStarArray *vAStarArray;
	Dijkstra *vDijkstra;
	BreadthFirst *vBreadthFirst;
	BestFirst *vBestFirst;
	DepthFirst *vDepthFirst;

	//
	AIROUTE AIRoute[MAX_AIS+1];

	//
	struct _D_TO_XY_LOOKUP
	{
		short yx;
		BYTE route;
	} DXY[8+1];

};

#endif

⌨️ 快捷键说明

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