Robots Docs
Fall 2025
API

# Floor

o1.robots.Floor
class Floor extends Square

The class `Floor` represents squares that robots can successfully occupy and move through. On creation, a floor square is always empty, but this changes if a robot arrives.

## Attributes

Graph
Supertypes
  trait Square
  class Object
  trait Matchable
  class Any

## Members list

### Value members

#### Concrete methods

def addRobot(`arrivee`: RobotBody): Boolean

Adds the given robot in the floor square, if possible. The arrival fails if the square already had an occupant. In that case, the occupant gets destroyed; the robot that crashed into it stays intact and does not get added in the square.

Adds the given robot in the floor square, if possible. The arrival fails if the square already had an occupant. In that case, the occupant gets destroyed; the robot that crashed into it stays intact and does not get added in the square.

(This method never affects the contents of any other square besides the single floor square on which the method is invoked.)

## Parameters

arrivee

  the robot attempting to arrive in the square

## Attributes

Returns

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

def clear(): Unit

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

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

## Attributes

def isEmpty: Boolean

Returns `true` if the floor square has no robot in it, `false` otherwise.

Returns `true` if the floor square has no robot in it, `false` otherwise.

## Attributes

def robot: Option[RobotBody]

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

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

## Attributes

#### Inherited methods

def nonEmpty: Boolean

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

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

## Attributes

Inherited from:
  Square

#### Concrete fields

val isUnpassable: Boolean

`false` since a floor is never considered entirely unpassable

`false` since a floor is never considered entirely unpassable

## Attributes