public void addTower(String type, int x, int y) {
        Tower t = new Tower(x, y, CalculateTowerRange(x, y, 10), 10);
        if (credits >= t.getPrice()) {
            credits -= t.getPrice();
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 2; j++) {
                    map.getTile(x + i, y + j).setPassable(false);
                    map.getTile(x + i, y + j).setTower(t);
                }
            }
            try {
                enemyHandler.recalculatePaths();
                map.generatePath(TerrainMap.spawn);
                towerList.add(t);
            } catch (Exception e) {
                for (int i = 0; i < 2; i++) {
                    for (int j = 0; j < 2; j++) {
                        map.getTile(x + i, y + j).setPassable(true);
                        map.getTile(x + i, y + j).setTower(null);
                    }
                }
                credits += t.getPrice();
            }
        }
    }