public void knockOverBuilding(int x, int y, Direction dir, Player player) {
        // TODO: figure out exact knockover logic
        for (int h = buildings[x][y].height; h > 0; h--) {
            Building b = buildings[x][y];
            if (b != null) {
                if (b.isCapital) {
                    b.owner.hasCapital = false;
                }
            }
            if (b != null) {
                b.makeRubble(player);
            }
            else {
                Building rubble = new Building(player);
                rubble.makeRubble(player);
                buildings[x][y] = rubble;
            }
            x += dir.dx;
            y += dir.dy;
            if (x < 0 || x >= width || y < 0 || y >= height) {
                break;
            }
        }

        // int h = buildings[x][y].height * 2;
        // while (h > 0) {
        // Building b = buildings[x][y];
        // if (b != null) {
        // h -= b.height;
        // if (b.isCapital) {
        // b.owner.hasCapital = false;
        // }
        // }
        // h--;
        // buildings[x][y] = null;
        // x += dir.dx;
        // y += dir.dy;
        // if (x < 0 || x >= width || y < 0 || y >= height) {
        // break;
        // }
        // }
    }