private void readStateMove(State[] states, BufferedReader reader)
			throws IOException {
		for (int i = 0; i < states.length; i++) {
			int x, y;
			String[] tokens = reader.readLine().split("\\s+");
			try {
				x = Integer.parseInt(tokens[1]);
				y = Integer.parseInt(tokens[2]);
			} catch (NumberFormatException e) {
				throw new ParseException("State " + (i + 1)
						+ "'s position badly formatted.");
			} catch (ArrayIndexOutOfBoundsException e) {
				throw new ParseException("State " + (i + 1)
						+ "'s position string too short.");
			}
			states[i].getPoint().setLocation(x, y);
		}
	}