Esempio n. 1
0
        private string ResolverCartasEspeciales(Carta carta1, Carta carta2, Jugador jugador1, Jugador jugador2)
        { //Doy por hecho que ambos se encuentran en la misma sala
            string ganador = "";

            //Amarrilla vs Normal
            if ((TipoDeCarta.Amarilla == carta1.TipoCarta) && (TipoDeCarta.Normal == carta2.TipoCarta))
            {
                AgregarCartasGanadas(carta2, jugador2, 1, carta1, jugador1);
                return(ganador = jugador1.idConexion);
            }
            if ((TipoDeCarta.Amarilla == carta2.TipoCarta) && (TipoDeCarta.Normal == carta1.TipoCarta))
            {
                AgregarCartasGanadas(carta1, jugador1, 1, carta2, jugador2);
                return(ganador = jugador2.idConexion);
            }

            //Roja vs Normal
            if ((TipoDeCarta.Roja == carta1.TipoCarta) && ((TipoDeCarta.Normal == carta2.TipoCarta) || (TipoDeCarta.Amarilla == carta2.TipoCarta)))
            {
                AgregarCartasGanadas(carta2, jugador2, 2, carta1, jugador1);
                return(ganador = jugador1.idConexion);
            }
            if ((TipoDeCarta.Roja == carta2.TipoCarta) && ((TipoDeCarta.Normal == carta1.TipoCarta) || (TipoDeCarta.Amarilla == carta1.TipoCarta)))
            {
                AgregarCartasGanadas(carta1, jugador1, 2, carta2, jugador2);
                return(ganador = jugador2.idConexion);
            }

            return(ganador);
        }
Esempio n. 2
0
        public void AgregarCartasGanadas(Carta cartalost, Jugador jugadorlost, int cant, Carta cartawin, Jugador jugadorwin) //Metodo D10S
        {
            if (jugadorlost.Cartas.Count >= cant)
            {
                if (cant == 1)
                {
                    jugadorwin.Cartas.Remove(cartawin);
                    jugadorwin.Cartas.Add(cartalost);
                    jugadorlost.Cartas.Remove(cartalost);
                }
                else
                {
                    var siguienteCarta = jugadorlost.Cartas[1];

                    jugadorwin.Cartas.Add(cartalost);
                    jugadorwin.Cartas.Add(siguienteCarta);
                    jugadorlost.Cartas.Remove(cartalost);
                    jugadorlost.Cartas.Remove(siguienteCarta);
                    jugadorwin.Cartas.Remove(cartawin);
                }
            }
        }