private void realMove(int pX, int pY, int maxX, int maxY) {
		// Let's try to move
		int newX = coordinates.x;
		int newY = coordinates.y;

		switch ((int) rand.nextInt(4)) {
		case 0:
			newX++;
			break;
		case 1:
			newX--;
			break;
		case 2:
			newY++;
			break;
		case 3:
			newY--;
			break;
		}

		if (newX < 0 || newY < 0 || newX >= maxX || newY >= maxY) {
			// Try one more time!
			realMove(pX, pY, maxX, maxY);
		} else {

			// Move
			coordinates = new Point(newX, newY);

			// Check collision
			if (newX == pX && newY == pY) {
				sleepCounter = 5;
			}
		}
	}