GUI controls and displays for a Picobot, based on ScalaFX
A class that describes a direction the robot can move.
A class to create a GUI display for a picobot
A class that can set a robot loose on a maze.
A class that describes the contents of a location in the maze.
A class that represents a rule.
A class that represents a rule. A rule describes when and how a robot can move. If the robot is in a particular state and its surrounding positions match a particular pattern, then the robot will move in a particular direction and transition to a (possibly new) state.
The robot's current state
A description of the positions to the north, east, west, and south of the robot. If the description matches the current position, the rule will be activated.
The direction to move, if the current rule is activated.
The state into which the robot should transition, if the rule is activated
A class that represents a state in which the robot may find itself.
A class that describes the positions to the north, east, west, and south of some other position.
The location may or may not have a wall
The location has a wall
Move to the east
This is an intentionally bad internal language, but it uses all the parts of the picolib library that you might need to implement your language
Move to the north
The location has no wall
Move to the south
Don't move
Move to the west
A class that can set a robot loose on a maze. The robot starts at a random position in the maze.