Packages

t

o1.robots

Square

trait Square extends AnyRef

The trait Square represents squares in a robot world, as an abstract concept.

A square object is potentially mutable: its state can change as robots enter and exit it.

Two concrete kinds of squares have been implemented: Floors and Walls.

See also

Floor

Wall

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Square
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def addRobot(arrivee: RobotBody): Boolean

    Adds the given robot to the square, if possible.

    Adds the given robot to the square, if possible. If there is something already in the square, a collision happens instead.

    arrivee

    the robot arriving in the square

    returns

    true if arrivee was successfully placed in the square, false if a collision occurred

  2. abstract def clear(): Unit

    Removes any robot from the square (if there was one there to begin with).

  3. abstract def isEmpty: Boolean

    Returns true if the square is completely empty (of robots and walls), false otherwise.

  4. abstract def isUnpassable: Boolean

    Returns true if the square contains a permanent, unpassable barrier, false otherwise.

  5. abstract def robot: Option[RobotBody]

    Returns the robot occupying the square, wrapped in an Option, or None, if there is no robot in the square.

Concrete Value Members

  1. def nonEmpty: Boolean

    Returns true if the square contains any robot or wall, false otherwise.