예제 #1
0
        public Fenetre(IActions model)
        {
            // initialisation IHM
            InitializeComponent();

            // initialisation de la grille
            grille = new Button[largeur_grille, hauteur_grille];

            // initialisation des tuiles
            for (int i = 0; i < largeur_grille; i++)
            {
                for (int j = 0; j < hauteur_grille; j++)
                {
                    // creation d'une tuile
                    grille[i, j]      = new Button();
                    grille[i, j].Size = new Size(taille_tuile, taille_tuile);
                    grille[i, j].Font = new Font("Arial", 9, FontStyle.Bold);

                    // positionnement
                    grille[i, j].Location = new Point(i * taille_tuile, j * taille_tuile);
                    this.GridPanel.Controls.Add(grille[i, j]);

                    // gestionnaire des clics
                    grille[i, j].MouseUp += new MouseEventHandler(this.CellButton_Click);
                }
            }

            // connection
            jeu     = model;
            jeu.vue = this;
            jeu.CommencerPartie(largeur_grille, hauteur_grille, numero_mines);
            MineLabel.Text = "Mines : " + numero_mines;
        }
예제 #2
0
        private void StartButton_Click(object sender, EventArgs e)
        {
            jeu.CommencerPartie(largeur_grille, hauteur_grille, numero_mines);

            // reset des info
            StartButton.Image = global::Demineur.Properties.Resources.happySmiley;

            // couverture des cases
            for (int i = 0; i < largeur_grille; i++)
            {
                for (int j = 0; j < hauteur_grille; j++)
                {
                    grille[i, j].FlatStyle = FlatStyle.Standard;
                    grille[i, j].Enabled   = true;
                    grille[i, j].Text      = "";
                    grille[i, j].Image     = null;
                    grille[i, j].ForeColor = Color.Empty;
                    grille[i, j].BackColor = Color.Empty;
                }
            }
        }