Пример #1
0
        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
        }
Пример #2
0
        // 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;

            });
        }
Пример #3
0
 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
 }