/// <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(); } }