Beispiel #1
0
        public void UbicarCarta(Carta carta, TableLayoutPanel tablero)
        {
            char palo = carta.GetPalo()[0];

            int fila    = letrasPalo.FindIndex(item => item.Equals(palo));
            int columna = carta.GetNumero() - 1;

            Console.WriteLine("Palo es fila " + fila + " y columna " + columna);

            ButtonCarta boton = (ButtonCarta)tablero.GetControlFromPosition(columna, fila);

            boton.Enabled = true;
            boton.RevesRojo();
        }
Beispiel #2
0
        private void Carta_Click(object sender, EventArgs e)
        {
            ButtonCarta boton = (ButtonCarta)sender;

            Console.WriteLine(boton.GetPosicion());

            Carta cartaTablero = boton.Carta;

            boton.Carta           = btn_cartaEnMano.Carta;
            btn_cartaEnMano.Carta = cartaTablero;

            Image img = Image.FromFile(boton.GetCarta().GetInfoImagen());

            boton.DefinirImagen(img);
        }
Beispiel #3
0
        private void Vida_Click(object sender, EventArgs e)
        {
            ButtonCarta btn_Vidas = (ButtonCarta)sender;

            int numVidas = cartasVidas.Count;

            Console.WriteLine("----" + numVidas);

            btn_cartaEnMano.Carta = btn_Vidas.Carta;
            Image im = Image.FromFile(btn_cartaEnMano.Carta.GetInfoImagen());

            btn_cartaEnMano.DefinirImagen(im);
            // ubicar la carta en el tablero
            if (juego.ChequearCarta(btn_cartaEnMano.Carta))
            {
                //MessageBox.Show("sirve");
                juego.UbicarCarta(btn_cartaEnMano.Carta, tbl_tablero);
            }
            else
            {
                MessageBox.Show("Perdiste una vida");
            }


            if (numVidas > 1)
            {
                cartasVidas.RemoveAt(0);
                btn_Vidas.Carta = cartasVidas[0];
            }
            else
            {
                btn_Vidas.Carta = cartasVidas[0];
                cartasVidas.Clear();

                Image imv = Image.FromFile("imagen\\baraja\\vacia.png");
                btn_Vidas.DefinirImagen(imv);
            }


            btn_Vidas.Text = cartasVidas.Count.ToString();
        }
Beispiel #4
0
        /// <summary>
        /// Inicializa y prepara la ventana para el juego
        /// </summary>
        protected void PrepararVentana()
        {
            char[] letrasPalo = { 'o', 'e', 'c', 'b' };
            //Array con las letras iniciales de los palos para identificar
            // las posiciones de las cartas en el tablero


            int idCarta = 0;

            //Identificador de la carta actual para el reparto de cartas

            baraja.Barajar_nuevo();
            //1 - Se entrevera la baraja

            for (int fila = 0; fila < tbl_tablero.RowCount; fila++)
            //2 - Comenzamos a recorrer el tablero. Primero las filas...
            {
                for (int columna = 0; columna < tbl_tablero.ColumnCount; columna++)
                //... y luego las columnas. De esta manera ubicamos cada carta de
                // cada fila antes de pasar a la siguiente fila.
                {
                    Carta carta = baraja.baraja[idCarta];
                    //Tomamos una carta de la baraja

                    string posicion = letrasPalo[fila] + (columna + 1).ToString();
                    //Guardamos el código de su posición en el tablero

                    ButtonCarta bt = new ButtonCarta(carta, posicion);
                    //Creamos un botón para representar la carta en el tablero

                    bt.Size = new Size(104, 159);
                    //Definimos su tamaño

                    bt.Click += Carta_Click;
                    //Le agregamos un método a su evento 'Click'

                    bt.Enabled = false;
                    //Lo desabilitamos para evitar que se lo use antes de tiempo

                    tbl_tablero.Controls.Add(bt, columna, fila);
                    //Lo añadimos al tablero en la posición que establecimos

                    idCarta++;
                    //Avanzamos el identificador a la siguiente carta
                }
            }


            for (int vida = 0; vida < 4; vida++)
            //3 - Las cartas restantes las añadimos a la lista de vidas
            {
                Carta carta = baraja.baraja[idCarta];
                //Ubicamos la carta en la baraja

                cartasVidas.Add(carta);
                //La añadimos a la lista de vidas

                idCarta++;
                //Avanzamos el identificador a la siguiente carta
            }


            vida = cartasVidas[0];


            ButtonCarta btn_Vidas = new ButtonCarta(vida, "");

            btn_Vidas.Size = new Size(104, 159);
            //4 - Creamos el botón para las cartas de las vidas...

            btn_Vidas.Click += Vida_Click;
            //... le agregamos el evento correspondiente...

            btn_Vidas.Text      = cartasVidas.Count.ToString();
            btn_Vidas.Font      = new Font("Arial Black", 28, FontStyle.Regular);
            btn_Vidas.ForeColor = Color.White;
            //... y establecemos el texto del botón y su apariencia con las vidas


            btn_cartaEnMano      = new ButtonCarta();
            btn_cartaEnMano.Size = new Size(104, 159);
            //5 - Establecemos el botón para la carta en la mano

            tbl_control.Controls.Add(btn_Vidas, 0, 3);
            tbl_control.Controls.Add(btn_cartaEnMano, 0, 1);
            //6 - Añadimos los botones al tablero de control
        }