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

📄 types.h

📁 RoboCup 2D 仿真组老牌强队Mersad 2005的完整源代码
💻 H
字号:
/* *  Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * *  This program is free software, you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU Library General Public License for more details. * *  This file is created by: Ahmad Boorghany *  and is modified by: Sassan Haradji * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#ifndef __TYPES_H#define __TYPES_H#ifndef NULL#	define NULL 0#endif // NULL#include <iostream>// structuresenum RoleType {	Crosser,	CrosserFriend,	Supporter,	Insider,	Outsider,	ConstantPoint,	Invalid};struct Point{	float x;	float y;	Point(float x = 0.0, float y = 0.0): x(x), y(y) {}	float getDistance(const Point &point) const;};std::ostream &operator<<(std::ostream &stream, const Point &point);// enumeratorsenum TeamId{	TID_TEAMMATE = 0, TID_OPPONENT = 1, TID_UNKNOWN};enum ViewModeQuality{	VMQ_LOW, VMQ_HIGH};enum ViewModeWidth{	VMW_NARROW, VMW_NORMAL, VMW_WIDE};enum ActionType{	AT_NONE,	AT_LOOK_FOR_BALL,	AT_MOVE,	AT_HOLD_BALL,	AT_PENALTY_DECISION,	AT_GOALIE_CATCH_OFFENSE,	AT_NON_PLAY_ON_BACK_BALL,	AT_NON_PLAY_ON_GOTO_KICK,	AT_NON_PLAY_ON_BEFORE_KICK_OFF,	AT_PASS,	AT_SHOOT,	AT_DRIBBLE,	AT_SRPDRIBBLE,	AT_CLEAR,	AT_BLOCK,	AT_TACKLE,	AT_OFFENSE,	AT_DEFENSE,	AT_INTERCEPT,	AT_DRIBBLE_INTERCEPT,	AT_CATCH,	AT_GOALIE_CLEAR,	AT_GOALIE_INTERCEPT,	AT_GOALIE_POSITIONING,	// Forbidden for bodyCycleCommand	AT_POSITIONING,	AT_BASIC_AGENT,	AT_BASIC_COACH,	AT_ADVANCED_COACH,	AT_KICK_CALCULATE,	AT_CROSS_CALCULATE,	AT_SAY_DECISION,	AT_HEAD_DECISION,	AT_POINTTO_DECISION};enum Side{	SI_LEFT, SI_RIGHT};enum PlayMode{	PM_TIME_UP_WITHOUT_A_TEAM,	PM_TIME_UP,	PM_BEFORE_KICK_OFF,	PM_PLAY_ON,	PM_KICK_OFF,	PM_KICK_OFF_OPP,	PM_FREE_KICK,	PM_FREE_KICK_OPP,	PM_KICK_IN,	PM_KICK_IN_OPP,	PM_OFFSIDE,	PM_OFFSIDE_OPP,	PM_GOAL,	PM_GOAL_OPP,	PM_GOAL_KICK,	PM_GOAL_KICK_OPP,	PM_CORNER_KICK,	PM_CORNER_KICK_OPP,	PM_FREE_KICK_FAULT,	PM_FREE_KICK_FAULT_OPP,	PM_CATCH_FAULT,	PM_CATCH_FAULT_OPP,	PM_BACK_PASS,	PM_BACK_PASS_OPP,	PM_PENALTY_SETUP,	PM_PENALTY_SETUP_OPP,	PM_PENALTY_READY,	PM_PENALTY_READY_OPP,};enum VirtualPlayMode{	VPM_NONE,	VPM_DROP_BALL,	VPM_HALF_TIME,	VPM_TIME_EXTENDED,	VPM_PENALTY_DRAW,	VPM_GOALIE_CATCH_BALL,	VPM_GOALIE_CATCH_BALL_OPP,	VPM_GOAL_KICK_TAKEN,	VPM_FOUL,	VPM_FOUL_OPP,	VPM_PENALTY_ON_FIELD,	VPM_PENALTY_ON_FIELD_OPP,	VPM_PENALTY_MISS,	VPM_PENALTY_MISS_OPP,	VPM_PENALTY_SCORE,	VPM_PENALTY_SCORE_OPP,	VPM_PENALTY_WINNER,	VPM_PENALTY_WINNER_OPP,	VPM_PENALTY_FOUL,	VPM_PENALTY_FOUL_OPP,	VPM_PENALTY_TAKEN,	VPM_PENALTY_TAKEN_OPP,	VPM_INDIRECT_FREE_KICK,	VPM_INDIRECT_FREE_KICK_OPP};enum BallStatus{	BS_NONE,	BS_KICKABLE_TMM,	BS_KICKABLE_OPP,	BS_KICKABLE_BODY,	BS_KICKABLE_TMM_OPP,	BS_KICKABLE_BODY_TMM,	BS_KICKABLE_BODY_OPP,	BS_FREE_BALL,	BS_FREE_BALL_TMM,	BS_FREE_BALL_OPP,	BS_FREE_BALL_BODY,	BS_FREE_BALL_TMM_OPP,	BS_FREE_BALL_BODY_TMM,	BS_FREE_BALL_BODY_OPP};enum TriAnswer{	TA_YES,	TA_NO,	TA_DONT_KHOW};std::ostream &operator<<(std::ostream &stream, const BallStatus &var);std::ostream &operator<<(std::ostream &stream, const RoleType &var);/*template <typename T>std::string &operator+(std::string &str, T var);*/#endif // __TYPES_H

⌨️ 快捷键说明

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