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