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"); } }
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; } }
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; } } }
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(); } } }
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); }
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(); }
public Render(Morpion m) { this.m = m; }
//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); }
static void Main() { Morpion Instance = new Morpion(5, 5); Instance.Start(); }