private void makeAIMove() {
        game.drawCard(Game.CPU);
        int aichoice = game.generateCPUMove();
        int coup = Game.NORMAL;
        
        if (aichoice == -1) {
            game.discard(Game.CPU, new Random().nextInt(6));
        } else {
            try {
                coup = game.makeMove(Game.CPU, aichoice);
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(this, "Major Logic Error. Exiting.\nSumbit a Ticket", 
                        "Oops", JOptionPane.ERROR_MESSAGE);
                game = null;
                this.dispose();
                System.exit(0);
            }
        }
        playingArea.updateTableaus();
        regenIcons();
        
        switch(coup) {
            case Game.COUP:
                int choice = JOptionPane.showConfirmDialog(this, "Play a Coup Fourre?", "Coup Possible", JOptionPane.YES_NO_OPTION);
                if (choice == JOptionPane.YES_OPTION) {
                    game.playCoupFourre();
                    game.drawCard(Game.HUMAN);
                    playingArea.updateTableaus();
                    regenIcons();
                }
                break;
            case Game.SAFETY:
                playingArea.updateTableaus();
                makeAIMove();
                break;
        }
        checkWin();
    }