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

📄 attackhandler.h

📁 这是整套横扫千军3D版游戏的源码
💻 H
字号:
#ifndef ATTACKHANDLER_H#define ATTACKHANDLER_H#include "GlobalAI.h"class CAttackGroup;class CAttackHandler {	public:		CR_DECLARE(CAttackHandler);		CAttackHandler(AIClasses* ai);		~CAttackHandler(void);		void AddUnit(int unitID);		void Update(int);		void UnitDestroyed(int unitID);		// K-means functions are placed here for now		vector<float3> KMeansIteration(vector<float3> means, vector<float3> unitPositions, int newK);		float DistanceToBase(float3 pos);		float3 GetClosestBaseSpot(float3 pos);		bool PlaceIdleUnit(int unit);		// for use for builders		bool IsSafeBuildSpot(float3 mypos);		float3 FindSafeSpot(float3 myPos, float minSafety, float maxSafety);		float3 FindSafeArea(float3 pos);		float3 FindVerySafeArea(float3 pos);		float3 FindUnsafeArea(float3 pos);		void AirAttack(int);		void AirPatrol(int);		void UpdateKMeans(void);		void UpdateAir(int);		void UpdateSea(int);		// nuke-related functions		void UpdateNukeSilos(int);		int PickNukeSiloTarget(std::vector<std::pair<int, float> >&);		void GetNukeSiloTargets(std::vector<std::pair<int, float> >&);		void AssignTargets(int);		void AssignTarget(CAttackGroup* group);		bool UnitGroundAttackFilter(int unit);		bool UnitBuildingFilter(const UnitDef* ud);		bool UnitReadyFilter(int unit);		void CombineGroups(void);	private:		AIClasses* ai;		list<int> units;		list< pair<int, float3> > stuckUnits;		// TODO: should be sets		list<int> unarmedAirUnits;		list<int> armedAirUnits;		bool airIsAttacking;		bool airPatrolOrdersGiven;		int airTarget;		int newGroupID;		list<CAttackGroup> attackGroups;	//	list<CAttackGroup> defenseGroups;		int unitArray[MAX_UNITS];		vector<float3> kMeansBase;		int kMeansK;		vector<float3> kMeansEnemyBase;		int kMeansEnemyK;};#endif

⌨️ 快捷键说明

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