Example #1
0
        public TurnResult playTurn(int startDice, int playerScore)
        {
            int currentDiceCount = startDice;
            int currentScore     = playerScore;

            Console.WriteLine("Turn Score: {0}", currentScore);
            if (currentDiceCount == 0)
            {
                currentDiceCount = 6;
            }
            RollResult rollResult = playRoll(currentDiceCount, currentScore);
            TurnResult turnResult;

            if (rollResult.endTurn && rollResult.farkle)
            {
                turnResult = new TurnResult(currentScore, true);
                return(turnResult);
            }
            else if (rollResult.endTurn && !rollResult.farkle)
            {
                currentScore += rollResult.score;
                turnResult    = new TurnResult(currentScore, false);
                return(turnResult);
            }
            currentScore    += rollResult.score;
            currentDiceCount = rollResult.remainingDice;
            turnResult       = playTurn(currentDiceCount, currentScore);

            return(turnResult);
        }
Example #2
0
        public void twoPlayerGame()
        {
            int  winningScore = 5000;
            bool player1Turn  = true;
            int  startDice    = 6;
            int  player1Score = 0;
            int  player2Score = 0;

            while (playerHasntWon(player1Score, player2Score, winningScore))
            {
                if (player1Turn)
                {
                    Console.WriteLine("Player 1 your turn! Score: {0}", player1Score);
                    TurnResult turnResult = playTurn(startDice, 0);
                    if (!turnResult.didFarkle)
                    {
                        player1Score += turnResult.score;
                    }
                    player1Turn = false;
                }
                else
                {
                    Console.WriteLine("Player 2 your turn! Score: {0}", player2Score);
                    TurnResult turnResult = playTurn(startDice, 0);
                    if (!turnResult.didFarkle)
                    {
                        player2Score += turnResult.score;
                    }
                    player1Turn = true;
                }
            }
            Console.WriteLine("p1 score: {0}, p2 score: {1}, gameover", player1Score, player2Score);
        }