Re: F-Nim

Liste des GroupesRevenir à fcl python 
Sujet : Re: F-Nim
De : zzz (at) *nospam* aol.com (Dominique)
Groupes : fr.rec.jeux.enigmes
Date : 21. Oct 2022, 16:13:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <tiucu5$lca2$1@dont-email.me>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0
Le 21/10/2022 à 11:10, Olivier Miakinen a écrit :
[diapublication, suivi vers fr.rec.jeux.enigmes]
 Bonjour,
 Voici un autre jeu qui, une fois résolu stratégiquement, pourra fournir
le sujet d'une programmation en Python[¹].
 Comme dans le(s) jeu(x) de Nim, c'est un jeu à deux joueurs dans lequel
il s'agit de retirer des allumettes jusqu'à ce qu'il n'en reste plus.

 
Bonsoir,
J'avais une variante. À partir d'un nombre N de frites, mais c'est comme les allumettes, on décide du nombre maximum de frites qu'on peut retirer, depuis 2 jusqu'à... N-1.
Chaque joueur retire le nombre de frites qu'il veut, entre 1 et le nombre maximum qu'on peut prendre. Le gagnant est celui qui prélève la dernière frite. Il y a une stratégie gagnante à tous les coups, si l'adversaire commet une unique erreur. Autrement, celui qui commence peut gagner :
import random
cx=int(random.uniform(1,3))
if cx==1:
     choix=False
else:
     choix=True
#choix=False
nbf=int(input('Combien de frites au départ ? '))
nbm=int(input('Combien de frites pouvons-nous manger à chaque tour ? '))
print('Tirage au sort de celui qui commence ')
if choix == False:
     print('Vous commencez')
else:
     print('Je commence ')
while nbf!=0:
     if choix==False:
         prel=int(input('Combien de frites mangez-vous ?'))
         if prel>nbm:
             prel=nbm
             print('Vous avez trop prélevé de frites. Je ramène votre jeu à' ,nbm,' frites')
         if prel<1:
             prel=1
             print('Vous n\'avez pas prélevé suffisamment de frites. Je ramène votre jeu à 1 frite')
     else:
         if nbf%(nbm+1)==0:
             prel=nbm
         else:
             prel=nbf%(nbm+1)
         print('Je prends ',prel,' frites.')
     nbf-=prel
     print('Il reste', nbf,' frites')
     choix=choix==False
choix=choix==False
if choix==True:
     print('J\'ai gagné ')
else:
     print('Vous avez gagné')

Date Sujet#  Auteur
18 Apr 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal