All Classes and Interfaces
Class
Description
The Client API class provides generic methods for interacting with the Robot Worlds API as a client
All Exceptions related to the client connecting to the server (especially with regards to the
ConnectedClient
are handled by this classA subclass of the domain object robot that is specifically controlled by a client
Record class of a client's ID.
This class stores the representation of the robot for a client
Every command follows this same pattern:
It receives a robot name and arguments
It runs against the world
It returns a result string
This class encapsulates all the behaviour of a single connected client
Abstract class of commands external to server, typically from clients
The Command Switcher class more elegantly responds to incoming command requests in a polymorphic way.
Fire Command - fires a bullet in the direction the robot is facing.
The Implemented client Commands enum captures the allowed variants of a Client Command
Reads a line of user input and checks whether it is a valid, well-formed command.
Standard Launch command.
The Look command class.
The maze class serves an abstracted representation of a maze as generated by
MazeGeneratorThis class stores the memory of the currently running client
The currently selected robot as well as all the robots launched
This message is thrown when a
WorldObject to be found but for whatever reason, is not.The Repair Command restores a robot's shield to their configured maximum.
Represents a robot in the Robot World game.
This exception encapsulates the behaviour of a
Robot who cannot act,
typically due to a mismatched Status such as Status.DEADThe Robot Kind Enum encapsulates all the different possible types of robot we can expect to encounter
A basic interface that wraps the expected Robot Worlds API so that we can
easily connect to and send requests to the server.
The Robot World Map encapsulates all the behaviour of the locations of objects in the world
Represents the Robot World server.
The Server API class encapsulates all behaviour related to outputting Command Results to the Client
This error is thrown when there is an issue initialising the server for whatever reason.
Picocli parses startup options into this class before the server starts.
The Server Output Class is solely responsible for the networking component of the server output
This class encapsulates all rendering behavior on the server side
Nested Enum of ansi escape characters to make rendering more discoverable
The Single Thread Connection encapsulates an ongoing connection between a client and a server
Commands that implement the stateful interface manipulate the state of the world and the robots in it
This enum encapsulates the valid states that a robot can be in
Internal Error for Unsupported Robot World Command
The World Class stores all known information about the world
World-level configuration: how many seconds a repair takes.
The World command describes this world's configuration parameters.
The internals of the edge of an existing world
WorldMap answers questions about a single location in the world: is it in
bounds, is it a wall, is it an obstacle, is a robot standing there, and is
it therefore a valid place for a robot to be.
Standard World Object Interface that allows polymorphic implementation of Objects in the World