Ce diaporama n’est pas le cours, il en donne la trame. Le cours complet est sur la page de la leçon.

TD

Plus ou moins

Un jeu, son arbre, et le code qui va avec

Partie 1

Le jeu

Les règles

  • L’ordinateur choisit un nombre entre 1 et 100.
  • Le joueur a 6 essais pour le deviner.
  • À chaque essai, l’ordinateur indique s’il faut proposer plus grand ou plus petit.

À vous de jouer

Tous ensemble

Faisons deux ou trois parties : une gagnée, une perdue.

  • La classe propose un nombre, on le saisit.
  • On lit la réponse de l’ordinateur, et on recommence.

Notez au passage tous les messages différents que le jeu sait afficher.

Partie 2

Exercice 1

Quel message dois-je afficher au joueur ?

Plus grand !

Plus petit !

Gagné !

Perdu !

Attention, c’est un programme

  • Aucune intervention humaine entre le point d’entrée de l’arbre et les solutions.
  • L’arbre répond pour une tentative du joueur.
  • Si le joueur gagne en 4 essais, l’arbre est joué 4 fois en entier.

À vous

Dessinez l’arbre qui répond à la question, avec ses quatre actions.

Au tableau

Chacun son tour

  • Un premier élève écrit le problème principal et les quatre actions.
  • Un deuxième ajoute la condition qu’il pose en premier.
  • Les suivants complètent, une condition à la fois.
  • On termine en rejouant une partie complète sur l’arbre du tableau.

Quelque chose à retenir de cet exercice ?

Cherchons ensemble

  • Par quoi avez-vous commencé pour dessiner votre arbre ?
  • Combien de fois l’arbre est-il joué dans une partie de six essais ?
  • Aviez-vous tous le même arbre que votre voisin ?

Partie 3

Exercice 2

Le même jeu, écrit en JavaScript

/* Quel message dois-je afficher ? */
function getLabel(essai) {
  if (nbEssai >= 6) {
    return 'Perdu !';
  }
  if (essai === hasard) {
    return 'Gagné !';
  }
  if (essai < hasard) {
    return 'Plus grand !';
  }
  return 'Plus petit !';
}

Chaque « if » est une condition, chaque « return » une action.

Lire le code comme un arbre

À vous

Dessinez l’arbre qui correspond exactement à ce code, sans regarder le vôtre.

Comparez ensuite les deux arbres, condition par condition. Une différence change le résultat du jeu. Laquelle, et dans quel cas ?

Au tableau

Ensemble

  • On dessine l’arbre du code à côté de celui de l’exercice 1.
  • On les superpose du regard, condition par condition.
  • On cherche une partie où les deux arbres ne disent pas la même chose.

La différence

  • Le code teste le nombre d’essais avant de vérifier si le joueur a trouvé.
  • Votre arbre pose « Est-ce le bon nombre ? » en premier.

Un joueur qui devine le bon nombre à son sixième essai reçoit « Perdu ! ».

On peut le vérifier tout de suite sur la démo.

Le code corrigé

/* Quel message dois-je afficher ? */
function getLabel(essai) {
  if (essai === hasard) {
    return 'Gagné !';
  }
  if (nbEssai >= 6) {
    return 'Perdu !';
  }
  if (essai < hasard) {
    return 'Plus grand !';
  }
  return 'Plus petit !';
}

Deux conditions échangées, et le jeu devient juste.

Ce que dit cet exercice

  • L’ordre des conditions change le résultat. Deux arbres avec les mêmes losanges ne disent pas la même chose.
  • Un arbre juste dans 99 % des cas reste un arbre faux.
  • Un programme se lit comme un arbre, et un arbre s’écrit presque comme un programme.

Partie 4

Exercice 3

Une variante

Le jeu affiche « Chaud ! » lorsque le nombre proposé est à moins de 5 du nombre secret.

À vous

Modifiez votre arbre pour tenir compte de cette règle.

Un seul losange suffit : où le placer ?

Au tableau

Ensemble

  • Quelqu’un vient glisser le nouveau losange dans l’arbre du tableau.
  • On rejoue trois cas : une victoire, un sixième essai raté, et un nombre tout proche.
  • Si un cas donne le mauvais message, on déplace le losange et on recommence.

La correction

Arbre de décision du jeu du plus ou moins répondant à « Quel message afficher au joueur ? ». Il teste si le nombre proposé est égal au nombre secret, si c’est le 6e essai, puis s’il est plus petit que le nombre secret.
Le nouveau losange se glisse après « Est-ce le 6e essai ? » et avant « Le nombre proposé est-il plus petit ? ».

Le placer plus haut ferait afficher « Chaud ! » à la place de « Gagné ! » ou de « Perdu ! ».

Ce qu’il faut retenir de ce TD

  • L’ordre des conditions change le résultat.
  • L’arbre est rejoué en entier à chaque événement, ici à chaque tentative du joueur.
  • Les réponses possibles au problème principal sont les actions en bout de chemin : les lister, c’est déjà avoir la moitié de l’arbre.

La suite

À vous de jouer

Le TD Blackjack, et un arbre bien plus grand.

1 / 1