Skip to content
tapis.cpp 1.97 KiB
Newer Older
#include "tapis.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"

#ifndef ROBOTHW
#include <QDebug>
#endif
Tapis::Tapis(Position position):MediumLevelAction(position)  //si cote est true on veut poser le tapis droit, si non c'est le tapis gauche
Maxime JEAN's avatar
Maxime JEAN committed
    this->toLookAt = M_PI/2;
Maxime JEAN's avatar
Maxime JEAN committed
        if(StrategieV2::getIsBlue())
            this->cote = BrasTapis::DROIT;
        else
            this->cote = BrasTapis::GAUCHE;
Maxime JEAN's avatar
Maxime JEAN committed
        if(StrategieV2::getIsBlue())
            this->cote = BrasTapis::GAUCHE;
        else
            this->cote = BrasTapis::DROIT;
Etape::EtapeType Tapis::getType()
{
    return Etape::TAPIS;
}

int Tapis::update()
{
    if (status == 0)
    {
#ifndef ROBOTHW
                qDebug() << "tapis";
#endif
        status++;
    }

    else if (status == 1)
    {
        StrategieV2::setCurrentGoal(goalPosition, goBack);
        status++;
    }

    else if (status == 2)
    {
        if (Command::isNear(goalPosition))
        {
Maxime JEAN's avatar
Maxime JEAN committed
            StrategieV2::lookAt(toLookAt);
Maxime JEAN's avatar
Maxime JEAN committed
        if (Command::isLookingAt(toLookAt))
#ifndef ROBOTHW
#endif

            BrasTapis::getSingleton(cote)->ouvrirBras();
Maxime JEAN's avatar
Maxime JEAN committed
    else if (status < 103)
Maxime JEAN's avatar
Maxime JEAN committed
    else if (status == 103)
#ifndef ROBOTHW
        qDebug() << "On ferme le bras";
#endif
        BrasTapis::getSingleton(cote)->fermerBras();
        status++;
    }

Maxime JEAN's avatar
Maxime JEAN committed
    else if (status < 203)
Maxime JEAN's avatar
Maxime JEAN committed
    else if (status == 203)    //On attend que les bras se ferment.
    {
#ifndef ROBOTHW
        qDebug() << "Etape tapis finie";
#endif
Maxime JEAN's avatar
Maxime JEAN committed