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: Floor
s and Wall
s.
- Alphabetic
- By Inheritance
- Square
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- 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
ifarrivee
was successfully placed in the square,false
if a collision occurred
- abstract def clear(): Unit
Removes any robot from the square (if there was one there to begin with).
- abstract def isEmpty: Boolean
Returns
true
if the square is completely empty (of robots and walls),false
otherwise. - abstract def isUnpassable: Boolean
Returns
true
if the square contains a permanent, unpassable barrier,false
otherwise. - abstract def robot: Option[RobotBody]
Returns the robot occupying the square, wrapped in an
Option
, orNone
, if there is no robot in the square.
Concrete Value Members
- def nonEmpty: Boolean
Returns
true
if the square contains any robot or wall,false
otherwise.