Le jeu d'origine provient de la revue "L'ordinateur de poche n°22 (1984) page 42" que vous pourrez télécharger ici
L'organigramme du jeu est le suivant (PL = Points de Liberté) :
Le programme final est disponible ci-dessous.
Quelles sont les probabilités de gagner à ce jeu lorsqu'au départ nous avons un seul point de liberté ? 2 points ? 3 points ? Pour le savoir, nous allons demander à la machine de jouer toute seule et nous calculerons les fréquences de succès dans les différents cas.
from random import * def go(PL = 1): # un seul PL par defaut gagne = 0 # nb de parties gagnees nbsimul = 10000 # nb de simulations for k in range(nbsimul): if jeu(PL): gagne += 1 # +1 si on gagne return gagne / nbsimul # frequence observee def jeu(PL): while True: # boucle principale plats = ["1","2","3","4"] # Liste des plats poison = choice(plats) # Ordi choisit plat avec poison choix = choice(plats) # Joueur choisit un plat pr ennemi plats.remove(choix) # On enleve le plat if choix == poison: PL += 1 # Ennemi meurt donc +1 pour nous if PL == 4: return True # On gagne la partie else: choix = choice(plats) # Joueur choisir un plat pr lui if choix == poison: # oups, plat avec poison if PL > 1: PL -= 1 # -1 si on a encore des PL else: return False # Sinon on perd la partie
En lançant le programme avec différents paramètres on obtient :
go() 0.2491 # 25% de chance de gagner avec un seul PL au départ > go(2) 0.5044 # 50% de chance de gagner avec un 2 PL au départ > go(3) 0.7527 # 75% de chance de gagner avec un 3 PL au départ
from random import * def go(): PL = 2 while True : plats = ["1","2","3","4"] poison = choice(plats) print("PL =", PL) print("Plat pour ennemi de Cleopatre ?") choix = input("1234 ? ") plats.remove(choix) if choix == poison: print("Bon choix ! Il meurt") PL += 1 if PL == 4: return "Vous etes libre !" else: print("Il se regale !") print("Maintenant pour vous :") choix = input("".join(plats) + " ? ") if choix == poison: print("Il contient du poison !") if PL > 1: PL -= 1 else: return "Vous etes mort !" else: print("Vous avez de la chance !")