Beispiel #1
0
 public void HandleResponse(Response response, Round round)
 {
     if (response.ResponseType == ResponseType.QuitGame)
     {
         IsPlayingGame = false;
     }
     else if (response.ResponseType == ResponseType.HoldDice)
     {
         Round.HoldDice(response, DiceCup);
     }
     else if (response.ResponseType == ResponseType.ScoreInCategory)
     {
         var chosenCategory = _scoreCard.CheckIfCategoryUsed(response);
         if (chosenCategory.IsUsed)
         {
             response.ResponseType = ResponseType.InvalidResponse;
         }
         else
         {
             chosenCategory.CategoryScore =
                 ScoreCalculator.CalculateScore(DiceCup.Select(die => die.Value), response.Input);
             chosenCategory.IsUsed = true;
             if (!_scoreCard.CategoryScoreCard.All(category => category.IsUsed))
             {
                 return;
             }
             Display.FinishedGame(_scoreCard);
             IsPlayingGame = false;
         }
     }
 }
Beispiel #2
0
        public static void DisplayCategories(ScoreCard scoreCard, List <int> diceCup)
        {
            Console.Write("Categories:\n");
            foreach (var category in scoreCard.CategoryScoreCard)
            {
                if (category.IsUsed)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(category.ToString());
                    Console.ResetColor();
                }
                else
                {
                    Console.WriteLine(
                        $"{category.CategoryKey}) {category.CategoryName}: {ScoreCalculator.CalculateScore(diceCup, category.CategoryKey)}");
                }
            }

            Console.Write("\n");
        }