penaltytricks.h
来自「该文件是包含了机器人足球比赛中的整个系统的代码」· C头文件 代码 · 共 83 行
H
83 行
#ifndef PenaltyTricks_H
#define PenaltyTricks_H
// Bag of primarily movement tricks
#include "../Common/LocomotionCommand.h"
#include "../Common/HeadCommand.h"
#include "KickSelecta.h"
#include "Trick.h"
class PenaltyTricks {
public :
class ChaseWithKick : public Trick {
public:
ChaseWithKick() {Init(1.0);}
ChaseWithKick(double _chaseSlowDownRate) {Init(_chaseSlowDownRate);}
void Init(double _chaseSlowDownRate);
virtual ~ChaseWithKick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetName();
virtual char* GetErrorMsg(int);
virtual Trick* GetCurrentTrick() {return currentTrick; }
private:
bool justKicked;
bool interruptible;
Utilities utils;
KickSelecta ks;
Trick* currentTrick;
Trick* headTrick;
double chaseSlowDownRate;
};
class ChaseBall : public Trick {
public:
ChaseBall() {Init(1.0);}
ChaseBall(double _slowDownRate) {Init(_slowDownRate);}
void Init(double _slowDownRate);
virtual ~ChaseBall();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
private :
Utilities utils;
Trick* headTrick;
double underChinAngle;
double slowDownRate;
double maxWalkAroundDistance;
double previousBallDistance;
double minDistanceSincePrevious;
double timeBallUnderChin;
};
class ComplexKick : public Trick {
public:
ComplexKick(double _normalTurnAmount, double _maxTurnAmount);
ComplexKick(double _normalTurnAmount, double _maxTurnAmount, double _extraFastTurn);
ComplexKick(Trick*);
virtual ~ComplexKick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
virtual Trick* GetCurrentTrick() {return currentTrick; }
private:
Trick* currentTrick;
Trick* turnTrick;
};
};
#endif // PenaltyTricks_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?