コード例 #1
0
        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);
        }