Exemplo n.º 1
0
        public void YatzyCategoryTest()
        {
            var scoreCard = new ScoreCard();

            var score = ScoreCalculatorFactory.CreateCalculator(scoreCard.CategoryScoreCard.First(category => category.CategoryKey == "o"), new List <Die>
            {
                new Die {
                    Value = 1
                },
                new Die {
                    Value = 1
                },
                new Die {
                    Value = 1
                },
                new Die {
                    Value = 1
                },
                new Die {
                    Value = 1
                }
            }).Calculate();

            Assert.Equal(50, score);
        }
Exemplo n.º 2
0
        public void GameShouldScoreIfResponseIsScoreInCategory(string input, int expected, int a, int b, int c, int d, int e)
        {
            var scoreCard = new ScoreCard();

            var score = ScoreCalculatorFactory.CreateCalculator(scoreCard.CategoryScoreCard.First(category => category.CategoryKey == input.ToLower()), new List <Die>
            {
                new Die {
                    Value = a
                },
                new Die {
                    Value = b
                },
                new Die {
                    Value = c
                },
                new Die {
                    Value = d
                },
                new Die {
                    Value = e
                }
            }).Calculate();

            Assert.Equal(expected, score);
        }
Exemplo n.º 3
0
        public static void DisplayCategories(ScoreCard scoreCard, List <Die> 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}: {ScoreCalculatorFactory.CreateCalculator(category, diceCup).Calculate()}");
                }
            }

            Console.Write("\n");
        }
Exemplo n.º 4
0
        private void ScoreForChosenCategory(Response response)
        {
            var chosenCategory = _scoreCard.CheckIfCategoryUsed(response);

            if (chosenCategory.IsUsed)
            {
                response.ResponseType = ResponseType.InvalidResponse;
            }
            else
            {
                chosenCategory.CategoryScore = ScoreCalculatorFactory.CreateCalculator(chosenCategory, DiceCup).Calculate();
                chosenCategory.IsUsed        = true;
                if (!_scoreCard.CategoryScoreCard.All(category => category.IsUsed))
                {
                    return;
                }
                Display.FinishedGame(_scoreCard);
                IsPlayingGame = false;
            }
        }