private void PlayGame() { // GENERATE PLAYERS + GAME IF NOT CONTINUING SAVED GAME if (m_game == null || m_game.Status != GameStatus.InProgress) { var players = m_view.GetPlayers(); m_game = new model.Game(players, 3); } while (m_game.Status == GameStatus.InProgress) { // COMPUTER PLAYERS PLAY (until it's a gamer's turn or game ends) while (m_game.ComputerPlays()) { ; } // GAMER PLAYER PLAYS ONE ROUND while (GamerPlaysRound()) { ; } } if (m_game.Status == GameStatus.Finished) { SaveFinishedGame(); string gameJson = JsonConvert.SerializeObject(m_game, Formatting.Indented); m_view.DisplayGameDetails( gameJson, m_game.CurrentPlayerIndex, m_game.CurrentRound, 0); m_view.DisplayGameOver(); } }