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(); }
private bool EstaEnLaMesa(Apostador apostador) { bool esta = false; for (int i = 0; i < NumeroApostadores && !esta; i++) { esta = apostador == Apostadores[i]; } return(esta); }
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); }
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; } }
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(); } }