Esempio n. 1
0
 /// <summary>
 /// Sirve para actualizar el marcador despues de un punto, pasando la puntuacion actual por ref.
 /// </summary>
 /// <param name="puntosGana">Puntos que lleva el que gana el punto</param>
 /// <param name="puntosPierde">Puntos que lleva el que pierde el punto</param>
 private void ActualizaMarcador(ref PuntuacionJuego puntosGana, ref PuntuacionJuego puntosPierde)
 {
     //Si va por debajo de 40
     if (puntosGana <= PuntuacionJuego.Treinta)
     {
         puntosGana++;
     }
     //  -->va en 40 y el otro  tiene 30 o menos
     else if ((puntosGana == PuntuacionJuego.Cuarenta && puntosPierde <= PuntuacionJuego.Treinta)
              //  -->va con Ventaja
              || (puntosGana == PuntuacionJuego.Ventaja))
     {
         puntosGana = PuntuacionJuego.Ganado;
     }
     //Si van 40 - 40 se pone a ventaja
     else if ((puntosGana == PuntuacionJuego.Cuarenta && puntosPierde == PuntuacionJuego.Cuarenta))
     {
         puntosGana = PuntuacionJuego.Ventaja;
     }
     // Si va el otro jugador con VEntaja se pone el marcador 40 a 40
     else if (puntosPierde == PuntuacionJuego.Ventaja)
     {
         puntosPierde = PuntuacionJuego.Cuarenta;
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Invocado cuando el punto lo gana un jugador
        /// </summary>
        public void Gana()
        {
            if (Partido == null)
            {
                throw new InvalidOperationException("No hay partido asignado al punto");
            }

            if (JugadorGana == JugadorPierde)
            {
                throw new InvalidOperationException("No se han asignado correctamente el ganador y perdedor del turno");
            }

            //Actualizo puntuacion al Jugador ganador


            PuntuacionJuego puntos1 = PuntuacionTenisJugador1;
            PuntuacionJuego puntos2 = PuntuacionTenisJugador2;

            if (JugadorGana == JugadorEnum.Player1)
            {
                ActualizaMarcador(ref puntos1, ref puntos2);
            }
            else
            {
                ActualizaMarcador(ref puntos2, ref puntos1);
            }

            PuntosJugador1 = (int)puntos1;
            PuntosJugador2 = (int)puntos2;


            OnGana(ganaCallback);
            //Se sobreescribe porque en Punto se llama 'manualmente al evento desde metodo Gana();
            //Y despues en el Juego se le vuelve a pasar el punto
            Estado = Estado.EnJuego;
        }
Esempio n. 3
0
        /// <summary>
        /// DEtermina si serializa correctamente la enumeracion
        /// </summary>
        public void CheckSerializacionEnum()
        {
            PuntuacionJuego puntuacion = PuntuacionJuego.Ganado;

            Assert.AreEqual(puntuacion.ToDescription(), "Win");
        }