コード例 #1
0
        /// <summary>
        /// Initialise le champ correspondant à la période de jeu.
        /// </summary>
        /// <param name="donneesCalendaires">Année et phase de jeu sous forme d'une chaîne de caractères.</param>
        private void InitialisePeriodeJeu(String donneesCalendaires)
        {
            Int32     anneeDeJeu = Int32.Parse(donneesCalendaires.Split(':')[0]);
            EPhaseJeu phaseDeJeu = (EPhaseJeu)(Int32.Parse(donneesCalendaires.Split(':')[1]));

            this.PeriodeCourante = new Periode(anneeDeJeu, phaseDeJeu);
        }
コード例 #2
0
        /// <summary>
        /// Incrémente la période considérée d'une phase de jeu.
        /// </summary>
        public void Incremente()
        {
            Int32 periodecourante = (Int32)(this.phase);

            try
            {
                if (periodecourante + 1 < 7)
                {
                    this.phase = (EPhaseJeu)(periodecourante + 1);
                }
                else
                {
                    this.phase = (EPhaseJeu)(0);
                    this.annee = this.annee + 1;
                }
            }
            catch
            {
                // Un problème peut survenir si, au fur et à mesure des développements,
                // on change l'énumération EPhaseJeu et que celle-ci ne contient
                // plus sept éléments.
                throw new Exception("L'énumération EPhaseJeu a été modifiée indépendamment de la classe Periode.");
            }
        }
コード例 #3
0
        /// <summary>
        /// Convertit l'élément de EPhaseJeu en une chaîne de caractères spécifiant le type de la phase.
        /// </summary>
        /// <param name="phaseJeu">Identificateur de la phase de jeu en tant qu'élément de EPhaseJeu.</param>
        /// <returns>Identificateur du type de la phase sous forme d'une chaîne de caractères.</returns>
        public static String VersPhaseJeuAbregee(EPhaseJeu phaseJeu)
        {
            String typePhase;

            switch (phaseJeu)
            {
            case EPhaseJeu.Printemps:
                typePhase = "Ordres";
                break;

            case EPhaseJeu.Ete:
                goto case EPhaseJeu.Printemps;

            case EPhaseJeu.Automne:
                goto case EPhaseJeu.Printemps;

            case EPhaseJeu.RetraitesPrintemps:
                typePhase = "Retraites";
                break;

            case EPhaseJeu.RetraitesEte:
                goto case EPhaseJeu.RetraitesPrintemps;

            case EPhaseJeu.RetraitesAutomne:
                goto case EPhaseJeu.RetraitesPrintemps;

            case EPhaseJeu.Ajustements:
                typePhase = "Ajustements";
                break;

            default:
                throw new Exception("La phase de jeu fournie en argument est inconnue.");
            }

            return(typePhase);
        }
コード例 #4
0
 /// <summary>
 /// Initialise une nouvelle instance de la classe Periode.
 /// </summary>
 /// <param name="annee">Année de la période.</param>
 /// <param name="phase">Phase de jeu de la période.</param>
 public Periode(Int32 annee, EPhaseJeu phase)
 {
     this.annee = annee;
     this.phase = phase;
 }