private void boton_click(object sender, EventArgs e) { miboton = (MiBoton)sender; MouseEventArgs me = (MouseEventArgs)e; int col = miboton.getColumna(); int fil = miboton.getFila(); switch (me.Button) { case MouseButtons.Left: tablero.LevantaCasilla(fil + 1, col + 1); if (tablero.EsBomba(fil + 1, col + 1)) { miboton.Image = global::BuscaminasWindows.Properties.Resources.img_bomba; tablero.LevantarTodas(); ActualizarTablero(); MessageBox.Show("¡BOOOOMBA! \nHas perdido"); } else { ActualizarTablero(); lbl_levantadas.Text = "Puntuacion: " + levantadas; if (((tablero.GetNumeroCasillas()) - tablero.CuantasBombas()) == levantadas) { tablero.LevantarTodas(); ActualizarTablero(); MessageBox.Show("¡Enhorabuena! \n¡HAS GANADO!"); } } break; case MouseButtons.Right: if (!tablero.EstaLevantada(fil + 1, col + 1) && !ponFlag) { miboton.Image = global::BuscaminasWindows.Properties.Resources.img_flag; ponFlag = true; } else if (!tablero.EstaLevantada(fil + 1, col + 1) && ponFlag) { miboton.Image = global::BuscaminasWindows.Properties.Resources.img_vacia; ponFlag = false; } break; } }
public void InicializaTablero() { tablero = new Tablero(filas, columnas, nivel); lyt_tablero.RowCount = filas; lyt_tablero.ColumnCount = columnas; botones = new MiBoton[filas, columnas]; for (int f = 0; f < filas; f++) { for (int c = 0; c < columnas; c++) { botones[f, c] = new MiBoton(f, c); botones[f, c].AutoSize = true; botones[f, c].Width = 33; botones[f, c].Height = 33; botones[f, c].Margin = new Padding(0); botones[f, c].Image = global::BuscaminasWindows.Properties.Resources.img_vacia; lyt_tablero.Controls.Add(botones[f, c]); botones[f, c].MouseDown += new MouseEventHandler(this.boton_click); } } }