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

📄 types.h

📁 RoboCup 2D 仿真组冠军源代码之1998年冠军队——CMUnited98源代码
💻 H
字号:
/* types.h * CMUnited98 (soccer client for Robocup98) * Peter Stone <pstone@cs.cmu.edu> * Computer Science Department * Carnegie Mellon University * Copyright (C) 1998 Peter Stone * * CMUnited-98 was created by Peter Stone, Manuela Veloso, and Patrick Riley * * You may copy and distribute this program freely as long as you retain this notice. * If you make any changes or have any comments we would appreciate a message. *//* types.h defines types used throughout the program */#ifndef _TYPES_H_#define _TYPES_H_#include <iostream.h>#include <math.h>#include <stdlib.h>#include <stdio.h>#include <ctype.h>#include <signal.h>#include <sys/time.h>#define NULLCHAR	'\000'typedef int Unum;  /* Uniform number           */typedef int Pnum;  /* Position number          */typedef int SPnum; /* Setplay position number  */enum SenseType{  See_Msg,  Hear_Msg,  Sense_Msg};enum CMDType {  CMD_none,  CMD_dash,  CMD_turn,  CMD_kick,  CMD_catch,  CMD_move,  CMD_bye,  CMD_change_view,  CMD_say,  CMD_sense_body};enum ObjType{  OBJ_Line,  OBJ_Ball,  OBJ_Marker,  OBJ_Marker_Behind,  /* Not seen */  OBJ_Player};enum Vqual{  VQ_Low,  VQ_High};enum Vwidth{  VW_Narrow,  VW_Normal,  VW_Wide};enum Kmode{  KO_Mine,  KO_Theirs};enum Pmode{ 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_Drop_Ball, PM_My_Offside_Kick, PM_Their_Offside_Kick, PM_Play_On, PM_Half_Time, PM_Time_Up, PM_Extended_Time};enum Bool{  FALSE,  TRUE};enum SideLine{  SL_Left,  SL_Right,  SL_Top,  SL_Bottom,  SL_No_Line};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 Ptype{  PT_None,  PT_Goaltender,  PT_Sweeper,  PT_Defender,  PT_Midfielder,  PT_Forward};enum Pside{  PS_None,  PS_Left,  PS_Center,  PS_Right};enum Fside{ /* Side of the field */  FS_Right,  FS_Left};enum Utype{  UT_Defense,  UT_Midfield,  UT_Forward,  UT_Left,  UT_Center,  UT_Right,  UT_None};enum Ftype{  FT_None,  FT_433,  FT_442,  FT_352,  FT_72,  FT_334,  FT_244,  FT_532,  FT_right,  FT_left};enum MCtype{  /* Mark change type */  MC_Obey,  MC_Closest,  MC_Open};enum HCtype{  /* Home change type */  HC_Obey,  HC_Get_Open,  HC_Shift,  HC_Mark};enum SPAtype{ /* Set play action type */  SPA_None,  SPA_Starter,  SPA_Passer,       /* goes and passes   */  SPA_Shooter,      /* goes and shoots   */  SPA_Knocker,      /* aims at a point   */  SPA_Blaster        /* blasts at a point */};/* Communication targets and messages */enum TargetType{  TT_Player,  TT_Position,  TT_Unit,  TT_All};enum MessageType{  CMsg_new_coach,         /* coach  */  PMsg_none,              /* player */  PMsg_ping,                PMsg_ping_ball,  PMsg_ping_teammate,  PMsg_ping_opponent,  PMsg_ready_to_pass,  PMsg_ready_to_receive,  PMsg_passing_decision,  PMsg_my_ball,  PMsg_leaving_position,  PMsg_already_there,  PMsg_tired,  PMsg_Setplay_Ready,  PMsg_Setplay_OK_Ready,  PMsg_Setplay_Starter,  PMsg_Setplay_Ping_Starter,  PMsg_marking,  UMsg_assign_mark,       /* unit   */  UMsg_assign_position};/* Action Modes */enum ActionMode{  AM_Unknown,    AM_goaltend,  AM_Localize,  AM_Face_Ball,  AM_Watch_Pass,  AM_Recover,  AM_Before_Kick_Off,  AM_Setplay,  AM_GetOnSide,  AM_With_Ball,  AM_Offense_Active,  AM_Offense_Auxiliary,  AM_Offense_Passive,  AM_Defense_Active,  AM_Defense_Auxiliary,  AM_Defense_Passive};enum PassChoiceType{  PC_None,  PC_Fixed,  PC_Random,  PC_DT_Max,  PC_DT_Thresh,  PC_Congestion};/* these are for things in kick.* */typedef enum TURNDIR { TURN_NONE = 0,  TURN_CW = -1,  TURN_CCW = 1,  TURN_CLOSEST = 10,  TURN_AVOID = 11 /* avoid any opponents */} TurnDir;typedef enum KICKTORES{ KT_None,  KT_Success,  KT_DidKick,  KT_DidNothing,  KT_TurnedToBall,  KT_LostBall} KickToRes; typedef enum KICKMODE{ KM_None,  KM_HardestKick,  KM_Hard,  KM_Moderate,  KM_Quickly,  KM_QuickestRelease} KickMode;/* these are for things in intercept.* */typedef enum INTERCEPTRES{ BI_None,        /* no value yet */  BI_Invalid,     /* could not get an answer */  BI_Failure,     /* won;t be able to intercept ball */  BI_CanChase,    /* we're getting there - returned a GoToPoint command*/  BI_ReadyToKick  /* ball is in kickable area, we haven;t done anything yet */} InterceptRes; typedef enum ACTIONQUEUERES{  AQ_ActionQueued,  AQ_ActionNotQueued} ActionQueueRes;#endif

⌨️ 快捷键说明

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