Jeu game; // Jeu #endregion Fields #region Constructors public Debug(Jeu jeu) { InitializeComponent(); game = jeu; Location = new Point(1000, 0); jeu.RaiseCustomEvent += Jeu_RaiseCustomEvent; // On attrape l'evenement rafraichirGUI }
// Cette méthode affiche le gameOver lorsque l'evenement GameOverEvent se présente public void HandleGameOverEvent(Object sender, GameOverEvent e) { this.Invoke(() => { panel2.Visible = true; panel3.Visible = false; jeu = null; }); }
public InterfaceGraphique() { InitializeComponent(); // Méthode obligatoire forcément placée en première /** * Couleurs pour le score (fond et texte) **/ base.DoubleBuffered = true; this.SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer, true); this.Location = new Point(0,0); label1.ForeColor = Color.FromArgb(223, 241, 239); label1.BackColor = Color.FromArgb(0, 0, 0); label2.ForeColor = Color.FromArgb(223, 241, 239); label2.BackColor = Color.FromArgb(0, 0, 0); panel2.Visible = false; // On rend invisible le deuxieme panel panel2.BackgroundImage = Image.FromFile("Images/gameover.jpg"); // Et on lui affecte une image de fond label1.Font = new Font("Arial", 12); label2.Font = new Font("Arial", 12); jeu = new Jeu(); // Création du nouveau jeu label1.Text = jeu.score.ToString(); // Affichage du score dans le label 1 label1.AutoSize = false; label2.AutoSize = false; label1.Width = 100; label1.Height = 20; label2.Width = 80; label2.Height = 20; label1.TextAlign = ContentAlignment.MiddleCenter; label2.TextAlign = ContentAlignment.MiddleCenter; label2.Text = "Pièce suivante : "; ThreadJeu = new Thread(jeu.lancerJeu); // Nouveau Thread pour lancer le jeu (Thread Safe) ThreadJeu.Start(); jeu.RaiseCustomEvent += HandleCustomEvent; // Gestion d'evenement pour rafraichir la GUI jeu.YouGameOverEvent += HandleGameOverEvent; // Gestion d'evenement pour le gameOver jeu.MyPieceSuivanteEvent += HandlePieceSuivanteEvent; jeu.MyLigneCompleteEvent += HandlerLigneCompleteEvent; jeu.MyPeuxDescendreEvent += HandlerPeuxDescendreEvent; panel3.Paint += new PaintEventHandler(panel3_Paint); panel3.BackColor = Color.Black; KeyDown += new KeyEventHandler(MyKeyPressedEventHandler); // Gestion d'evenement pour une touche pressée //new Debug(jeu).Show(); // Interface de debug (a commenté si non voulue) panel1.BackgroundImage = Image.FromFile("Images/fondTetris.jpg"); // On set le fond du jeu }