complextricks.h

来自「该文件是包含了机器人足球比赛中的整个系统的代码」· C头文件 代码 · 共 91 行

H
91
字号
#ifndef COMPLEXTRICKS_H
#define COMPLEXTRICKS_H
// Bag of complex tricks

#include "../Common/LocomotionCommand.h"
#include "../Common/HeadCommand.h"
#include "Trick.h"
#include "KickSelecta.h"
#include "Utilities.h"

class ComplexTricks {
public:
  class AdvancedChaseWithKick : public Trick {
  public:
    AdvancedChaseWithKick();
    virtual ~AdvancedChaseWithKick();
    virtual int Start();
    virtual int Abort();
    virtual int Continue();
    virtual bool IsUsingHead();
    virtual char* GetName();
    virtual char* GetErrorMsg(int);
    virtual Trick* GetCurrentTrick() {return currentTrick; }
    int ChaseSelecta();
  private:
    Utilities utils;
    KickSelecta ks;
    Trick* currentTrick;
    Trick* headTrick;
  };

  class PostChaseSearchForBall : public Trick {
  public:
    PostChaseSearchForBall(bool,double);
    virtual ~PostChaseSearchForBall();
    virtual int Start();
    virtual int Abort();
    virtual int Continue();
    virtual bool IsUsingHead() { return true; }
    virtual char* GetErrorMsg(int);
    virtual char* GetName();
  private:
    Trick* currentTrick;
    bool kicked;
    bool maxTurn;
    bool lookRight;
    int numFrames;
    Utilities utils;
  };

  class ChaseWithKick : public Trick {
  public:
    ChaseWithKick();
    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; }
    bool justKicked;
    bool interruptible;
  private:
    Utilities utils;
    KickSelecta ks;
    Trick* currentTrick;
    Trick* headTrick;
  };

  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 // COMPLEXTRICKS_H

⌨️ 快捷键说明

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