Class HandCodedLightSeeker

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--interfaces.Controller
              |
              +--HandCodedLightSeeker
All Implemented Interfaces:
java.lang.Runnable

public class HandCodedLightSeeker
extends Controller

This is the hand-coded light seeking controller

Author:
Graham Ritchie

Fields inherited from class interfaces.Controller
SENSOR_TYPE_LIGHT, SENSOR_TYPE_TOUCH
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
HandCodedLightSeeker()
           
 
Method Summary
 AbstractRobot getRobot()
          Returns the AbstractRobot associated with this controller
 int[] getSensors()
          Returns an array of the sensors used by this controller, and the type of sensor required.
 void halt()
          Stops this controller's thread running, i.e.
 void initController(AbstractRobot r)
          Methods requird by Controller
 void pause()
           
 void run()
          Starts this controller's thread running.
 void unpause()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HandCodedLightSeeker

public HandCodedLightSeeker()
Method Detail

initController

public void initController(AbstractRobot r)
Methods requird by Controller
Overrides:
initController in class Controller
Following copied from class: interfaces.Controller
Parameters:
r - the AbstractRobot associated with this controller

getSensors

public int[] getSensors()
Description copied from class: Controller
Returns an array of the sensors used by this controller, and the type of sensor required. This type must be one of the sensor type constants declared above. The index of the array is used to establish which sensor is being defined. e.g. if array[0] is SENSOR_TYPE_TOUCH then sensor 1 will be set to a touch sensor. The sensors array *must* be initialised with the correct values from the outset, and must not be set in initController(), or any other method. (see example Controllers for working examples)
Overrides:
getSensors in class Controller
Following copied from class: interfaces.Controller
Returns:
the sensor array

halt

public void halt()
Description copied from class: Controller
Stops this controller's thread running, i.e. must allow run() to return as quickly as possible. However it is acceptable for this method to do some housekeeping before stopping the controller, e.g. save some internal data strcuture to a file.
Overrides:
halt in class Controller

getRobot

public AbstractRobot getRobot()
Description copied from class: Controller
Returns the AbstractRobot associated with this controller
Overrides:
getRobot in class Controller
Following copied from class: interfaces.Controller
Returns:
the AbstractRobot

run

public void run()
Description copied from class: Controller
Starts this controller's thread running. The 'real' controller functionality should be started from here.
Overrides:
run in class Controller

pause

public void pause()
Overrides:
pause in class Controller

unpause

public void unpause()
Overrides:
unpause in class Controller