Ejemplo n.º 1
0
 public void Levanta(Apostador a)
 {
     if (!EstaEnLaMesa(a))
     {
         throw new Excepcion($"{a.Nombre} no está en la mesa");
     }
     Apostadores.Remove(a);
     a.Silla = -1;
     a.Dispose();
 }
Ejemplo n.º 2
0
        private bool EstaEnLaMesa(Apostador apostador)
        {
            bool esta = false;

            for (int i = 0; i < NumeroApostadores && !esta; i++)
            {
                esta = apostador == Apostadores[i];
            }
            return(esta);
        }
Ejemplo n.º 3
0
 public void Sienta(Apostador a)
 {
     if (NumeroApostadores == MaximoJugadores)
     {
         throw new Excepcion("La mesa ya está llena");
     }
     if (EstaEnLaMesa(a))
     {
         throw new Excepcion($"{a.Nombre} ya está en la mesa");
     }
     Apostadores.Add(a);
     a.Silla = Apostadores.IndexOf(a);
 }
Ejemplo n.º 4
0
        private void RealizaAccionApostador(Apostador a, Apostador.Accion accion)
        {
            switch (accion)
            {
            case Apostador.Accion.Plantarse:
                a.Plantarse();
                break;

            case Apostador.Accion.Doblarse:
                a.Doblarse();
                Mesa.Croupier.ReparteCarta(a);
                break;

            case Apostador.Accion.Carta:
                Mesa.Croupier.ReparteCarta(a);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 5
0
        public void GestionaFichasAlFinalizarMano(Apostador a)
        {
            if (!ManoIniciada || !a.ManoIniciada)
            {
                throw new Excepcion("Alguna de las manos no ha sido iniciada");
            }
            if (!a.Mano.Cerrada)
            {
                throw new Excepcion("La mano del apostador no ha sido cerrada.");
            }

            int ganador = _ManoCroupier.CompareTo(a.Mano);

            if (ganador > 0)
            {
                a.Gana();
            }
            else if (ganador == 0)
            {
                a.Empata();
            }
        }