private void Form1_Load(object sender, EventArgs e) { mapa = new MapaMinas(TAMAÑOX, TAMAÑOY, MINAS, new PointF(10, 10)); //Width = (mapa.AnchoCelda) * mapa.Ancho + (int)(mapa.Ancho * 1.0) + 2 * (int)mapa.Posicion.X; //Height = (mapa.AltoCelda + 2) * mapa.Alto + (int)(mapa.Alto) + 2 * (int)mapa.Posicion.Y; panel1.Invalidate(); }
private void button1_Click(object sender, EventArgs e) { if (minasNumericUpDown.Value < (altoNumericUpDown.Value * anchoNumericUpDown.Value)-1) { TAMAÑOX = (int)anchoNumericUpDown.Value; TAMAÑOY = (int)altoNumericUpDown.Value; MINAS = (int)minasNumericUpDown.Value; mapa = new MapaMinas(TAMAÑOX, TAMAÑOY, MINAS, new PointF(10, 10)); panel1.Invalidate(); } else { MessageBox.Show("¡Debe haber al menos una casilla sin minas!", "Buscaminas by rafael1193"); } }
private void panel1_MouseClick(object sender, MouseEventArgs e) { int celdaX, celdaY; celdaX = (e.X - (int)mapa.Posicion.X) / mapa.AnchoCelda; celdaY = (e.Y - (int)mapa.Posicion.Y) / mapa.AltoCelda; if (!mapa.Casillas[celdaY, celdaX].Visible) { muerte = mapa.DestaparCelda(celdaX, celdaY); } panel1.Invalidate(); if (muerte) { mapa.HacerTodoVisible(); Invalidate(); MessageBox.Show("¡Has pulsado una mina! :(", "Buscaminas by rafael1193"); OnLoad(new EventArgs()); } if (TAMAÑOX * TAMAÑOY - MINAS <= mapa.CasillasVistas) { Invalidate(); MessageBox.Show("¡Has ganado! :)", "Buscaminas by rafael1193"); mapa = new MapaMinas(TAMAÑOX, TAMAÑOY, MINAS, new PointF(10, 10)); } }