static void Main(string[] args) { try { Console.Clear(); Console.WriteLine("Mode de jeu 1 : PvP"); Console.WriteLine("Mode de jeu 2 : PvIA"); int input = 0; bool rester = true; do { Console.Write("Veuillez choisir un mode de jeu : "); try { input = Convert.ToInt32(Console.ReadLine()); if (input <= 0 || input > 8) { throw new Exception(); } else { rester = false; } } catch (Exception) { Console.WriteLine("Saisie invalide."); } } while (rester); Joueur joueur1 = new Joueur(); Joueur joueur2 = new Joueur(); switch (input) { case 1: joueur1 = new JoueurHumain(1, "Player 1 [X]"); joueur2 = new JoueurHumain(2, "Player 2 [O]"); break; case 2: joueur1 = new JoueurHumain(1, "Player 1 [X]"); joueur2 = new JoueurIA(2, "Player 2 (AI-1) [O]", -1); break; } Puissance4 Jeu = new Puissance4(joueur1, joueur2); Jeu.Demarrer(); } catch (Exception ex) { Console.WriteLine(Environment.NewLine + $"/!\\ - Erreur fatale ({ex.Data}) : {ex.Message} - /!\\"); } }
public override void Jouer(Grille grille, Puissance4 jeu) { int colonne = 0; int ligne = 0; bool rester = true; do { Console.Clear(); jeu.AfficherTitre(false); Console.WriteLine($"{jeu.Joueur1.NomJoueur} : {jeu.Joueur1.Score}, {jeu.Joueur2.NomJoueur} : {jeu.Joueur2.Score} \n"); grille.Afficher(); if (this.NumeroJoueur == 1) { if (jeu.Joueur2 is JoueurHumain) { Console.WriteLine($"Tour de {this.NomJoueur}"); } } else { if (jeu.Joueur1 is JoueurHumain) { Console.WriteLine($"Tour de {this.NomJoueur}"); } } var input = Console.ReadKey(); if (input.Key == ConsoleKey.NumPad1) { colonne = 0; } else if (input.Key == ConsoleKey.NumPad2) { colonne = 1; } else if (input.Key == ConsoleKey.NumPad3) { colonne = 2; } else if (input.Key == ConsoleKey.NumPad4) { colonne = 3; } else if (input.Key == ConsoleKey.NumPad5) { colonne = 4; } else if (input.Key == ConsoleKey.NumPad6) { colonne = 5; } else if (input.Key == ConsoleKey.NumPad7) { colonne = 6; } else if (input.Key == ConsoleKey.Enter) { if (colonne < grille.Tableau.GetLength(0) && colonne >= 0) { ligne = grille.GetLigne(colonne); if (ligne >= 0) { rester = false; } } else { Console.WriteLine(" | Saisie incorrecte"); } } } while (rester); grille.Positionner(ligne, colonne, NumeroJoueur); }