offense.h
来自「mersad源码 03年robocup 季军 可以研究一下大家」· C头文件 代码 · 共 80 行
H
80 行
/* * 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 + =
减小字号Ctrl + -
显示快捷键?