示例#1
0
 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();
 }
示例#2
0
        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");
            }
        }
示例#3
0
        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));
            }
        }