Retour
au sommaire Outils : Bouton interface.
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
! 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.
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
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.
bouton.ajour :nom :joueur
sisinon :joueur = "X[donne "joueur O][donne "joueur "X]
end
Activité précédente :
Récursivité
3, surfaces colorées.
Activité suivante :
Le jeu des
allumettes, l'ordinateur apprend.