private void AutoCreatePlayers() { if (numOfPlayers <= 0) { numOfPlayers = RollGenerator.GenerateNumberInRange(2, 5); } if (_players.Any()) { _players[_players.Count - 1].playerLevel = RollGenerator.GenerateNumberInRange(1, 3); } for (int count = _players.Count; count < numOfPlayers; count++) { _players.Add(new Player("Player " + (count + 1))); _players[count].playerLevel = RollGenerator.GenerateNumberInRange(1, 5); } autoRoll = true; }
private void RunGame(IList <string> rolls) { EnterRolls(rolls); while (_players.Any(x => !x.gameOver)) { if (!_players[playerTurn].gameOver) { if (autoRoll) { int remainingPins = _players[playerTurn].GetRemainingPins(); if (remainingPins <= 0 && _players[playerTurn].currentFrame == 9) { remainingPins = 10; } EnterRoll(RollGenerator.GenerateRoll(_players[playerTurn].playerLevel, remainingPins)); } else { Console.WriteLine("Enter next roll: "); int roll = Convert.ToInt32(Console.ReadLine()); if (roll < 0) { autoRoll = true; } else { EnterRoll(roll); } } PrintScores(); } else { AdvanceTurn(); } } }