Résoudre un labyrinthe sous javascool avec Pledge

ISNpro Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Nous sommes, moi et mon partenaire, actuellement en terminale scientifique en option SI et ISN (Informatique et Science du Numérique).
Dans le but du projet de fin d'année pour le bac, nous devons réaliser un algorithme résolvant un labyrinthe avec Pledge.
Nous avons compris le fonctionnement de l'algorithme mais nous avons du mal à le mettre en oeuvre sur java (logiciel javascool).
Voici ce que nous avons pu réaliser pour l'instant :


void image() {
   load("E:/Travail/ISN/Images/labydessin.PNG");
}

void pledge() {
   int p = 0;
   int x = 0;
   int y = 19;
   int blanc = getPixel(0, y);
   while (blanc != 0) {
      setPixel(0, y, "red");
      setPixel(0,19,"black");
      y = y -1;
      blanc = getPixel(0, y);
   }
}

// int blanc2 = getPixel(x, y);
// int blanc3 = getPixel(x, y);}
 void main() {
   reset(20, 20);
   image();
   pledge();
   
}



Ce n'est pas grand chose mais nous avons vraiment du mal.
coordonnées de notre repère : y = -20 et 19 et x = 20 et -19
nous avons un exemple de labyrinthe dans une image paint que nous loadons.


Pouvez vous nous aider avec des exemples et des résolutions (algorithmes)
Merci d'avance!
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Si ma mémoire est bonne, l'algorithme de Pledge consiste à toujours garder la main droite (ou gauche) sur le mur, et donc de toujours tourner à droite quoi qu'il arrive, quitte à faire demi-tour dans les culs de sac.

Dans ton code, tu n'as pas de notion de droite ou de gauche, tu fais toujours
y = y - 1
même si ça te fait traverser les murs !
Il faut que tu connaisses ta direction (vers le haut/bas/gauche/droite) pour savoir quelle est ta droite relative. Sans oublier de regarder s'il y a un mur là où tu veux aller, tu n'es pas un fantôme !

Remarque : le setPixel noir est inutile et ta condition while (blanc != 0) est fausse...
0
ISNpro Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, KX merci de ta réponse,
nous avons déjà compris ce que tu nous as communiqué : On cherche à le retranscrire en programme. Pourrais-tu nous envoyer une idée de programme ?
Merci d'avance et excuse nous de notre retard.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Je ne vais pas faire votre travail à votre place, ça n'a aucun intérêt ni pour moi, ni pour vous deux...

Le but de tout enseignement est avant tout de vous faire apprendre des choses !

Ici, si vous avez déjà compris l'algorithme, il devrait déjà se dégager un début de programme très différent de que vous avez montré plus haut...
0