Formulario

En esta parte realizaremos el formulario de nuestro proyecto, tal como habiamos dicho anteriormente. haremos la letra N.

escogeremos el tipo de tamaño de las minas, el maño


namespace BuscaMinas
{
    public partial class Form1 : Form
    {
        MapaMinas mapa;
        bool perder = false;
        bool ganado = false;

        int MINAS = 25;
        int TAMAÑOX = 25;
        int TAMAÑOY = 25;

        public Form1(int tamañoX, int tamañoY, int minas, string titulo)
        {
            TAMAÑOX = tamañoX;
            TAMAÑOY = tamañoY;
            MINAS = minas;
            Text = titulo;
            InitializeComponent();
        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            mapa.DibujarCuadricula(e.Graphics);
        }

       

        private void panel1_MouseClick(object sender, MouseEventArgs e)
        {
            int celdaX, celdaY;  
            if (e.Button == MouseButtons.Right)
            {
                celdaX = (e.X - (int)mapa.Posicion.X) / mapa.AnchoCelda;
                celdaY = (e.Y - (int)mapa.Posicion.Y) / mapa.AltoCelda;
                
                Console.WriteLine("Eje X= " + celdaX);
                Console.WriteLine("Eje Y= " + celdaY);
            }
            else { 
            try
            {
                
                celdaX = (e.X - (int)mapa.Posicion.X) / mapa.AnchoCelda;
                celdaY = (e.Y - (int)mapa.Posicion.Y) / mapa.AltoCelda;
                MapaMinas om = new MapaMinas();
                List<object> fig = om.imgMap();
                int[] ex = (int[])fig[1];
            int[] ey = (int[])fig[0];
            int reg = 0;
            int auxy = 0, auxx = 0;
            for (int id = 0; id < ex.Length; id++)
            {
                auxy = ey[id];
                auxx = ex[id];
                if (auxy == celdaY && auxx == celdaX)
                {
                    reg++;
                }
            }
            if (reg == 0)
            {
             
                if (!mapa.Casillas[celdaY, celdaX].Visible)
                {
                    perder = mapa.DestaparCelda(celdaX, celdaY);
                }

                panel1.Invalidate();

                if (perder)
                {
                    mapa.HacerTodoVisible();
                    Invalidate();
                    
                    DialogResult result = MessageBox.Show("¡Vuelve a intentarlo, Has Pisado una mina! ", "Buscaminas", MessageBoxButtons.YesNo);
                    if (result == DialogResult.Yes)
                    {
                        OnLoad(new EventArgs());
                    }
                    else if (result == DialogResult.No)
                    {
                        this.Close();
                    }
                }
                if (TAMAÑOX * TAMAÑOY - (MINAS+162) <= mapa.CasillasVistas)
                {
                    Invalidate();
                    
                    DialogResult result = MessageBox.Show("¡Ganaste! Felicitaciones ", "Buscaminas", MessageBoxButtons.YesNo);
                     if(result == DialogResult.Yes)
                    {
                    OnLoad(new EventArgs());
                    }
                    else if(result == DialogResult.No)
                    {
                        this.Close();
                    }
             
                }
            }}
            catch { 
            }
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            mapa = new MapaMinas(TAMAÑOX, TAMAÑOY, MINAS, new PointF(40, 40));
            panel1.Invalidate();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        
    }
}







No hay comentarios.:

Publicar un comentario

Gracias por participar en esta página