Skip to content
krabi2016.cpp 2.64 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(600,  1000, true));
Arnaud Cadot's avatar
Arnaud Cadot committed
    int wb = Etape::makeEtape(Position(880,  1140, true));
Arnaud Cadot's avatar
Arnaud Cadot committed

    /** Actions **/
    // Zone de construction
    int zc1 = Etape::makeEtape(new ZoneConstruction(Position(980, 920, true), benne));
    int zc2 = Etape::makeEtape(new ZoneConstruction(Position(1050, 1050, true), benne));
Arnaud Cadot's avatar
Arnaud Cadot committed

    // Pieds
    int pa = Etape::makeEtape(new RamasserPied(Position(870,    1655, true)));
    int pb = Etape::makeEtape(new RamasserPied(Position(1100,   1670, true)));
Arnaud Cadot's avatar
Arnaud Cadot committed

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

#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::DEPART :
            return 0;
        case Etape::POINT_PASSAGE :
            return 0;
            // On fait comme si on avait rammasé un cube, du coup la benne est pleine, en vrai on fera
            // tout ça dans la future classe cube
Arnaud Cadot's avatar
Arnaud Cadot committed
            return 10; /* DEBUG (0 sinon) */