public FenetreDeJeu(IJeu jeu) { InitializeComponent(); BringToFront(); // 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(); }
public void ActualiserPartie(StatusPartie status) { this.status = status; if (status.etat == EtatPartie.Pause) { return; } // 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(); } } }
void RenderClockLabels(StatusPartie status) { if (status.etat != EtatPartie.Pause) { // 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()); } }
private void tbr_ButtonClick(object sender, ToolBarButtonClickEventArgs e) { switch (e.Button.Tag.ToString()) { case "New": // création des carreaux pour les piéces capturées for (int i = 0; i < CAPTURES; i++) { captures_blancs[i].Image = null; captures_blancs[i].Refresh(); captures_blancs[i].Update(); captures_noirs[i].Image = null; captures_noirs[i].Refresh(); captures_noirs[i].Update(); } status = StatusPartie.Reset; CommencerPartie(); break; case "Open": Open(); break; case "Save": Save(); break; case "UndoMove": Undo(); break; case "RedoMove": Redo(); break; case "UndoAllMoves": UndoAll(); break; case "RedoAllMoves": RedoAll(); break; case "FlipBoard": Flipboard(); break; case "Think": // TODO break; case "MoveNow": // TODO break; case "ResumePlay": ResumePlay(); break; case "PausePlay": PausePlay(); break; } }