Le robot joue au ballon

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. Pour faire aller le robot à la case x,y on le déplacera en direction de la position x,y et ceci tant que le robot ne sera pas en x,y. On utilisera pour cela une boucle TantQue et un autre sous-programme AllerVersXY

Avant de commencer :

Enregistrer le programme

N'oubliez d'enregistrer votre programme de temps en temps, cela ne sera jamais rappelé. Et parfois RobotProg plante !

 

Sous-programme AllerVersXY

Ce sous-programme permettra de faire avancer le robot s'il est orienté vers la case à atteindre sinon il fera tourner le robot

Conditions logiques utilisées pour tester la direction du robot :

dyRobot=0 et (x-xRobot)*dxRobot > 0

Verifiez que l'organigramme est correct en cliquant le bouton "Vérifier organigramme"

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)

Si la condition logique donne le résultat Vrai l'organigramme présent dans le corps de la boucle est exécuté, puis l'instruction Fin TantQue ramène l'exécution à l'en-tête de la boucle, la condition est à nouveau évaluée, etc ...

Si la condtion logique donne le résultat Faux, le corps de la boucle n'est pas exécuté et l'exécution se poursuit au bloc suivant la boucle.

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 différent de x ou yRobot différent de y sera vraie:

 

* Test du sous-programme AllerALaCaseXY :

Comment programmer le ballon

Un robot joue au ballon

Ici vous allez écrire un programme dans lequel le robot trouve le ballon et le lance.
On réutilisera le sous-programme AllerALaCaseXY en donnant à x et y les valeurs de xBallon et yBallon dans le programme principal.

Enregistrer 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. Chacun des robots est associé à une fenêtre de programme. Quand le niveau est inférieur à 6, l'ouverture d'un programme ou la création d'un nouveau programme entraîne la fermeture du programme courant : il ne peut y avoir qu'un seul programme utilisé à la fois. Au niveau 6, quand vous ouvrez un autre programme les autres précedemment ouverts le restent.

L'ensemble des programmes des robots constituent le projet. Vous pouvez voir la liste de ces programmes dans la fenêtre du projet avec le menu Fenêtre > Projet. Cette fenêtre vous permet aussi d'afficher les programmes masqués ou de supprimer des programmes du projet. Au niveau 6, quand une fenêtre de programme est fermée, le programme proprement dit reste dans le projet même s'il n'est plus affiché

Au niveau 6 il est possible aussi de faire jouer les robots à différents jeux. Ici les robots vont jouer au basket.

Enregistrer le programme sous un nouveau nom

N'oubliez d'enregistrer votre programme de tant en tant, cela ne sera jamais rappelé. Et parfois RobotProg plante !

 

Partie de basket

Essai du programme précédent

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.

Exercice à rendre

* La partie de basket à plusieurs robots :

Envoi du fichier dans Chamilo :

Vérifie que tu es toujours indentifié. Vas dans la page d'accueil du cours Techno_3ème, et en haut à droite tu dois retrouver cet onglet bleu : avec ton nom écrit. Si ce n'est pas le cas retourne à la page d'accueil de Chamilo et réindentifie-toi.

 

 

Creative Commons License Page sous contrat Creative Commons.
autre_signature
Marc Gillet