Esempio n. 1
0
 /// <summary>
 /// Realiza la próxima jugada en la partida, puede iniciar un juego nuevo
 /// </summary>
 /// <returns>jugada</returns>
 public IPlay <TGameKind> GetNextPlay()
 {
     if (CurrentGame != null)
     {
         if (CurrentGame.Result == null)
         {
             var play = CurrentGame.GetNextPlay();
             if (play != null)
             {
                 return(play);
             }
             else //se acabó el juego actual
             {
                 UpdateScore();
                 if (StartNewGame())//Se puede empezar un juego nuevo
                 {
                     return(CurrentGame.GetNextPlay());
                 }
                 return(null); //se acabó la partida
             }
         }
         else
         {
             if (StartNewGame())
             {
                 return(CurrentGame.GetNextPlay());
             }
             return(null); //se acabó la partida
         }
     }
     else
     {
         throw new Exception();
     }
 }