public void run() {
        while (true) {
            /** draw the fire */
            paint();
            /** see if any players are in the way */
            for (int i = 0; i < BomberGame.totalPlayers; i++) {
                /** if there is */
                if ((BomberGame.players[i].x >> BomberMain.shiftCount) ==
                (x >> BomberMain.shiftCount) && (BomberGame.players[i].y >>
                BomberMain.shiftCount) == (y >> BomberMain.shiftCount)) {
                    /** then kill it */
                    BomberGame.players[i].kill();
                }
            }
            /** increase frame */
            frame = frame + 1;
            /** sleep for 65 ms */
            try { sleep(65); } catch (Exception e) {}
            /** if frame is greater than 7 then it's finish burning */
            if (frame > 7) break;
        }
        map.grid[x >> BomberMain.shiftCount][y >> BomberMain.shiftCount] =
        BomberMap.NOTHING;
        map.fireGrid[x >> BomberMain.shiftCount][y >> BomberMain.shiftCount] =
        false;
        /** if this is a tail or brick, then it's the last fire in the chain */
        /** then refresh the screen */
        map.paintImmediately(x, y, BomberMain.size, BomberMain.size);
        /** if this was a brick then create a bonus there */
        if (type == BomberMap.FIRE_BRICK) { map.createBonus(x, y); }
    }