Commit 819ec802 authored by Guillaume Buret's avatar Guillaume Buret

Removed hardcoded positions in Cabine and CubeDebut classes

parent 392cf192
......@@ -10,7 +10,7 @@ class Cabine : public MediumLevelAction
public:
Cabine();
Cabine(Position position);
Cabine(Position position, Position wd_position);
~Cabine();
......@@ -20,6 +20,7 @@ public:
protected:
Position position;
Position position_depart;
};
#endif // CABINE_H
......@@ -10,7 +10,7 @@ class CubeDebut : public MediumLevelAction
public:
CubeDebut();
CubeDebut(Position position);
CubeDebut(Position position, Position wa_position);
~CubeDebut();
......@@ -20,6 +20,7 @@ public:
protected:
Position position;
Position position_depart;
};
#endif // CUBEDEBUT_H
......@@ -10,9 +10,10 @@
Cabine::Cabine(){}
Cabine::Cabine(Position goalPosition):MediumLevelAction(goalPosition)
Cabine::Cabine(Position goalPosition, Position wd_position):MediumLevelAction(goalPosition)
{
goalPosition = this->goalPosition;
position_depart = wd_position;
}
Cabine::~Cabine(){}
......@@ -38,7 +39,7 @@ int Cabine::update()
if (Command::isNear(this->getGoalPosition(), 200.0f)) // le second paramètre est la distance a l'objectif
{
// après avoir poussé les cubes on revient en marche arrière
StrategieV2::setCurrentGoal(Position(600, 900), true, VITESSE_LINEAIRE_MAX, -100.0, 10.f);
StrategieV2::setCurrentGoal(position_depart, true, VITESSE_LINEAIRE_MAX, -100.0, 10.f);
#ifndef ROBOTHW
qDebug() << "On revient en marche arriere au point ou on prend son elan";
#endif
......@@ -47,7 +48,10 @@ int Cabine::update()
}
else if (status == 2) {
if (Command::isNear(Position(600, 900), 10.0f)) // le second paramètre est la distance a l'objectif
// A faire, ne pas hardcoder la position
if (Command::isNear(position_depart, 10.0f)) // le second paramètre est la distance a l'objectif
{
#ifndef ROBOTHW
qDebug() << "On est revenu au point ou on prend son elan";
......
......@@ -10,9 +10,10 @@
CubeDebut::CubeDebut(){}
CubeDebut::CubeDebut(Position goalPosition):MediumLevelAction(goalPosition)
CubeDebut::CubeDebut(Position goalPosition, Position wa_position):MediumLevelAction(goalPosition)
{
goalPosition = this->goalPosition;
position_depart = wa_position;
}
CubeDebut::~CubeDebut(){}
......@@ -38,7 +39,7 @@ int CubeDebut::update()
if (Command::isNear(this->getGoalPosition(), 100.0f)) // le second paramètre est la distance a l'objectif
{
// après avoir poussé les cubes on revient en marche arrière
StrategieV2::setCurrentGoal(Position(600, 900), true, VITESSE_LINEAIRE_MAX, -100.0, 10.f);
StrategieV2::setCurrentGoal(position_depart, true, VITESSE_LINEAIRE_MAX, -100.0, 10.f);
#ifndef ROBOTHW
qDebug() << "On revient au bercail";
#endif
......@@ -48,9 +49,7 @@ int CubeDebut::update()
else if (status == 2) {
// A faire, ne pas hardcoder la position
if (Command::isNear(Position(600, 900), 10.0f)) // le second paramètre est la distance a l'objectif
if (Command::isNear(position_depart, 10.0f)) // le second paramètre est la distance a l'objectif
{
#ifndef ROBOTHW
qDebug() << "On est revenu au bercail";
......
......@@ -22,13 +22,17 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
int start = Etape::makeEtape(Position(250, 900, true), Etape::DEPART); // départ au fond de la zone de départ
/** Points de passage **/
int wa = Etape::makeEtape(Position(600, 900, true));
Position wa_position = Position(600, 900, true);
int wa = Etape::makeEtape(wa_position);
int wb = Etape::makeEtape(Position(680, 700, true));
int wc = Etape::makeEtape(Position(1000, 500, true));
int wd = Etape::makeEtape(Position(400, 500, true));
Position wd_position = Position(400, 500, true);
int wd = Etape::makeEtape(wd_position);
// On crée l'étape "pousse les cubes du début"
int cd1 = Etape::makeEtape(new CubeDebut(Position(900, 900, true)));
int cd1 = Etape::makeEtape(new CubeDebut(Position(900, 900, true), wa_position));
/** Actions **/
......@@ -42,8 +46,8 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
int pb = Etape::makeEtape(new RamasserPied(Position(1200, 260, true)));
// Cabines de plage
int cp1 = Etape::makeEtape(new Cabine(Position(250, 50, true)));
int cp2 = Etape::makeEtape(new Cabine(Position(500, 50, true)));
int cp1 = Etape::makeEtape(new Cabine(Position(250, 50, true), wd_position));
int cp2 = Etape::makeEtape(new Cabine(Position(500, 50, true), wd_position));
/** Liens **/
......@@ -51,9 +55,9 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
Etape::get(start) ->addVoisin(wa);
Etape::get(wa) ->addVoisin(wb, zc2);
Etape::get(wc) ->addVoisin(zc1);
Etape::get(cd1) ->addVoisin(wa);
Etape::get(cp1) ->addVoisin(wd);
Etape::get(cp2) ->addVoisin(wd);
Etape::get(cd1) ->addVoisin(wa);
Etape::get(cp1) ->addVoisin(wd);
Etape::get(cp2) ->addVoisin(wd);
Etape::get(wc) ->addVoisin(zc2);
Etape::get(wd) ->addVoisin(wb);
Etape::get(pa) ->addVoisin(wb, zc2);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment