Commit 3ca1076c authored by Arnaud Cadot's avatar Arnaud Cadot

Merge branch 'master' of em6.club.resel.fr:gitRobotique

parents 5933077f 49e97cf3
......@@ -109,6 +109,7 @@ HEADERS += \
../../include/actionneurs/fishingNet.h \
../../include/actionneurs/parasol.h \
../../include/strategie/benne.h \
../../include/strategie/cubeDebut.h \
../../include/clock.h
......@@ -189,6 +190,7 @@ SOURCES += \
../../src/strategie/cabine.cpp \
../../src/strategie/benne.cpp \
../../src/strategie/zoneConstruction.cpp \
../../src/strategie/cubeDebut.cpp \
../../src/actionneurs/fishingNet.cpp \
../../src/actionneurs/parasol.cpp \
../../src/clock.cpp
......
#ifndef CUBEDEBUT_H
#define CUBEDEBUT_H
#include "position.h"
#include "mediumLevelAction.h"
#include "command.h"
class CubeDebut : public MediumLevelAction
{
public:
CubeDebut();
CubeDebut(Position position);
~CubeDebut();
int update();
Etape::EtapeType getType();
protected:
Position position;
};
#endif // CUBEDEBUT_H
......@@ -22,6 +22,7 @@ public:
CABINE = 8,
ZONE_CONSTRUCTION = 9,
CUBE_DEBUT = 10,
POINT_PASSAGE = 0,
COLLECT = 1,
......
......@@ -18,6 +18,7 @@
#include "manipulationCoinGaucheHaut.h"
#include "manipulationCoinGaucheHautPiedSolitaire.h"
#include "benne.h"
#include "cubeDebut.h"
class Krabi2016 : public StrategieV3
{
......
#include "initkrabi.h"
#ifdef ROBOTHW
InitKrabi::InitKrabi() : Initialisation(PositionPlusAngle(Position(194, 1000), 0))
InitKrabi::InitKrabi() : Initialisation(PositionPlusAngle(Position(194, 900), 0))
{
}
#else
#include <QDebug>
InitKrabi::InitKrabi(bool yellow, Robot* robot) : Initialisation(PositionPlusAngle(Position(194, 1000), 0), yellow, robot)
InitKrabi::InitKrabi(bool yellow, Robot* robot) : Initialisation(PositionPlusAngle(Position(194, 900), 0), yellow, robot)
{
qDebug() << "InitKrabi " << robot;
}
......
#include "cubeDebut.h"
#include "strategieV2.h"
#include "mediumLevelAction.h"
#include "command.h"
#include "position.h"
#ifndef ROBOTHW
#include <QDebug>
#endif
CubeDebut::CubeDebut(){}
CubeDebut::CubeDebut(Position goalPosition):MediumLevelAction(goalPosition)
{
goalPosition = this->goalPosition;
}
CubeDebut::~CubeDebut(){}
Etape::EtapeType CubeDebut::getType()
{
return Etape::CUBE_DEBUT;
}
int CubeDebut::update()
{
if (status == 0) //Début
{
StrategieV2::setCurrentGoal(this->getGoalPosition(), false, VITESSE_LINEAIRE_MAX, -100.0, 100.f);
#ifndef ROBOTHW
qDebug() << "Poussage des cubes devant la zone de depart";
#endif
status++;
}
else if (status == 1) {
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);
#ifndef ROBOTHW
qDebug() << "On revient au bercail";
#endif
status++;
}
}
else if (status == 2) {
if (Command::isNear(Position(600, 900), 10.0f)) // le second paramètre est la distance a l'objectif
{
#ifndef ROBOTHW
qDebug() << "On est revenu au bercail";
#endif
status++;
}
}
else if (status == 3) {
#ifndef ROBOTHW
qDebug() << "Etape poussage des cubes finie";
#endif
status = -1;
}
return status;
}
......@@ -375,6 +375,8 @@ QString Etape::getNameType(EtapeType type)
return "Tapis";
case DEPOSER_GOBELET:
return "Déposer Gobelet";
case CUBE_DEBUT:
return "Pousser les cubes a l'init";
default:
return QString::number(type);
}
......@@ -404,6 +406,8 @@ QString Etape::getShortNameType(EtapeType type)
return "Tapis";
case DEPOSER_GOBELET:
return "D.G";
case CUBE_DEBUT:
return "Cube debut";
default:
return "";
}
......
......@@ -19,11 +19,14 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
// Création des étapes
// Les étapes correspondant à des actions sont créées automatiquement lors de l'ajout d'actions
int start = Etape::makeEtape(Position(250, 1000, true), Etape::DEPART); // départ au fond de la zone de départ
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, 1000, true));
int wb = Etape::makeEtape(Position(880, 1140, true));
int wa = Etape::makeEtape(Position(600, 900, true));
int wb = Etape::makeEtape(Position(680, 740, true));
// On crée l'étape "pousse les cubes du début"
int c1 = Etape::makeEtape(new CubeDebut(Position(900, 900, true)));
/** Actions **/
......@@ -33,8 +36,8 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
// Pieds
int pa = Etape::makeEtape(new RamasserPied(Position(870, 1655, true)));
int pb = Etape::makeEtape(new RamasserPied(Position(1100, 1670, true)));
int pa = Etape::makeEtape(new RamasserPied(Position(970, 260, true)));
int pb = Etape::makeEtape(new RamasserPied(Position(1200, 260, true)));
// Etc.
......@@ -44,6 +47,7 @@ Krabi2016::Krabi2016(bool isYellow) : StrategieV3(isYellow)
Etape::get(start) ->addVoisin(wa);
Etape::get(wa) ->addVoisin(wb, zc2);
Etape::get(wa) ->addVoisin(zc1);
Etape::get(c1) ->addVoisin(wa);
Etape::get(wb) ->addVoisin(zc2);
Etape::get(pa) ->addVoisin(wb, zc2);
Etape::get(pb) ->addVoisin(pa, zc2);
......@@ -81,20 +85,23 @@ int Krabi2016::getScoreEtape(int i)
return 1;
}
else {
return 10000;
return 1000;
}
}
case Etape::CUBE_DEBUT :
return 10000;
case Etape::RAMASSER_PIED : {
// 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
benne->setBenneFull();
return 900;
return 100;
}
default :
return 10; /* DEBUG (0 sinon) */
return 1; /* DEBUG (0 sinon) */
}
}
......@@ -32,7 +32,7 @@ int ZoneConstruction::update()
#ifndef ROBOTHW
qDebug() << "Zone Construction";
#endif
StrategieV2::setCurrentGoal(this->getGoalPosition(), false, VITESSE_LINEAIRE_MAX, -100.0, 200.f);
//StrategieV2::setCurrentGoal(this->getGoalPosition(), false, VITESSE_LINEAIRE_MAX, -100.0, 200.f);
status++;
}
......
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