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

📄 headdecision.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 * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#ifndef __HEAD_DECISION_H#define __HEAD_DECISION_H#include <WorldModel.h>#define TURN_NECK_RESOLUTION 5enum TurnNeckMode {	TNM_NONE = 0,	TNM_AUTO_PLAY_ON = 1,	TNM_LOOK_NORMALLY = 2,	TNM_LOOK_CAREFULLY = 3,	TNM_LOOK_NORMALLY_TO_BALL = 4,	TNM_LOOK_CAREFULLY_TO_BALL = 5,	TNM_LOOK_CAREFULLY_TO_OPP_GOALIE = 6};struct HeadDecisionForm{	TurnNeckMode tnMode;	void reset();};class Command;class AdvancedAgent;class HeadDecision{protected:	float viewPartWeights[VIEW_PARTS_NUM];	unsigned viewPartObjectsNums[VIEW_PARTS_NUM];	Body nextBody;	Ball nextBall;	Command *turnNeckCommand;	Command *changeViewCommand;	// Weighting rates	float haveBallRate;	float havePlayerRate;	float objectsNumRate;	// Giving vars	const AdvancedAgent *owner;	const WorldModel *worldModel;	void decideForLookCarefullyToBall();	void decideForLookCarefullyToOppGoalie(TurnNeckMode &tnMode);	void decideForTurnNeckCommand(float nextViewAngle);	void decideForLookNormallyToBall(float nextViewAngle, TurnNeckMode &tnMode);	void logVariables();	void updateViewPartObjectsNum();	void setWeightsForLookNormally();	void setWeightsForLookCarefully();	float getViewPartWeight(unsigned viewPartNum);public:	HeadDecision(const AdvancedAgent *owner);	~HeadDecision();	void resetInfo();	void decide(const Command *bodyCycleCommand,			const HeadDecisionForm &headForm);	void updateAfterSee();	void updateAfterSenseBody();	Command *getTurnNeckCommand();	Command *getChangeViewCommand();};#endif // __HEAD_DECISION_H

⌨️ 快捷键说明

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