picolib

semantics

package semantics

Visibility
  1. Public
  2. All

Type Members

  1. trait GUIDisplay extends Picobot

    GUI controls and displays for a Picobot, based on ScalaFX

  2. abstract class MoveDirection extends AnyRef

    A class that describes a direction the robot can move.

  3. class PicbotGUIApp extends JFXApp

    A class to create a GUI display for a picobot

  4. class Picobot extends AnyRef

    A class that can set a robot loose on a maze.

    A class that can set a robot loose on a maze. The robot starts at a random position in the maze.

  5. abstract class RelativeDescription extends AnyRef

    A class that describes the contents of a location in the maze.

  6. case class Rule(startState: State, surroundings: Surroundings, moveDirection: MoveDirection, endState: State) extends Product with Serializable

    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.

    startState

    The robot's current state

    surroundings

    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.

    moveDirection

    The direction to move, if the current rule is activated.

    endState

    The state into which the robot should transition, if the rule is activated

  7. case class State(name: String) extends Product with Serializable

    A class that represents a state in which the robot may find itself.

  8. case class Surroundings(north: RelativeDescription, east: RelativeDescription, west: RelativeDescription, south: RelativeDescription) extends Product with Serializable

    A class that describes the positions to the north, east, west, and south of some other position.

  9. trait TextDisplay extends Picobot

Value Members

  1. object Anything extends RelativeDescription

    The location may or may not have a wall

  2. object Blocked extends RelativeDescription

    The location has a wall

  3. object East extends MoveDirection

    Move to the east

  4. object EmptyRoom extends JFXApp

    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

  5. object GUIDisplay

  6. object North extends MoveDirection

    Move to the north

  7. object Open extends RelativeDescription

    The location has no wall

  8. object Picobot

  9. object South extends MoveDirection

    Move to the south

  10. object StayHere extends MoveDirection

    Don't move

  11. object West extends MoveDirection

    Move to the west

Ungrouped