private void placeTeleporters() {
		final List<Position> tpPositions = new ArrayList<Position>();
		while (getTeleporterCoverage(tpPositions) < COVERAGE) {
			final Position randomPos = getRandomPosition();

			if (grid.validPosition(randomPos) && canHaveAsTeleporter(randomPos) && !tpPositions.contains(randomPos))
				tpPositions.add(randomPos);
		}
		
		final List<Teleporter> tpList = getTeleporterList(tpPositions.size());
		for (int i = 0; i < tpPositions.size(); i++)
			grid.addElementToPosition(tpList.get(i), tpPositions.get(i));
	}