Esempio n. 1
0
 /// <summary>
 /// Teste la validité d'un ordre de soutien offensif.
 /// </summary>
 /// <param name="ordreATester">Ordre de soutien offensif. dont il faut tester la validité.</param>
 /// <returns>Vrai si l'ordre est valide, faux sinon.</returns>
 private Boolean TesteValiditeSoutienOffensif(SoutenirOffensif ordreATester)
 {
     if (ordreATester.Unite == EUnite.Armée)
     {
         if ((this.dictionnaireAdjacence.DetermineAdjacence(ordreATester.Region, ordreATester.RegionAttaquee) == EAdjacence.AdjacentTerre) ||
             (this.dictionnaireAdjacence.DetermineAdjacence(ordreATester.Region, ordreATester.RegionAttaquee) == EAdjacence.AjacentTerreEtMer))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else if (ordreATester.Unite == EUnite.Flotte)
     {
         if ((this.dictionnaireAdjacence.DetermineAdjacence(ordreATester.Region, ordreATester.RegionAttaquee) == EAdjacence.AdjacentMer) ||
             (this.dictionnaireAdjacence.DetermineAdjacence(ordreATester.Region, ordreATester.RegionAttaquee) == EAdjacence.AjacentTerreEtMer))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Enregistre un ordre de soutien (offensif).
 /// </summary>
 /// <param name="ordre">Ordre à enregistrer dans le dictionnaire.</param>
 public void EnregistreSoutienOffensif(SoutenirOffensif ordre)
 {
     this.ForceDefensive = 1;
     this.ForceOffensive = 1;
     this.TypeOrdre      = EOrdre.SoutienOffensif;
     this.RegionCiblee   = ordre.RegionSoutenue;
     this.TypeUnite      = ordre.Unite;
     this.Possesseur     = ordre.Belligerant;
 }
Esempio n. 3
0
        /// <summary>
        /// Applique un ordre de soutien offensif.
        /// </summary>
        /// <param name="ordre">Ordre à appliquer.</param>
        private void AppliqueSoutienOffensif(SoutenirOffensif ordre)
        {
            OrdreRegional ordreSoutenu = this.Dictionnaire[ordre.RegionSoutenue];

            if (ordreSoutenu.TypeOrdre == EOrdre.Attaque && ordreSoutenu.RegionCiblee == ordre.RegionAttaquee)
            {
                ordreSoutenu.ForceOffensive++;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Retourne l'ordre associé au contrôle.
        /// </summary>
        /// <returns>Ordre associé au contrôle.</returns>
        public OrdreAbstrait RetourneOrdre()
        {
            String[] ordre = this.Ordre.Text.Split(' ');

            String       regionConcernee = this.region.Text;
            EUnite       unite           = Convertisseurs.DepuisEUniteAbrege(this.Unite.Text);
            EBelligerant belligerant     = Convertisseurs.DepuisEBelligerantAbrege(this.Belligerant.Text);

            if (ordre[0] == "-")
            {
                String   regionAttaquee = ordre[1];
                Attaquer attaque        = new Attaquer(unite, belligerant, regionConcernee, regionAttaquee);
                return(attaque);
            }
            else if (ordre[0] == "c")
            {
                String regionAttaquante = ordre[1];
                String regionAttaquee   = ordre[3];

                Convoyer convoi = new Convoyer(belligerant, regionConcernee, regionAttaquante, regionAttaquee);
                return(convoi);
            }
            else if (ordre[0] == "s")
            {
                if (ordre.Length < 4)
                {
                    String regionSoutenue = ordre[1];

                    SoutenirDefensif soutieDefensif = new SoutenirDefensif(unite, belligerant, regionConcernee, regionSoutenue);
                    return(soutieDefensif);
                }
                else
                {
                    String regionAttaquante = ordre[1];
                    String regionAttaquee   = ordre[3];

                    SoutenirOffensif soutienOffensif = new SoutenirOffensif(
                        unite,
                        belligerant,
                        regionConcernee,
                        regionAttaquante,
                        regionAttaquee);
                    return(soutienOffensif);
                }
            }
            else
            {
                Tenir tenir = new Tenir(unite, belligerant, regionConcernee);
                return(tenir);
            }
        }