/// <summary> /// S'exécute lorsque l'on clique sur le bouton « Bleu ». /// </summary> /// <param name="sender">Objet appelant</param> /// <param name="e">Arguments</param> private void btnBleu_Click(object sender, RoutedEventArgs e) { GestionnaireEcransJeu.ChangerEcran("Placement des pieces", new Dictionary <string, ParametresConstruction> { { "Couleur joueurs", new ParametresCouleurJoueurs(Couleur.Bleu) } }); }
/// <summary> /// S'exécute lorsque l'on clique sur le bouton « Jouer ». /// </summary> /// <param name="sender">Objet appelant</param> /// <param name="e">Arguments</param> private void btnJouer_Click(object sender, RoutedEventArgs e) { GestionnaireEcransJeu.ChangerEcran( "Partie", new Dictionary <string, ParametresConstruction> { { "Pieces", new ParametresPiecesJoueur(pieces, GrilleJeu.TAILLE_GRILLE_JEU, HAUTEUR_GRILLE_DISPONIBLE) }, { "Couleur joueurs", ParametresCouleursJoueurs } } ); }
/// <summary> /// S'exécute lorsque l'on clique sur le bouton « Recommencer partie ». /// </summary> /// <param name="sender">Objet appelant</param> /// <param name="e">Arguments</param> private void btnRecommencerPartie_Click(object sender, RoutedEventArgs e) { bool bDecision = true; if (!EstDebutPartie && MessageBox.Show("Voulez-vous vraiment recommencer la partie ?", "Recommencer la partie", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.No) { bDecision = false; } if (bDecision) { GestionnaireEcransJeu.ChangerEcran("Choix couleur"); } }
/// <summary> /// S'exécute lorsque l'on clique sur le bouton « lancer partie ». /// </summary> /// <param name="sender">Objet appelant</param> /// <param name="e">Arguments</param> private void btnLancerPartie_Click(object sender, RoutedEventArgs e) => GestionnaireEcransJeu.ChangerEcran("Choix couleur");
/// <summary> /// Construction du contrôleur /// </summary> /// <param name="parametres">Paramètres en provenance du contrôleur précédent</param> public void Construire(Dictionary <string, ParametresConstruction> parametres) { CouleurJoueurs = (ParametresCouleurJoueurs)parametres["Couleur joueurs"]; grdPartie.IsEnabled = true; EstPartieTerminee = false; EstDebutPartie = true; GrillePartie = new GrilleJeu(CouleurJoueurs.CouleurJoueur, this); ConteneurPiecesCapturees = new ConteneurPiecesCapturees(stpPiecesCapturees); // Initialise la liste d'observateurs. observers = new List <IObserver <JeuStrategoControl> >(); // Initialiser l'IA. IA = new IA_Stratego(this, CouleurJoueurs.CouleurIA); DiviserGrilleJeu(); ColorerGrilleJeu(); DefinirZoneSelectionGrille(); InitialiserSelectionActive(); if (!PositionnerPieces(((ParametresPiecesJoueur)parametres["Pieces"]).Pieces)) { MessageBox.Show("Nombre de pièces ou couleurs invalide(s).", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error); GestionnaireEcransJeu.ChangerEcran("Accueil"); } InitialiserAffichagePieces(); #region Tests // Code des tests initiaux. /* * ReponseDeplacement deplacement; * * deplacement = GrillePartie.ResoudreDeplacement(new Point(0, 6), new Point(0, 5)); // Deplacement * * deplacement = GrillePartie.ResoudreDeplacement(new Point(0, 5), new Point(-1, 5)); // Coord invalide * deplacement = GrillePartie.ResoudreDeplacement(new Point(2, 6), new Point(2, 5)); // Lac * * deplacement = GrillePartie.ResoudreDeplacement(new Point(2, 6), new Point(3, 6)); // Piece vs sa propre couleur * * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 6), new Point(1, 5)); * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 5), new Point(1, 4)); * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 4), new Point(1, 3)); // Prise par attaquant * * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 3), new Point(1, 2)); * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 2), new Point(1, 1)); * // deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 1), new Point(1, 0)); // 2 pièces éliminées * deplacement = GrillePartie.ResoudreDeplacement(new Point(1, 1), new Point(2, 1)); * deplacement = GrillePartie.ResoudreDeplacement(new Point(2, 1), new Point(2, 0)); // Attaquant éliminé */ #endregion TourJeu = Couleur.Rouge; if (!GrillePartie.VerifierDeplacementsBombes(CouleurJoueurs.CouleurJoueur)) { TerminerPartie(); MessageBox.Show("Vous avez perdu (aucun mouvement possible)...", "Échec"); } if (!GrillePartie.VerifierDeplacementsBombes(CouleurJoueurs.CouleurIA)) { TerminerPartie(); MessageBox.Show("Vous avez gagné (aucun mouvement possible)!", "Victoire"); } // Lancer l'IA if (CouleurJoueurs.CouleurIA == Couleur.Rouge) { new Thread(LancerIA).Start(); } }
private void btnRetour_Click(object sender, RoutedEventArgs e) => GestionnaireEcransJeu.ChangerEcran("Accueil");