Skip to content
krabi2016.cpp 2.3 KiB
Newer Older
#include "krabi2016.h"
#include "ascenseur.h"
#include "pinces.h"

Arnaud Cadot's avatar
Arnaud Cadot committed
#ifndef ROBOTHW
    #include <QDebug>
#endif

Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
{
    //Initialisation des tableaux d'étapes
    this->numeroEtapeGarage = ETAPE_GARAGE;
Arnaud Cadot's avatar
Arnaud Cadot committed
    tableauEtapesTotal = Etape::initTableauEtapeTotal(NOMBRE_ETAPES);//new Etape*[NOMBRE_ETAPES];
Arnaud Cadot's avatar
Arnaud Cadot committed
    // Création des étapes
    // Les étapes correspondant à des actions sont créées automatiquement lors de l'ajout d'actions
Arnaud Cadot's avatar
Arnaud Cadot committed
    int start = Etape::makeEtape(Position(250, 1000, true), Etape::DEPART); // départ au fond de la zone de départ
Arnaud Cadot's avatar
Arnaud Cadot committed
    /** Points de passage **/
    int wa = Etape::makeEtape(Position(700,  1000, true));
    int wb = Etape::makeEtape(Position(880,  1140, true));
    int wc = Etape::makeEtape(Position(1120, 1203, true));

    /** Actions **/
    // Gobelets
    int ga = Etape::makeEtape(new Gobelet(Position(910,  805,    true)));
    int gb = Etape::makeEtape(new Gobelet(Position(1500, 1650,   true)));
    int gc = Etape::makeEtape(new Gobelet(Position(2090, 800,    true)));

    // Pieds
    int pa = Etape::makeEtape(new RamasserPied(Position(870,    1355, true)));
    int pb = Etape::makeEtape(new RamasserPied(Position(1100,   1770, true)));

    // Etc.
Arnaud Cadot's avatar
Arnaud Cadot committed
    /** Liens **/
    // [WIP]
    Etape::get(start)   ->addVoisin(wa);
    Etape::get(wa)      ->addVoisin(wb, wc);
    Etape::get(wb)      ->addVoisin(wc);
    Etape::get(ga)      ->addVoisin(wb, gb);
    Etape::get(gb)      ->addVoisin(wc);
    Etape::get(gc)      ->addVoisin(wc);
    Etape::get(pa)      ->addVoisin(wb, wc);
    Etape::get(pb)      ->addVoisin(pa, wc);

#ifndef ROBOTHW
    qDebug() << Etape::getTotalEtapes();
#endif


    // Certaines actions d'étapes ne finnissent pas là où elles ont commencé :
    // Clapets:
//    Etape::get(4)->setNumeroEtapeFinAction(43); //Clapet notre côté vers notre bord
Arnaud Cadot's avatar
Arnaud Cadot committed
    this->nombreEtapes = Etape::getTotalEtapes();
Arnaud Cadot's avatar
Arnaud Cadot committed
int Krabi2016::getScoreEtape(int i)
{

Arnaud Cadot's avatar
Arnaud Cadot committed
    switch (this->tableauEtapesTotal[i]->getEtapeType())
Arnaud Cadot's avatar
Arnaud Cadot committed
        /*case Etape::TYPE_ACTION:
            return NB_POINTS_ACTION; */
        case Etape::POINT_PASSAGE :
            return 0;
        default :
Arnaud Cadot's avatar
Arnaud Cadot committed
            return 10; /* DEBUG (0 sinon) */