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 joueur lançant la partie choisit un entier pair entre 1 et Nmax.
- A tour de rôle, chaque joueur doit choisir un entier inférieur à Nmax parmi les multiples ou les diviseurs du nombre choisi précédemment par son adversaire.
- Un nombre ne peut être choisi qu'une seule fois.
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)