public static void Main()
int taille=DemanderNombreAllumettes();
bool [] allumettes = CreerTasAllumettes (taille) ;
AfficherTasAllumettes ( allumettes ) ;
while( !FinPartie(allumettes))
noJoueur = ( noJoueur % 2) + 1;
Console . Write ("C’est au tour du joueur ") ;
Console . WriteLine ( noJoueur ) ;
int NbAllumettesAEnlever=DemanderNombreAllumettesARetirer(3);
for( int k=0; k<NbAllumettesAEnlever;k++)
Console.WriteLine("quelle allumette voulez vous enlevez?");
int index=Convert.ToInt32(Console.ReadLine());
if(PositionValide(allumettes,index))
RetirerUneAllumette(allumettes,index);
AfficherTasAllumettes ( allumettes ) ;
Console . Write ("Le joueur ") ;
Console . Write ( noJoueur ) ;
if( PartieGagnee ( allumettes ) )
Console . WriteLine (" a gagné !") ;
Console . WriteLine (" a perdu !") ;
static bool[] CreerTasAllumettes(int taille)
bool[] tas= new bool[taille];
for(int k=0;k<taille;k++)
static void AfficherTasAllumettes(bool[] tasAllumettes)
if( (tasAllumettes != null) && (tasAllumettes.Length > 0) )
for(int i = 0 ; i < tasAllumettes.Length ; i++)
for(int i = 0 ; i < tasAllumettes.Length ; i++)
for(int i = 0 ; i < tasAllumettes.Length ; i++)
for(int i = 0 ; i < tasAllumettes.Length ; i++)
Console.WriteLine("Tableau null ou vide !");
static bool PositionValide(bool[] tableau, int index)
if((index<tableau.Length) && (tableau!=null)&&(index>0))
static bool RetirerUneAllumette(bool[] tasAllumettes, int index)
if( (PositionValide(tasAllumettes,index)) && (tasAllumettes[index]=true))
tasAllumettes[index]=false;
static int NombreAllumettesRestantes(bool[] tasAllumettes)
for (int k=0; k<tasAllumettes.Length;k++)
if(tasAllumettes[k]==true)
static int DemanderNombreAllumettesARetirer(int max)
Console.WriteLine("rentrez un entier entre 1 et "+ max);
valeur=Convert.ToInt32(Console.ReadLine());
if( (valeur>=1) && (valeur<=max))
static bool PartieGagnee(bool[] tasAllumettes)
if (NombreAllumettesRestantes(tasAllumettes)==1)
static bool PartiePerdue(bool[] tasAllumettes)
if (NombreAllumettesRestantes(tasAllumettes)==0)
static bool FinPartie(bool[] tasAllumettes)
if ( PartiePerdue(tasAllumettes) || PartieGagnee(tasAllumettes) )
static int DemanderNombreAllumettes()
Console.WriteLine("rentrez un entier,au minimum 3");
valeur=Convert.ToInt32(Console.ReadLine());