Site hosted by Angelfire.com: Build your free website today!

Retour au sommaire
Activité précédente :  Récursivité 3, surfaces colorées.
Activité suivante :     Le jeu des allumettes, l'ordinateur apprend.

17. L'interface, les boutons : Le terrain de jeu du morpion.




Matériel informatique:

Notions:

Notions Windows :

boutons, edition, copier / coller

Notions opératoires :

Commandes :

bouton.crée, bouton.ef bouton.ajour donne sisinon mot répète

Opération :

compteur

Outils : Bouton interface.
 
 

Objectif élève :

Construire le terrain de jeu du morpion avec des boutons

Objectif pédagogique :

Démystifier les boutons. Faire travailler les coordonnées.

Consigne :

Réaliser le terrain de jeu du morpion

Réalisation :

Chaque bouton appelle la procédure joue avec son nom comme donnée.

La procédure joue modifie l'affichage du bouton en la marque du joueur.

X ou O et inverse la marque pour le joueur suivant.

Définition des boutons

! Activer le bouton interface.

- Une fenêtre s'ouvre .

! Activer le bouton bouton.

- Une fenêtre avec des zones de saisie s'ouvre. Le nom du bouton doit être unique et ne correspondre à aucun autre élément d'interface, les minuscules sont distinctes des majuscule.Appeler le bouton c1 (pour case 1).

L'affichage est le texte du bouton, laisser en blanc.

L'action est la commande qui sera exécutée lors de l'activation du bouton. Ce sera joue "c1.
 
 

! Activer le bouton sélectionner.

- La fenêtre de sélection apparaît.

! Sélectionner la zone où se trouvera le bouton.

! Activer le bouton créer.

- Le bouton apparaît ainsi que la commande correspondante dans le commander.

Si le bouton ne convient pas, effacer le bouton avec le bouton Effacer et recommencer la sélection.

Pour les autres boutons, modifier la commande afin de faire des boutons de même taille. Les 4 nombres dans la commande sont le rectangle du bouton ; x, y, largeur, hauteur.

Pour calculer la nouvelle position x du bouton c2, il faut ajouter la largeur du bouton à la coordonnée x. Utiliser l'ordinateur pour faire le calcul.
 
 

! montre <valeur de x> + <valeur de la largeur>
 
 

! cliquer sur la commande de création du bouton et changer dans la commander , le nom du bouton en c2 et le nom dans l'action.ainsi que la coordonnée X. Exécuter la commande.

- Le bouton c2 apparaît.

! Faire de même pour c3.

! Pour c4 calculer le nouvel y en soustrayant la hauteur de l'ancien y. Reprendre la commande de c1 et changer le nom et y.

! De même pour c5 à partir de c2 et du même y,c6 à partir de c3.

! Calculer le nouvel y pour c7 et faire c7 à partir de c4 , c8 à partir de c5 et c9 à partir de c6.
 
 

! Activer le bouton programme et dans l'éditeur copier ces commandes dans une procédure init. A jouter donne "joueur "X à la fin de init.

! Sélectionner cette commande et utiliser le menu test pour envoyer la commande dans le commander. Ceci permet de définir la variable joueur sans exécuter init.
 
 

Il n'est pas indispensable de tester init maintenant dans ce cas reprendre plus loin.
 
 

Test de init

Pour exécuter init, il faudrait d'abord effacer tous les boutons.

La commande fenetre.ef <nom> Efface toutes les fenêtres et boutons. si le nom n'existe pas. Comme les outils seront aussi effacés, mais sans que la logique de fermeture des outils soit respectée, il faut d'abord effacer les outils avec efoutils. Les outils seront rappellés avec la commande outils.
 
 

! efoutils fenetre.ef  "outils

- Les boutons sont supprimés.

! init

- Si tout va bien, les boutons reviennent.
 
 

Fin du test de init.
 
 

! Dans l'éditeur , définir la procédure joue. La mémoire joueur contient la marque (un X actuellement).

La commande bouton.ajour <nom><texte> permet d'afficher ce X dans un bouton.

! Dans le commander : bouton.ajour "c1 "x

- Un x apparaît dans le bouton c1.

! Dans le commander : bouton.ajour "c1 "

- La marque est effacée.

La procédure joue :nom va placer la marque du joueur puis inverser la marque. Si joueur contient X ,on met un O dans joueur, sinon un X.

! Ecrire la procédure joue.

- pour joue :nom
  bouton.ajour :nom :joueur
  sisinon :joueur = "X[donne "joueur O][donne "joueur "X]
  end

! Quitter l'éditeur et jouer en activant les boutons.

Il faut créer un bouton Rejouer qui efface le terrrain de jeu.

L'opération compteur, utilisée dans un répète retourne l'indice de répétition.

La commande mot permet de faire un mot de deux mots séparés.

mot "c compteur sera successivement dans le répète c1, c2. etc.

! Dans le commander : répète 9 [bouton.ajour mot "c compteur " ]

- Les boutons deviennent gris.

! Créer avec la fenêtre bouton, le bouton rejouer, copier dans la zone action la commande qui efface les boutons.

! Ajouter la commande de création de ce bouton dans init.

! Pour essayer init : efoutils fenetre.ef " outils init
 
 

Si la mémoire startup contient une liste de commandes, ces commandes sont exécutées lors du chargement de la page.

! dans le commander : donne "startup [init]

! Enregistrer le programme. (bouton Enregistrer).

Pour aller plus loin:

- Empêcher de jouer dans une case occupée.

- Vérifier les alignements.

- Faire jouer l'ordinateur. L'ordinateur peut jouer au haserd dans une case vide, vérifier les lignes à 2 cases semblables et la troisième vide. Jouer avec une tactique gagnante. (Voir dans examples/UCBLOGO le programme ttt.lgo ( Supprimer la ligne ss (Split Screen) qui n'existe plus en MSWLOGO).
 

 

Retour au sommaire
Activité précédente :  Récursivité 3, surfaces colorées.
Activité suivante :     Le jeu des allumettes, l'ordinateur apprend.