public EnumFeedback[] UserGuess(string gameName, User user, string[] gameColorsCodes) { Game game = ValidateUserGuess(gameName, user, gameColorsCodes); game.Turn += 1; GameColor[] colorsGuess = MapGameColorsGuessFromGameColorsCodes(gameColorsCodes, game); Guess userGuess = new Guess(user, colorsGuess); userGuess.FillFeedbackFromCorrectAnwser(game.CorrectAnswer); game.Guesses.Add(userGuess); if (userGuess.Feedback.All(f => f == EnumFeedback.Correct) || game.Turn == game.QuantityOfMaximumTurns) { game.Status = EnumGameStatus.Finished; } else { game.UserTurnIndex = (game.UserTurnIndex + 1) % game.NumberOfMaximumUsers; } return(userGuess.Feedback); }