boolean validateMove(Point src, Point dst, int id) {
		if (dst.x < 0 || dst.x > dimension)
			return false;
		if (dst.y < 0 || dst.y > dimension)
			return false;
		if (players[id].music) {
			if (distance(src, dst) > MUSICPIPER_SPEED)
				return false;
		} else {
			if (distance(src, dst) > PIPER_SPEED)
				return false;
		}
		if (hitTheFence(src.x, src.y, dst.x, dst.y))
			return false;
		return true;
	}