コード例 #1
0
ファイル: Fonction.cs プロジェクト: mbana1/Morpion
 public static void AfficherMorpion(Morpion morpionGrille)
 {
     Console.Clear();
     for (int i = 0; i < morpionGrille.Cases.GetLength(0); i++)
     {
         for (int j = 0; j < morpionGrille.Cases.GetLength(0); j++)
         {
             if (morpionGrille.Cases[i, j].Symbolecourant == Symbole.Croix)
             {
                 Console.Write("X|");
             }
             else if (morpionGrille.Cases[i, j].Symbolecourant == Symbole.Rond)
             {
                 Console.Write("O|");
             }
             else
             {
                 Console.Write("_|");
             }
         }
         Console.Write("\n");
     }
     if (morpionGrille.SymboleDujoueurCourant == Symbole.Rond)
     {
         Console.Write("le prochain joueur est : O");
     }
     else
     {
         Console.Write("le prochain joueur est : X");
     }
 }
コード例 #2
0
ファイル: Fonction.cs プロジェクト: mbana1/Morpion
        public static void jouerUneCase(Morpion grille, Tour PositionDeLacase)
        {
            MaCase CaseAjouer = grille.Cases[PositionDeLacase.i, PositionDeLacase.j];


            if (AffecterSymbole(CaseAjouer, grille.SymboleDujoueurCourant) == true)
            {
                Symbole symboleDuProchainJoueur = grille.SymboleDujoueurCourant == Symbole.Croix ? Symbole.Rond : Symbole.Croix;
                grille.SymboleDujoueurCourant = symboleDuProchainJoueur;
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: mbana1/Morpion
        static void Main(string[] args)
        {
            Console.WriteLine("Bienvennue dans ce jeux de Morpion choisissez le nombre de case:  ");
            int nombreDecase = Int32.Parse(Console.ReadLine());

            Morpion Monmorpion = new Morpion(nombreDecase);

            //Monmorpion.Cases = new MaCase[3, 3];
            //Monmorpion.SymboleDujoueurCourant = Symbole.Croix;
            //for (int u = 0; u < 3; u++)
            //{
            //    for (int v = 0; v < 3; v++)
            //    {
            //        MaCase macase = new MaCase();
            //        macase.Symbolecourant = null;
            //        Monmorpion.Cases[u, v] = macase;
            //    }
            //}
            while (0 < 1)
            {
                Fonction.AfficherMorpion(Monmorpion)
                ;
                Console.Write("\n");
                Console.WriteLine("Entrez i:");
                int i = Int32.Parse(Console.ReadLine());
                Console.Write("\n");
                Console.WriteLine("Entrez j:");
                int  j    = Int32.Parse(Console.ReadLine());
                Tour tour = new Tour(i, j);

                Fonction.jouerUneCase(Monmorpion, tour);
                if (Fonction.DeterminerSymbolGagnant(Monmorpion) == null)
                {
                    Console.WriteLine("continuez la partie");
                }
                else if (Fonction.DeterminerSymbolGagnant(Monmorpion) == Symbole.Croix)
                {
                    Console.WriteLine("Le  le symbole gagnant est la Ccroix");
                    Console.ReadKey();
                    break;
                }
                else
                {
                    Console.WriteLine("Le  le symbole gagnant est le rond"); Console.ReadKey();
                    break;
                }
            }
        }
コード例 #4
0
        static void Main(string[] args)
        {
            Player p1 = new Player('X');
            Player p2 = new Player('O');

            Morpion m = new Morpion(p1, p2, 3); // check the dim of the board it'll work with any dimension (min 3) !

            Render r = new Render(m);

            while (!m.IsFinished() || m.DoRestart())
            {
                var(x, y) = m.NextMove();
                if (m.InsertMove(x, y))
                {
                    r.DrawField();
                }
            }
        }
コード例 #5
0
        public Form1()
        {
            InitializeComponent();
            string       nom_joueur   = "";
            DialogResult dialogResult =
                MessageBox.Show("Jouer contre un humain?", "Humain ou ordinateur", MessageBoxButtons.YesNo);

            if (dialogResult.ToString() == "Yes")
            {
                nb_joueur = 2;
            }
            else
            {
                nb_joueur = 1;
            }

            nom_joueur = Interaction.InputBox("Entrez le nom du joueur", "Entrez le nom du joueur", "joueur_1");
            const string nomDonnee = "Ordinateur";

            _grille1 = new Grille(ref label1, ref label2, ref label3, ref label4, ref label5, ref label6, ref label7, ref label8, ref label9);
            _morpion = new Morpion(nom_joueur_1, nom_joueur_2, _grille1);
            _morpion.init(nom_joueur, nomDonnee);
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: Mulix/Mini-Jeu-C-
        static void Main(string[] args)
        {
            Morpion morp = new Morpion();
            int tour_player = 0;
            bool gain = false;

            while (!gain)
            {
                morp.draw_grille();
                Console.Write("Joueur"+tour_player+": ");
                string a = Console.ReadLine();
                switch (a)
                {
                    case "1":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c1");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c1");
                            tour_player = 0;
                        }
                        break;
                    case "2":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c2");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c2");
                            tour_player = 0;
                        }
                        break;
                    case "3":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c3");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c3");
                            tour_player = 0;
                        }
                        break;
                    case "4":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c4");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c4");
                            tour_player = 0;
                        }
                        break;
                    case "5":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c5");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c5");
                            tour_player = 0;
                        }
                        break;
                    case "6":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c6");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c6");
                            tour_player = 0;
                        }
                        break;
                    case "7":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c7");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c7");
                            tour_player = 0;
                        }
                        break;
                    case "8":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c8");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c8");
                            tour_player = 0;
                        }
                        break;
                    case "9":
                        if (tour_player == 0)
                        {
                            morp.poser("X", "c9");
                            tour_player = 1;
                        }
                        else
                        {
                            morp.poser("O", "c9");
                            tour_player = 0;
                        }
                        break;
                }
                morp.gagnant();
            }
            morp.terminer();
        }
コード例 #7
0
ファイル: Render.cs プロジェクト: M4n0x/Morpion-console
 public Render(Morpion m)
 {
     this.m = m;
 }
コード例 #8
0
ファイル: Fonction.cs プロジェクト: mbana1/Morpion
        //public static Symbole? DeterminerSymbolegagnant(Morpion morpion)
        //{

        //  for(int i = 0; i < 3; i++)
        //{
        // int j = 0;
        //Symbole? resultat;

        //if (morpion.Cases[i, j].Symbolecourant == morpion.Cases[i, j + 1].Symbolecourant && morpion.Cases[i, j + 1].Symbolecourant == morpion.Cases[i, j + 2].Symbolecourant) { resultat = morpion.Cases[i, j].Symbolecourant; }

        //   else if(morpion.Cases[i, i].Symbolecourant == morpion.Cases[i+1,i].Symbolecourant && morpion.Cases[i+1, i].Symbolecourant == morpion.Cases[i+2, i].Symbolecourant)
        //  {
        //         resultat = morpion.Cases[0, i].Symbolecourant;
        //     }else if()
        //            if (morpion.Cases[0, 0].Symbolecourant != null
        //                           && morpion.Cases[0, 0].Symbolecourant == morpion.Cases[1, 1].Symbolecourant
        //                           && morpion.Cases[0, 0].Symbolecourant == morpion.Cases[2, 2].Symbolecourant)
        //            {
        //                return morpion.Cases[0, 0].Symbolecourant;
        //            }


        //        if (morpion.Cases[2, 0].Symbolecourant != null
        //            && morpion.Cases[2, 0].Symbolecourant == morpion.Cases[1, 1].Symbolecourant
        //            && morpion.Cases[2, 0].Symbolecourant == morpion.Cases[0, 2].Symbolecourant)
        //        {
        //            return morpion.Cases[0, 0].Symbolecourant;
        //        }


        //        return resultat;



        //  }

        //}
        public static Symbole?DeterminerSymbolGagnant(Morpion morpion)
        {
            //Pour chaques lignes
            //  si toutes les cases de cette ligne ont le même symboles
            //  et que ce symbole n'est pas "vide"
            //      alors le symbol gagnant est le symbol de la 1ère case de la ligne
            //      je retourne le symbole gagnant
            for (int indexLigne = 0; indexLigne < morpion.Cases.GetLength(0); indexLigne++)
            {
                //for(int T=0; T< morpion.Cases.GetLength(0); T++)

                //for(int r=0;r< morpion.Cases.GetLength(0); r++)
                //{
                // = morpion.Cases[indexLigne, r].Symbolecourant;

                //    if (morpion.Cases[indexLigne, r].Symbolecourant != null &&)
                //{


                //}



                //}



                if (morpion.Cases[indexLigne, 0].Symbolecourant != null &&
                    morpion.Cases[indexLigne, 0].Symbolecourant == morpion.Cases[indexLigne, 1].Symbolecourant &&
                    morpion.Cases[indexLigne, 0].Symbolecourant == morpion.Cases[indexLigne, 2].Symbolecourant)
                {
                    return(morpion.Cases[indexLigne, 0].Symbolecourant);
                }
            }

            //Pour chaques colonnes
            //  si toutes les cases de cette colonne ont le même symboles
            //  et que ce symbole n'est pas "vide"
            //      alors le symbole gagnant est le symbole de la 1ère case de la colonne
            //      je retourne le symbole gagnant

            for (int indexColonne = 0; indexColonne < 3; indexColonne++)
            {
                if (morpion.Cases[0, indexColonne].Symbolecourant != null &&
                    morpion.Cases[0, indexColonne].Symbolecourant == morpion.Cases[1, indexColonne].Symbolecourant &&
                    morpion.Cases[0, indexColonne].Symbolecourant == morpion.Cases[2, indexColonne].Symbolecourant)
                {
                    return(morpion.Cases[0, indexColonne].Symbolecourant);
                }
            }

            //Pour les 2 diagonales
            //  si toutes les cases de cette diagonale ont le même symboles
            //  et que ce symbole n'est pas "vide"
            //      alors le symbole gagnant est le symbole de la 1ère case de la diagonale
            //      je retourne le symbole gagnant

            if (morpion.Cases[0, 0].Symbolecourant != null &&
                morpion.Cases[0, 0].Symbolecourant == morpion.Cases[1, 1].Symbolecourant &&
                morpion.Cases[0, 0].Symbolecourant == morpion.Cases[2, 2].Symbolecourant)
            {
                return(morpion.Cases[0, 0].Symbolecourant);
            }


            if (morpion.Cases[2, 0].Symbolecourant != null &&
                morpion.Cases[2, 0].Symbolecourant == morpion.Cases[1, 1].Symbolecourant &&
                morpion.Cases[2, 0].Symbolecourant == morpion.Cases[0, 2].Symbolecourant)
            {
                return(morpion.Cases[0, 0].Symbolecourant);
            }

            //Sinon
            //  Il n'y a aucun gagnant
            return(null);
        }
コード例 #9
0
        static void Main()
        {
            Morpion Instance = new Morpion(5, 5);

            Instance.Start();
        }