📄 balltricks.h
字号:
#ifndef BALLTRICKS_H
#define BALLTRICKS_H
// Bag of ball tricks
#include "../Common/LocomotionCommand.h"
#include "../Common/HeadCommand.h"
#include "Trick.h"
class BallTricks {
public :
class WaitForKick : public Trick {
public:
WaitForKick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
public :
Utilities utils;
};
class WaitForGrab : public Trick {
public:
WaitForGrab();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
public :
Utilities utils;
};
class CheckForBall : public Trick {
public:
CheckForBall();
virtual ~CheckForBall();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
virtual Trick* GetCurrentTrick() {return currentTrick;}
public :
bool sentGrabTest;
bool sentGrabComplete;
Trick* currentTrick;
Utilities utils;
};
class TurnWithBallUntilGoal : public Trick {
public:
TurnWithBallUntilGoal(double _normalAmount, double _maxAmount);
TurnWithBallUntilGoal(int _headUpDelay, double _normalAmount, double _maxAmount);
TurnWithBallUntilGoal(double _normalAmount, double _maxAmount, int _maxSteps);
TurnWithBallUntilGoal(double _normalAmount, double _maxAmount, int _maxSteps, double _quitAngle);
TurnWithBallUntilGoal(int _headUpDelay, double _normalAmount, double _maxAmount, int _maxSteps);
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
private:
bool isTurningLeft;
bool sawGoal;
double maxAmount;
double turnAmount;
double absCurTurnAmount;
long startFrame;
int numStepsTaken;
int maxSteps;
int headUpDelay;
double quitAngle;
Utilities utils;
};
class TurnWithBall : public Trick {
public:
TurnWithBall(double _normalAmount);
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
private:
double turnAmount;
double curTurnAmount;
Utilities utils;
};
class TurnWithBallHeadDown : public Trick {
public:
TurnWithBallHeadDown(double _normalAmount);
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
private:
double turnAmount;
double curTurnAmount;
Utilities utils;
};
class StrafeWithBall : public Trick {
public:
StrafeWithBall(double _strafeAmount);
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
private:
double strafeAmount;
double curStrafeAmount;
Utilities utils;
};
class TurnKick : public Trick {
public:
TurnKick(double _normalAmount, bool _hard, bool _didGrab);
virtual ~TurnKick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
double turnAmount;
private:
double frames;
bool hard;
bool didGrab;
Trick* headTrick;
Utilities utils;
};
class GrabTrick : public Trick {
public:
GrabTrick();
virtual ~GrabTrick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
virtual Trick* GetCurrentTrick() {return NULL;}
double frames;
Trick* headTrick;
Trick* currentTrick;
Utilities utils;
double startPan;
};
class SlapTrick : public Trick {
public:
SlapTrick(int _kickType);
SlapTrick(int _kickType, bool _grab);
virtual ~SlapTrick();
virtual int Start();
virtual int Abort();
virtual int Continue();
virtual bool IsUsingHead();
virtual char* GetErrorMsg(int);
virtual char* GetName();
virtual Trick* GetCurrentTrick() {return NULL;}
int frames;
int far;
bool grab;
int kickType_;
Trick* headTrick;
Trick* currentTrick;
Utilities utils;
};
};
#endif // BALLTRICKS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -