@Override
	public void huntFly(String playerName, int flyID) throws RemoteException {
		if (flyID == this.currentFlyID) {
			// Avoid another player claiming the same point
			++this.currentFlyID;

			// increase the score
			PlayerData data = this.players.get(playerName);
			data.score += 1;

			// notify each player about the score-change
			for (PlayerData player : this.players.values()) {
				player.client.recieveFlyHunted(playerName, data.score);
			}

			// compute new fly position
			/*
			 * +1 to counter the exlusive part in nextInt
			 */
			this.x = this.rand.nextInt(300 - this.img.getWidth(null) + 1);
			this.y = this.rand.nextInt(300 - this.img.getHeight(null) + 1);

			// Distribute new fly position to each player. Seperated from the
			// other for-loop to ensure in the best way possible that each
			// player receives the
			// fly at the same time.
			for (PlayerData player : this.players.values()) {
				player.client.recieveFlyPosition(this.x, this.y, this.currentFlyID);
			}
		}
	}