Newer
Older
#include "tapis.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"
Tapis::Tapis(){}
Tapis::Tapis(Position position):MediumLevelAction(position) //si cote est true on veut poser le tapis droit, si non c'est le tapis gauche
Cecile Bouette
committed
if (position == Position(1000, 750))
if(StrategieV2::getIsBlue())
this->cote = BrasTapis::DROIT;
else
this->cote = BrasTapis::GAUCHE;
Cecile Bouette
committed
if (position == Position(1450, 750))
if(StrategieV2::getIsBlue())
this->cote = BrasTapis::GAUCHE;
else
this->cote = BrasTapis::DROIT;
}
Tapis::~Tapis(){}
Etape::EtapeType Tapis::getType()
{
return Etape::TAPIS;
}
int Tapis::update()
{
if (status == 0)
{
qDebug() << "tapis";
status++;
}
else if (status == 1)
{
StrategieV2::setCurrentGoal(goalPosition, goBack);
status++;
}
else if (status == 2)
{
if (Command::isNear(goalPosition))
{
status++;
}
}
else if (status == 3)
{
{
//ouvrir le bras
Cecile Bouette
committed
qDebug() << "On ouvre le bras";
BrasTapis::getSingleton(cote)->ouvrirBras();
status++;
}
}
{
status++;
}
{
//fermer bras
qDebug() << "On ferme le bras";
BrasTapis::getSingleton(cote)->fermerBras();
status++;
}
{
status++;
}
else if (status == 203) //On attend que les bras se ferment.
{
#ifndef ROBOTHW
qDebug() << "Etape tapis finie";
#endif
Cecile Bouette
committed
status = -1;
}
return status;
}