Ejemplo n.º 1
0
        public Tablero(int fils, int cols)
        {
            filas               = fils + 2;
            columnas            = cols + 2;
            nCasillasNoPulsadas = fils * cols;
            fils += 2;
            cols += 2;

            casillas = new Casilla[fils, cols];

            for (int i = 0; i < fils; i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    casillas[i, j] = new Casilla();
                }
            }
            inicializa();
        }
Ejemplo n.º 2
0
        private void refrescarTableroUI(int rows, int cols)
        {
            label2.Text = "" + tablero.getNumeroBombas();
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    botones[i, j].Font = new Font("Arial", 6, FontStyle.Bold);
                    Casilla contenido = tablero.dameCasilla(i + 1, j + 1);
                    if (!contenido.isLevantada())
                    {
                        botones[i, j].Text = "";
                    }
                    else if (contenido.isBomba())
                    {
                        timer1.Enabled = false;

                        botones[i, j].BackgroundImage = bombaBitmap;
                        botones[i, j].BackColor       = System.Drawing.Color.Lavender;
                        flowLayoutPanel1.Enabled      = false;
                        BackgroundImage = bombaBitmap;
                        DialogResult result;
                        result = MessageBox.Show("Te quedaste sin piernas! ¯¯(ºoº)¯¯ , quieres salir del juego?", "Busca - Minas",
                                                 MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                        botones[i, j].Image = global::Buscaminas.Properties.Resources.bomba;

                        if (result == System.Windows.Forms.DialogResult.Yes)
                        {
                            this.Close();
                        }
                        else
                        {
                            return;
                        }
                    }
                    else
                    {
                        botones[i, j].BackColor = System.Drawing.Color.Lavender;
                        botones[i, j].FlatAppearance.BorderColor = Color.Black;
                        botones[i, j].Font = new Font("Arial", 7, FontStyle.Bold);
                        if (contenido.numeroBombas() == 1)
                        {
                            botones[i, j].ForeColor = System.Drawing.Color.Gray;
                            botones[i, j].Text      = "" + contenido.numeroBombas();
                        }
                        else if (contenido.numeroBombas() == 2)
                        {
                            botones[i, j].ForeColor = System.Drawing.Color.Green;
                            botones[i, j].Text      = "" + contenido.numeroBombas();
                        }
                        else if (contenido.numeroBombas() > 2)
                        {
                            botones[i, j].ForeColor = System.Drawing.Color.Red;
                            botones[i, j].Text      = "" + contenido.numeroBombas();
                        }
                        else
                        {
                            botones[i, j].Text = "";
                        }
                    }
                }
            }
            if (tablero.getNCasillasNoPulsadas() == tablero.getNumeroBombas())
            {
                DialogResult result;
                flowLayoutPanel1.Enabled = false;
                timer1.Enabled           = false;
                BackgroundImage          = caritaBitmap;

                result = MessageBox.Show("Ganaste en *(^O^)* " + this.label3.Text + ", salir del juego?", "Busca - Minas",
                                         MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == System.Windows.Forms.DialogResult.Yes)
                {
                    this.Close();
                }
            }
        }