📄 offense.h
字号:
/* * Copyright 2002-2004, Mersad Team, Allame 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. * * Created by: Ahmad Boorghany * Released on Friday 1 April 2005 by Mersad RoboCup Team. * For more information please read README file.*/#ifndef __OFFENSE_H#define __OFFENSE_H#include <Positioning.h>#include <AdvancedAction.h>#define OFFENSE_X_SIZE 20#define OFFENSE_Y_SIZE 40#define OFFENSE_POINTS_STEP 1.00#define OFFENSE_X_NUM (int)(OFFENSE_X_SIZE / OFFENSE_POINTS_STEP)#define OFFENSE_Y_NUM (int)(OFFENSE_Y_SIZE / OFFENSE_POINTS_STEP)#define OFFENSE_POINTS_NUM (OFFENSE_X_NUM * OFFENSE_Y_NUM)#define OFFSIDE_SURE_DIST 2#define FASTEST_DELTA_DIST 1#define SHOOT_WEIGHT 20#define HOME_DIST_WEIGHT 15#define INTERCEPT_CALC_WEIGHT 10enum OffenseDecision{ OD_NONE, OD_GETTING_CROSS};class Offense: public AdvancedAction{protected: bool valids[OFFENSE_POINTS_NUM]; float weights[OFFENSE_POINTS_NUM]; unsigned offenseMax; Point offensePoint; InterceptCalculate interCalc; OffenseDecision offenseDecision; const Positioning &positioning; void logWeights(); void resetWeights(); void applyHomeWeights(); void applyShootWeights(); void applyInterceptCalcWeights(); void applyOneInterceptCalcWeight(const InterceptPlayer &checkPlayer); unsigned getMaxWeight(); Point getWeightPoint(unsigned num); OffenseDecision getOffenseDecision(); void nonPlayOnOffense();public: Offense(const WorldModel *worldModel, const Positioning &positioning); virtual ~Offense(); virtual void execute(SayDecisionFlags &sayFlags); virtual float getValue(); virtual DecideType getType(); Point getHomePoint(int playerUniNum);};#endif // __OFFENSE_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -