Open FlorentMouysset opened 10 years ago
Je vais modifie le speadl pour que tu es les positions de départs
Je t'ai rajouté les positions de départ.
Je prends le relais sur cette issue.
Perception :
Décider :
Agir :
QUESTIONS : Pour prendre une ressource, il faut se déplacer dessus ou juste prendre la ressource sans bouger ? Que fait exactement pullResource ?
void pullResource(Position position);
Indique à l'environnement qu'une ressource est retirée à la position indiquée. De cette manière l'environnement met à jour sa représentation (matrice) en mettant EMPTY à là place de la ressource.
Par contre aucunes vérifications n'est faites coté environnement :
Ces vérifications sont déléguées au robot. Mais si sa pose un pb on peut essayer d'en mettre un peu dans l'environnement.
Sinon je pense qu'il manque la position du robot demandeur ! En effet quand le robot se charge d'une ressource il devient un ROBOT_AND_RESOURCE, pour l'instant cela n'est pas répercuté dans l'environnement.
La signature complète serait donc :
void pullResource(Position positionRessource, Position positionRobot);
Dit-moi si tu souhaite l'évolution sinon dis-moi comment faire.
Enfin pour bien être sure : le robot ne doit pas aller au-dessus de la ressource juste dans le 8-voisinages (voir le 4-v si tu veux).
cf doCycle() classe RobotImpl