Le robot joue au ballon |
|
Comment programmerr le ballon | |
Un robot joue au ballon | |
Comment programmer plusieurs robots | |
Partie de basket | |
Retour au sommaire du tutoriel | |
Comment aller chercher le ballon | |
*Dans ce chapitre, vous allez programmer le robot pour qu'il trouve le ballon, puis le lance. Il est donc d'abord nécessaire de savoir faire aller le robot dans une case du terrain, celle où se trouve le ballon. (La gestion du ballon sera expliquée au paragraphe suivant) * Vous allez donc écrire un sous-programme AllerALaCaseXY faisant aller le robot dans une case de coordonnées (x, y) x et y étant deux variables dont les valeurs auront été affectées avant d'appeler le sous-programme. * Avant de commencer : * Sous-programme AllerVersXY |
|
Conditions logiques utilisées pour tester la direction du robot : * Sous-programme AllerALaCaseXY |
|
* La boucle TantQue est représentée par un bloc boucle de même forme que la boucle Pour. L'en-tête de la boucle contient l'instruction TantQue qui est de la forme : le mot-clef TantQue suivi d'une condition logique (comme celles utilisées dans les tests) * Dans le sous-programme AllerALaCaseXY, le corps de la boucle, c'est à dire l'appel du sous-programme AllerVersXY sera exécuté tant que la condition xRobot <> x ou yRobot <> y sera vraie ; xRobot <> x est une expression logique qui compare xRobot et x, le résultat est vrai si xRobot est différent de x ; de même yRobot <> y est vraie si yRobot est different de y ; en conséquence la condition xRobot <> x ou yRobot <> y sera vraie si le robot n'est pas dans la case x, y * Test du sous-programme AllerALaCaseXY : |
|
Comment programmer le ballon | |
* Le ballon apparaît sur le terrain uniquement quand le programme utilise un mot-clef relatif au ballon. * La position du ballon sur le terrain est donnée par deux mots-clef xBallon et yBallon. * Commandes du robot relatives au ballon : PrendreBallon, PoserBallon, LancerBallon |
|
PrendreBallon : le robot prend le ballon s'il se trouve dans la même case que le ballon. |
|
Un robot joue au ballon | |
* Avant de commencer : * Ici vous allez écrire un programme dans lequel le robot trouve le ballon et le lance. |
|
- lancer l'exécution et appréciez votre travail ... | |
Comment programmer et faire jouer plusieurs robots | |
* Au niveau 6, on peut faire exécuter simultanément les programmes de plusieurs robots sur le même terrain. * L'ensemble des programmes des robots constituent le projet. Vous pouvez voir la liste de ces programmes dans la fenêtre du projet * Au niveau 6 il est possible aussi de faire jouer les robots à différents jeux. Ici les robots vont jouer au basket. |
|
Partie de basket | |
* Essai du programme précédent - Lancer le programme précédent : problème ! Dans certains cas le robot s'écrase contre les murs au centre du terrain, il faut revoir le sous programme AllerVersXY qui ne tenait pas compte des obstacles sur le terrain - Modifier le sous-programme AllerVersXY en remplaçant le bloc Avancer par un test qui permet soit d'avancer soit de tourner avant d'avancer pour éviter le mur. |
|
- relancez l'exécution : c'est dèja mieux, le robot ne s'écrase plus contre les murs au centre. Par contre il lance le ballon n'importe où ! * Pour pouvoir marquer un point au jeu de basket , le robot doit lancer le ballon dans le panier au centre. Or, quand le robot lance le ballon, le ballon va à 3 cases devant lui. Donc avant de lancer le ballon le robot doit aller dans une case distante de 3 pas du panier, par exemple la case 2,5 puis s'orienter vers le panier. D'où la modification suivante du programme principal : |
|
- lancez le programme, vous constaterez que maintenant le robot marque des points .... | |
* La partie de basket à plusieurs robots : - Pour essayer de jouer à plusieurs robots, vous pouvez enregistrer le programme que vous venez d'écrire, puis dupliquer le fichier et enfin ouvrir le fichier dupliqué : vous aurez deux robots joueurs suivant le même programme. - lancer l'exécution : et il apparait encore des problèmes : en effet, d'abord quand il y a plusieurs robots ils peuvent s'écraser les uns contre les autres, il faut donc tester la présence d'un autre robot avec le mot-clef CaseDevantOccupée, d'autre part, quand un robot a pris le ballon, le ballon change de place avec le robot, il faut donc modifier la recherche du ballon pour que les robots aillent vers le ballon au lieu d'aller vers une case x, y. A vous de jouer .... |
|
|