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); }
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); }