Beispiel #1
0
        static void AfficherTasAlumettes(bool[] tasAlumettes)
        {
            if (tasAlumettes == null || tasAlumettes.Length == 0)
            {
                return;
            }

            int    tailleLigne = tasAlumettes.Length * 4 + 1;
            string ligne       = S2_TD1.Repeter("-", tailleLigne);

            for (int i = 0; i < tasAlumettes.Length; i++)
            {
                Console.Write((i + 1) < 10 ? "  " : " ");
                Console.Write((i + 1) + " ");
            }

            Console.WriteLine("\n" + ligne);
            Console.Write("|");

            for (int i = 0; i < tasAlumettes.Length; i++)
            {
                Console.Write(" " + (tasAlumettes[i] ? "*" : " ") + " |");
            }

            Console.WriteLine("\n" + ligne);
        }
Beispiel #2
0
        static void AfficherTableMultiplication(int[,] table)
        {
            // au moins 2*2
            if (table != null && table.Length >= 4)
            {
                Console.Write("    ");
                for (int i = 0; i < table.GetLength(1); i++)
                {
                    if (i < 9)
                    {
                        Console.Write(" ");
                    }

                    Console.Write((i + 1) + " ");
                }
                Console.WriteLine();

                int lignes   = table.GetLength(0);
                int colonnes = table.GetLength(1);

                string pointilles = S2_TD1.Repeter("-", colonnes * 3 + 1);
                Console.WriteLine(" X" + pointilles);

                for (int l = 0; l < lignes; l++)
                {
                    if (l < 9)
                    {
                        Console.Write(" ");
                    }
                    Console.Write((l + 1) + " |");

                    for (int c = 0; c < colonnes; c++)
                    {
                        int val = (c + 1) * (l + 1);
                        if (val < 10)
                        {
                            Console.Write(" ");
                        }
                        Console.Write(val + "|");
                    }

                    Console.WriteLine();
                }

                Console.WriteLine("   " + pointilles);
            }
        }
Beispiel #3
0
        static void Exercice9_0()
        {
            bool[] allumettes = CreerTasAllumettes(12);

            int    joueur = 0;
            string ligne  = S2_TD1.Repeter("=", 36);

            while (!FinPartie(allumettes))
            {
                joueur = (joueur % 2) + 1;
                Console.WriteLine(ligne);
                Console.WriteLine("C'est au tour du joueur " + joueur + " de jouer !");
                Console.WriteLine(ligne + "\n");

                AfficherTasAlumettes(allumettes);
                Console.WriteLine();

                int count = DemanderNombreAllumettesARetirer(Math.Min(NombreAllumettesRestantes(allumettes), 3));

                for (int i = 0; i < count; i++)
                {
                    int pos = -1;
                    Console.WriteLine();
                    while (!PositionValide(allumettes, pos) || !allumettes[pos])
                    {
                        EffacerDerniereLigne();
                        Console.Write("A quel emplacement retirer l'allumette " + (i + 1) + " ? ");
                        pos = int.Parse(Console.ReadLine()) - 1;
                    }

                    RetirerUneAllumette(allumettes, pos);
                }

                Console.WriteLine("\n");
            }

            AfficherTasAlumettes(allumettes);
            Console.WriteLine("Le joueur " + joueur + " a " + (PartieGagnee(allumettes) ? "gagné !" : "perdu :(") + "\n");
        }
Beispiel #4
0
        static void Exercice9_1()
        {
            int nbAllumettes = 0;

            Console.WriteLine();
            while (nbAllumettes < 3 || nbAllumettes > 20)
            {
                // 20 <=> limite arbitraire max
                EffacerDerniereLigne();
                Console.WriteLine("Combien d'allumettes utiliser ? (min 3) ");
                nbAllumettes = int.Parse(Console.ReadLine());
            }

            bool[] allumettes = CreerTasAllumettes(nbAllumettes);

            int    joueur = 0;
            string ligne  = S2_TD1.Repeter("=", 36);

            while (!FinPartie(allumettes))
            {
                joueur = (joueur % 2) + 1;
                Console.WriteLine(ligne);
                Console.WriteLine("C'est au tour du joueur " + joueur + " de jouer !");
                Console.WriteLine(ligne + "\n");

                AfficherTasAlumettes(allumettes);
                Console.WriteLine();

                int count = DemanderNombreAllumettesARetirer(Math.Min(NombreAllumettesRestantes(allumettes), 3));

                int lastPos = -1; // pour regarder si c'est consécutif
                for (int i = 0; i < count; i++)
                {
                    bool consecutif = true;
                    Console.WriteLine();
                    int pos = -1;
                    while (!PositionValide(allumettes, pos) || !allumettes[pos] || !consecutif)
                    {
                        EffacerDerniereLigne();
                        Console.Write("A quel emplacement retirer l'allumette " + (i + 1) + " ? ");
                        pos        = int.Parse(Console.ReadLine()) - 1;
                        consecutif = true;

                        // si entre la pos et la lastPos on trouve une allumette, ce n'est pas consécutif
                        if (lastPos != -1) // car la 1re fois c'est toujours bon
                        {
                            for (int j = Math.Min(pos, lastPos) + 1; consecutif && j < Math.Max(pos, lastPos); j++)
                            {
                                if (allumettes[j])
                                {
                                    consecutif = false;
                                }
                            }
                        }
                    }

                    lastPos = pos;
                    RetirerUneAllumette(allumettes, pos);
                }

                Console.WriteLine("\n");
            }

            AfficherTasAlumettes(allumettes);
            Console.WriteLine("Le joueur " + joueur + " a " + (PartieGagnee(allumettes) ? "gagné !" : "perdu :(") + "\n");
        }