types.h

来自「2002年」· C头文件 代码 · 共 281 行

H
281
字号
#ifndef __TYPES_H__
#define __TYPES_H__

#include <stdlib.h>
#include <math.h>

enum SenseType{See_Msg,Sense_Msg,Hear_Msg,SP_Msg,SC_Msg,PP_Msg,PT_Msg,FI_Msg,CPT_Msg,No_Msg};
enum VIEWQUALITY{VQ_High,VQ_Low};
enum VIEWWIDTH{VW_Narrow,VW_Normal,VW_Wide}; 
enum VWTime{VWT_Current,VWT_Future};

typedef int Time;
typedef int UNum;
typedef float AngleDeg;

enum MarkerType{
	Goal_L,
	Goal_R,

	Flag_C,
	Flag_CT,
	Flag_CB,
	Flag_LT,
	Flag_LB,
	Flag_RT,
	Flag_RB,

	Flag_PLT,
	Flag_PLC,
	Flag_PLB,
	Flag_PRT,
	Flag_PRC,
	Flag_PRB,

	Flag_GLT,
	Flag_GLB,
	Flag_GRT,
	Flag_GRB,

	Flag_TL50,
	Flag_TL40,
	Flag_TL30,
	Flag_TL20,
	Flag_TL10,
	Flag_T0,
	Flag_TR10,
	Flag_TR20,
	Flag_TR30,
	Flag_TR40,
	Flag_TR50,

	Flag_BL50,
	Flag_BL40,
	Flag_BL30,
	Flag_BL20,
	Flag_BL10,
	Flag_B0,
	Flag_BR10,
	Flag_BR20,
	Flag_BR30,
	Flag_BR40,
	Flag_BR50,
	Flag_LT30,
	Flag_LT20,
	Flag_LT10,
	Flag_L0,
	Flag_LB10,
	Flag_LB20,
	Flag_LB30,
	
	Flag_RT30,
	Flag_RT20,
	Flag_RT10,
	Flag_R0,
	Flag_RB10,
	Flag_RB20,
	Flag_RB30,
	No_Marker
};

enum PlayerSide{
	Side_My,
	Side_Opp,
	Side_Unknown,
};

enum ObjType{
	OBJ_Line,
	OBJ_Ball,
	OBJ_Marker,
	OBJ_Marker_Behind,  // Not seen but sensed obj
	OBJ_Player
};

enum SideLine{
	SL_Left,
	SL_Right,
	SL_Top,
	SL_Bottom,

	SL_No_Line
};


enum PlayMode{ 
	PM_No_Mode,	
	PM_Before_Kick_Off,
	PM_My_Kick_Off,
	PM_Their_Kick_Off,
	PM_My_Kick_In,
	PM_Their_Kick_In,
	PM_My_Corner_Kick,
	PM_Their_Corner_Kick,
	PM_My_Goal_Kick,
	PM_Their_Goal_Kick,
	PM_My_Free_Kick,
	PM_Their_Free_Kick,
	PM_My_Goalie_Free_Kick,     /* not a real play mode */
	PM_Their_Goalie_Free_Kick,  /* not a real play mode */
	PM_Drop_Ball,
	PM_My_Offside_Kick,
	PM_Their_Offside_Kick,
	PM_Play_On,
	PM_Half_Time,
	PM_Time_Up,
	PM_Extended_Time,
	
	PM_My_Free_Kick_Fault,
	PM_Their_Free_Kick_Fault,
	PM_My_BackPass,
	PM_Their_BackPass
};

enum KickOff_Mode{
	KickOff_Mine,
	KickOff_Theirs
};

enum CMDType {
	CMD_none,
	CMD_dash,
	CMD_turn,
	CMD_kick,
	CMD_say,
	CMD_turn_neck,
	CMD_catch,
	CMD_move,
	CMD_bye,
	CMD_change_view,
	CMD_sense_body,
	CMD_donothing,
	CMD_stay,
	CMD_attentionto,
	CMD_pointto,
	CMD_tackle
};

enum ActionType{
	Action_none,
	Action_interception,

	Action_positioning_offense,
	Action_positioning_offside,
	Action_positioning_defense,
	Action_positioning_block,
	Action_positioning_mark,
	Action_positioning_coordinate,
	Action_positioning_setplay,
	Action_press,

	Action_passwait,
	Action_pass,
	Action_shoot,
	Action_dribble,
	Action_fastdribble,
	Action_catch,
	Action_turn_ball,
	Action_holdball,
	Action_avoidenemy,
	Action_clear,

	Action_visual,	
	
	Action_other
};

#define PriorityA 1.0f
#define PriorityA_ 0.9f
#define PriorityB 0.8f
#define PriorityB_ 0.7f
#define PriorityC 0.6f
#define PriorityC_ 0.5f
#define PriorityD 0.4f
#define PriorityD_ 0.3f
#define PriorityE 0.2f
#define PriorityE_ 0.1f
#define NoPriority 0.0f
#define ALittlePriority 0.01f
#define QuarterPriority 0.025f
#define HalfPriority 0.05f
#define FifthPriority 0.02f
#define PriorityLevel 0.1f

#define Urgency_Crisis 0.9f 
#define Urgency_High 0.8f
#define Urgency_HalfHigh 0.7f
#define Urgency_Normal 0.6f
#define Urgency_HalfLow 0.45f
#define Urgency_Low 0.3f

#define InfCycles 1000.0f

enum TurnDir{
	Turn_none = 0,
	Turn_cw = 1,
	Turn_ccw = -1,
	Turn_avoid = 2,
};

enum KT_Res{
	KT_turnball,
	KT_lostball,
	KT_stopball,
	KT_kickaway,
	KT_success,
	KT_adjustball,
	KT_accelerate,
};

enum DR_Mode{
	DR_left = 1,
	DR_right = -1
};

enum KK_Mode{
	KK_fast,
	KK_slow
};

enum DribbleAction{
	DR_NoAction,
	DR_Turn,
	DR_KickTurn,
	DR_KickAdjust,
	DR_Dash,
	DR_KickForward
};

enum VS_mode{
	VS_normal,
	VS_noturn
};

enum SP_State{
	SPST_Initialize,
	SPST_Prego,
	SPST_ExecWait,
	SPST_Executing,
	SPST_AfterExec
};

enum GameState{
	GS_Before_Kick_Off,
	GS_Playing,
	GS_Their_SetPlay,
	GS_My_SetPlay,
	GS_Other
};

enum VisualObjType{
	VO_none,
	VO_ball,
	VO_player,
	VO_route,
	VO_ground
};
//constant variable"
const int SP_team_size = 11;

#endif //__TYPES_H__

⌨️ 快捷键说明

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