NXT ricerca e insegue luce

import javax.microedition.lcdui.Graphics;

import lejos.nxt.Button;
import lejos.nxt.LightSensor;
import lejos.nxt.Motor;
import lejos.nxt.SensorPort;
import lejos.robotics.navigation.DifferentialPilot;
import lejos.util.Delay;

public class Segui_luce {

	public static void main(String[] args) {
		Graphics g = new Graphics();
		DifferentialPilot df = new DifferentialPilot(5.5, 11.5, Motor.A, Motor.C);
		LightSensor ls = new LightSensor(SensorPort.S1, false);
		do {
			int val = 0, valMax = 0, a = 0, aMax = 0;
			for (int x = 0; x < 36; x++) {
                                val = ls.getLightValue();
                                g.drawLine(x, 0, x, val / 2);
                                if (val > valMax) {
					valMax = val;
					aMax = a;
				}
				df.rotate(10);
				a += 10;
			}
			df.rotate(aMax);
			df.forward();
			Delay.msDelay(2000);
			g.clear();
		} while (!Button.ESCAPE.isDown());
	}

}