public void actionPerformed(ActionEvent evt) {
        /** increased elapsed time */
        elapsedSec += 1;
        /** if elapsed 4 seconds */
        if (elapsedSec >= 4)
        {
            /** if Java 2 available */
            if (Main.J2) {
               /** stop background music */
               BomberBGM.mute();
            }
            /** set default game result = draw */
            winner = 4;
            /** find winner */
            for (int i = 0; i < totalPlayers; i++) {
                if (!players[i].isDead()) { winner = i; break; }
            }
            gameOver = true;
            map.setGameOver();
            /** restart timer with new delay */
            timer.stop();
            timer = new Timer(500, this);
            timer.start();
        }
        /** if game is over */
        if (gameOver)
        {
            elapsedSec %= 2;
            paintImmediately(0,
            (17 << BomberMain.shiftCount) - images[5].getHeight(this) /
            (BomberMain.size != 16 ? 1 : 2),
            images[5].getWidth(this)  / (BomberMain.size != 16 ? 1 : 2),
            images[5].getHeight(this)  / (BomberMain.size != 16 ? 1 : 2));
        }
    }