예제 #1
0
        /// <summary>
        /// Réinitialise la carte et les champs d'ordres.
        /// </summary>
        private void Reinitialise(String ordres)
        {
            if (this.estInitialise == true)
            {
                this.InitialiseCarte();

                this.CreeChampsOrdres(ordres);

                /// Affichage de la date et de la phase
                this.emplacementDate.Visible  = true;
                this.emplacementDate.Text     = this.conteneurDonnees.PeriodeCourante.ToString();
                this.emplacementPhase.Visible = true;
                this.emplacementPhase.Text    = Convertisseurs.VersPhaseJeuAbregee(this.conteneurDonnees.PhaseCourante);
            }
        }
예제 #2
0
        /// <summary>
        /// Finit le tour de jeu.
        /// </summary>
        private void finirTour(object sender, EventArgs e)
        {
            try
            {
                if (this.estInitialise == true)
                {
                    this.SauvegardeDernierePartie();
                    this.raffraichit(sender, e);
                    this.exportCarte_ToolStripExport(sender, e);

                    this.ChargeCarteVierge();
                    Graphics outilsGraphiques = Graphics.FromImage(this.imageCarteInterne);
                    outilsGraphiques.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;

                    if (this.emplacementPhase.Text == "Ordres")
                    {
                        List <OrdreAbstrait> listeOrdres = this.LitOrdres();
                        this.conteneurDonnees.FinitTour(false, listeOrdres, this.imageCarteInterne, outilsGraphiques);
                    }
                    else if (this.emplacementPhase.Text == "Retraites")
                    {
                        List <Attaquer> ordresRetraites = this.LitRetraites();
                        this.conteneurDonnees.GereRetraites(ordresRetraites, this.imageCarteInterne, outilsGraphiques);
                        this.conteneurDonnees.ListeRetraites.Clear();
                    }
                    else if (this.emplacementPhase.Text == "Ajustements")
                    {
                        List <Ajuster> ordresAjustement = this.LitAjustements();
                        this.conteneurDonnees.GereAjustements(ordresAjustement);
                    }
                    else
                    {
                        throw new Exception("La définition / conversion des phases n'a pas été mise à jour.");
                    }

                    this.conteneurDonnees.InitialiseCarte(this.imageCarteInterne, outilsGraphiques);
                    outilsGraphiques.Dispose();
                    this.imageCarte.Invalidate();

                    this.estRafraichi = false;
                    this.exportCarte_ToolStripExport(sender, e);
                    if (this.emplacementPhase.Text == "Ordres" && this.conteneurDonnees.ListeRetraites.Count == 0)
                    {
                        this.conteneurDonnees.PeriodeCourante.Incremente();
                    }

                    this.conteneurDonnees.PeriodeCourante.Incremente();
                    this.emplacementDate.Text  = this.conteneurDonnees.PeriodeCourante.ToString();
                    this.emplacementPhase.Text = Convertisseurs.VersPhaseJeuAbregee(this.conteneurDonnees.PhaseCourante);
                    if (this.emplacementPhase.Text == "Ajustements")
                    {
                        this.conteneurDonnees.GereAllegeancesCentres();
                        this.InitialiseCarte();
                    }

                    this.CreeChampsOrdres(this.emplacementPhase.Text);
                }
            }
            catch (Exception exceptionRecuperee)
            {
                MessageBox.Show(exceptionRecuperee.Message);
            }
        }