Jeu de Juniper Green

Descriptif

Le jeu de Juniper Green a été créé par Richard Porteous, enseignant à l'école de Juniper Green, à laquelle il doit son nom. Ce jeu confronte 2 joueurs et comporte 3 règles:

Le perdant est le joueur qui ne trouve plus de multiples ou de diviseurs communs au nombre choisi par l'adversaire.

Exemple de partie entre un ordinateur et un humain

A vous de jouer !

Rédigez un programme capable de simuler une partie du jeu de Juniper Green entre un ordinateur et un humain de telle sorte que le déroulement d'une partie suive le schéma proposé par l'illustration ci-dessus. A ce dessein, votre code devra respecter les points suivants:

  • Votre programme se basera sur le squelette de code ci-joint.
  • Une fonction multiples(int n) --> list retournera la liste des multiples de n <= Nmax encore situés dans la liste globale possibles des entiers pas encore joués.
  • Une fonction diviseurs(int n) --> list retournera la liste des diviseurs de n encore situés dans la liste globale possibles des entiers pas encore joués.
  • Le corps principal du programme utilisera les fonctions multiples et diviseurs pour simuler le déroulement d'une partie et tiendra compte des éléments suivants:
    • L'ordinateur choisit aléatoirement le premier entier pair entre 1 et Nmax.
    • Lorsqu'un nombre est choisi, il est effacé de la liste globale possibles des nombres pas encore joués.
    • A chaque tour, le jeu affiche la liste des nombres valides (multiples et diviseurs de l'entier précédemment choisi) pas encore joués. Lorsque cette liste est vide, le jeu s'arrête et le joueur (l'ordinateur ou l'humain) qui devait jouer a perdu.
    • Les choix réalisés par l'ordinateur se font de manière aléatoire dans la liste des nombres valides pas encore joués.
    • Lorsque l'humain choisit un nombre non valide, un message d'erreur s'affiche et le programme l'invite à choisir un autre nombre.
(Test | Solution)