generic.h

来自「一个非常完美复杂的、效率极高寻路程序」· C头文件 代码 · 共 116 行

H
116
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?