Ordinateur domestique. Labyrinthe
1986/10/01 Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria
A cette occasion, nous réaliserons un programme qui aidera la xagua à chercher la sortie au labyrinthe. Ce programme est écrit pour Télé vidéo, mais vous pouvez également écrire pour spectrum.
Nous allons marquer le labyrinthe par une matrice. Les obstacles seront indiqués par un "1" et les cellules libres avec un "Ø".
L'entrée du labyrinthe (1,1) sera l'inerte et la sortie (m, n) sera la dimension de l'inerte, m et n. Dans ce cas, nous utiliserons m=n=8.
La souris sera définie avec sa position, c'est-à-dire avec les coordonnées du point ou de la pile qui se trouve au moment. Notez ce qui sera toujours sur une pile Ø. En outre, vous devez définir les directives possibles que le mouchoir peut avoir. Les directions possibles sont huit dans toutes les cellules, sauf celles de bord. Donc, pour que le comportement du xagua soit égalitaire dans tous les lieux, nous entourerons le labyrinthe d'obstacles. Voir comment:
Le changement de coordonnées de chaque adresse est présenté dans le tableau NORANTZA (8,2):
Modification de la coordonnée des colonnes pour suivre le cap I NORANTZA (I,1)
Modification de la coordonnée de ligne pour suivre l'adresse NORANTZA (I,2) I
Xagua partira de la pile d'entrée et passera d'un point à l'autre en fuyant les obstacles. Lorsque vous ne pouvez pas avancer, vous devez reculer. Par conséquent, le chemin parcouru par le sentier nous conduit par la table BIDEA (64,3).
Dans chacun des champs de cette table sera enregistré:
- Coordonnées d'une pile qui compose le chemin
- Sens du passage de cette pile à une autre
Lorsque Xagua se trouve dans une pile d'eau, la sobriété doit l'analyser à la recherche d'un "bon point". Pour qu'une pile soit un « bon point », vous devez remplir les conditions suivantes :
- Absence d'obstacles (marqué avec Øen le tableau LAB).
- Que la xagua ne passe pas par cette pile (que la MARQUE soit marquée avec Øen la table).
Si vous trouvez parmi les huit points de la zone un point qui remplit ces conditions, les coordonnées de la pile courante et l'adresse à suivre seront sauvegardées pour passer au nouveau point et passera au nouveau point. Ici suivra le même processus.
Si, au contraire, après avoir analysé les huit points de la zone, on ne voit pas la possibilité de passer à aucun point, il devra reculer en passant à la première pile (la dernière pile insérée dans la table BIDEA) et de là essayer dans un autre sens. Le processus est répétitif. Il restera jusqu'à atteindre l'une de ces deux situations:
- Localisation de la sortie
- Ne pas reculer
Dans le premier cas, la route sera marquée en rouge. Dans le second, le message sera:
"Il n'y a pas de chemin!"
Comme vous pouvez le constater, nous avons également mentionné la table appelée MARQUE. Dans le tableau suivant, nous marquerons avec un "1" pour savoir quelle pièce a passé la moka comme nous la déplacons. Si cela n'est pas fait, vous pouvez entrer dans un ramollissement sans fin.
Un exemple vous aidera à mieux comprendre: Supposons que le modeste (3,7) est dans l'inerte, que le premier "bon point" qui commence à étudier et à trouver les cellules de la zone est celui du nord (3,6). (3,7,2 nord) est enregistré dans la table BIDEA et est passé au point (3,6). Ici, vous ferez la même chose, mais si vous ne pouvez pas bouger après avoir vérifié les cellules adjacentes, vous devrez revenir au point (3,7) et essayer l'adresse suivante (norantza 3, nord-est). Continuer ainsi quand vous pouvez aller de l'avant et ne peut pas reculer jusqu'à ce que vous arrivez à la sortie ou vérifier qu'il n'y a pas de chemin.
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia