private void placeIdentityDiscNearPlayer() {
		for (Player p : grid.getAllPlayersOnGrid()) {
			boolean placed = false;
			
			int minX = (p.getPosition().xCoordinate > 1) ? p.getPosition().xCoordinate - 4 : 0;
			int maxX = (grid.width - p.getPosition().xCoordinate > 1) ? p.getPosition().xCoordinate + 4 : grid.width;
			int minY = (p.getPosition().yCoordinate > 1) ? p.getPosition().yCoordinate - 4 : 0;
			int maxY = (grid.height - p.getPosition().yCoordinate > 1) ? p.getPosition().yCoordinate + 4 : grid.height;

			while (!placed) {
				int randomX = minX + (int) Math.round(Math.random() * maxX);
				int randomY = minY + (int) Math.round(Math.random() * maxY);
				IdentityDisc idDisc = new IdentityDisc(new Position(randomX, randomY));
				if (grid.validPosition(idDisc.getPosition()) && canHaveAsIdentityDisc(idDisc)) {
					grid.addElement(idDisc);
					factory.addObservable(idDisc);
					placed = true;
				}
			}
		}
	}