/// <summary> /// Funcion para el comienzo de un nuevo punto /// </summary> /// <returns></returns> public Punto ComienzaPunto() { if (Estado != Estado.EnJuego) { throw new InvalidOperationException("El partido no esta activo"); } if (PuntoActual != null) { throw new InvalidOperationException("Hay un punto en juego"); } //Comienza Set1 if (SetActual == null) { Set set = new Set(); set.ComienzoCallback(comienzoSetcallback); set.GanaCallback(ganaSetcallback); Comenzar(set); } if (JuegoActual == null) { //Comienza Juego Juego juego = new Juego(); juego.ComienzoCallback(comienzoJuegocallback); juego.GanaCallback(ganaJuegocallback); SetActual.Comenzar(juego); } Punto punto = new Punto(); punto.ComienzoCallback(comienzoPuntocallback); punto.GanaCallback(ganaPuntocallback); JuegoActual.Comenzar(punto); return(punto); }
/// <summary> /// Llamada para indicar quien gana el punto en juego /// </summary> /// <param name="jugador">Jugador que gana</param> public void GanaPunto(JugadorEnum jugador) { //Check partido en juego if (Estado != Estado.EnJuego) { throw new InvalidOperationException("El partido no esta activo"); } //Check que hay en juego punto actual if (PuntoActual == null) { throw new InvalidOperationException("No hay punto en juego, debe llamar a comienza Punto"); } //Asignamos ganadores y perdores PuntoActual.JugadorGana = jugador; PuntoActual.JugadorPierde = (PuntoActual.JugadorGana == JugadorEnum.Player1 ? JugadorEnum.Player2 : JugadorEnum.Player1); JuegoActual.Ganar(PuntoActual); }