// Update model to next player private void NextPlayer() { Checkers.Playertype nextPlayer = new Checkers.Playertype(); if (checkersModel.currentPlayer != Checkers.Playertype.X) { nextPlayer = Checkers.Playertype.X; } else { nextPlayer = Checkers.Playertype.O; } checkersModel.SetCurrentPlayer(nextPlayer); }
// GameOver State private void GameOver() { Checkers.Playertype winner = checkersModel.GetWinner(); // state the winner if (winner != Checkers.Playertype.Empty) { view.TellUser(winner + "Won"); } else { view.TellUser(" Its a Draw..."); } view.Pause(view.pauseTime); }
// Toss a Coin State private void TossCoin(bool isRand) { // Show toss coin animation if (isRand) { Random rnd = new Random(); int tossTime = rnd.Next(4, 10); for (int tossTick = 0; tossTick < tossTime; tossTick++) { view.Clear(); view.TellUser("Tossing Coin to see who starts."); string progressBar = ""; for (int i = 0; i < tossTick; i++) { progressBar += checkersModel.currentPlayer; } view.TellUser(progressBar); Checkers.Playertype nextPlayer = new Checkers.Playertype(); if (PatternGenerator.RollCoin()) { nextPlayer = Checkers.Playertype.X; } else { nextPlayer = Checkers.Playertype.O; } checkersModel.SetCurrentPlayer(nextPlayer); view.Pause(1000); } } else { Checkers.Playertype nextPlayer = new Checkers.Playertype(); nextPlayer = Checkers.Playertype.X; checkersModel.SetCurrentPlayer(nextPlayer); } }