public void GameCycle() { bool isPlayerCanMove = true; int option = 0; while (!isWinner()) { Player ActivePlayer = GManager.WhoseTurn(FirstPlayer, SecondPlayer); ConsoleDraw.DrawAskToThrow(GManager.AskPlayersForThrow(GameDice, FirstPlayer, SecondPlayer), GameDice, Board); GManager.UpdateMoves(GameDice, ActivePlayer); isPlayerCanMove = GManager.isAvailableMoves(Board, GameDice, FirstPlayer, SecondPlayer); if (isPlayerCanMove) { while (ActivePlayer.Moves > 0) { if (isWinner()) { break; } else { GManager.AskPlayersForMove(Board, GameDice, FirstPlayer, SecondPlayer, ConsoleDraw.DrawAskToMove(GManager.WhoseTurn(FirstPlayer, SecondPlayer), GameDice, Board)); } } } else { ConsoleDraw.DrawNoAvailableMoves(GManager.WhoseTurn(FirstPlayer, SecondPlayer), Board, GameDice); GManager.ChangePlayersTurn(FirstPlayer, SecondPlayer); } } option = ConsoleDraw.DrawWinner(GManager.WinnerPlayer(Board, FirstPlayer, SecondPlayer)); if (option == 1) { StartGame(); } else { ConsoleDraw.DrawGoodBye(); } }
public void InitializePlayers() { int option = ConsoleDraw.DrawStartMenu(); if (option == 1) { FirstPlayer = new Player(ConsoleDraw.DrawAskHumanName("Player 1"), true); SecondPlayer = new Player(ConsoleDraw.DrawAskHumanName("Player 2"), true); GManager.SetPlayersColor(GameDice, FirstPlayer, SecondPlayer); ConsoleDraw.DrawFirstThrow(GameDice, FirstPlayer, SecondPlayer); IsNewGame = false; } else { isEndOfGame = true; } }