Пример #1
0
        public FenetreDeJeu(IJeu jeu)
        {
            InitializeComponent();

            // initialisation de l'association
            this.jeu     = jeu;
            this.jeu.vue = this;

            // initialisation de l'IHM
            CreationEchiquier();

            // initialisation de l'état
            status = StatusPartie.Reset;

            // commencer une nouvelle partie
            CommencerPartie();
        }
Пример #2
0
        void RenderClockLabels(StatusPartie status)
        {
            // selectionner l'etiquette du joueur actif
            Label lab1, lab2;

            if (status.couleur == CouleurCamp.Blanche)
            {
                lab1 = lblWhiteClock;
                lab2 = lblBlackClock;
            }
            else
            {
                lab1 = lblBlackClock;
                lab2 = lblWhiteClock;
            }

            // souligner le chronomètre du joueur actif
            lab1.BorderStyle = BorderStyle.FixedSingle;
            lab2.BorderStyle = BorderStyle.None;
            lab1.BackColor   = status.etat == EtatPartie.Mat ? Color.Red : (status.etat == EtatPartie.Echec ? Color.Orange : Color.LightGray);
            lab2.BackColor   = Color.FromName(KnownColor.Control.ToString());
        }
Пример #3
0
        public void ActualiserPartie(StatusPartie status)
        {
            this.status = status;

            // arreter les chronomètres
            tempsBlancs.Stop();
            tempsNoirs.Stop();

            // demarrer le chronomètre du joueur actif
            if (status.etat != EtatPartie.Reset && status.etat != EtatPartie.Mat)
            {
                if (status.couleur == CouleurCamp.Blanche)
                {
                    tempsBlancs.Start();
                }
                else
                {
                    tempsNoirs.Start();
                }
            }

            // actualiser les etiquettes des chronomètres
            RenderClockLabels(status);

            // demarrer/arreter le timer de l'IHM
            if (status.etat == EtatPartie.Reset || status.etat == EtatPartie.Mat)
            {
                timer.Stop();
            }
            else
            {
                if (!timer.Enabled)
                {
                    timer.Start();
                }
            }
        }