Remote agent: Difference between revisions
m
added a blank line
(→Map generation: Clarification, to avoid isolation.) |
m (added a blank line) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1:
Each of the three tasks satisfies a different goal:
# [[Remote agent/Simulation|Implement the world simulation, accept and respond to agent commands via a stream interface]].
# [[Remote agent/Agent interface|Implement the agent side of the stream interface in a manner idiomatic to the language]].
# [[Remote agent/Agent logic|Use the agent stream interface to satisfy the end conditions]].
Here is a description of the world and commands.
= A description of the world =
Line 39 ⟶ 40:
* While the distribution and location of the color properties is undefined, there must not be more balls of a color than there are sectors with that color property.
* There must be at least one 'space' sector without a ball in it. (The agent does not initialize while holding a ball.)
* There may be 'wall' sectors within the area (including on the interior side of the outermost rim), but
== Goal ==
Line 83 ⟶ 84:
* Will respond with a 'no ball in agent' event, if the agent has no ball.
* Will respond with a 'sector full' event, if the sector already has a ball.
* Will respond with a 'game over' event, if successful, and if all balls are in sectors matching their color.
* Will respond with a 'stop' event, once all other events have been met.
Line 115 ⟶ 117:
= Stream Protocol =
The stream protocol is simple. Every command is a single byte sent from the agent to the simulator, no line feed, no carriage return. Every event is a single byte sent from the simulator to the agent, no line feed, no carriage return. For the sake of simplicity, all bytes fall within the range of
== Greeting ==
Line 129 ⟶ 131:
== Commands and event codes ==
{| class="wikitable"
|-
|name||type||character||decimal||hex
|-
|
|-
|turn right||command||>||62||0x3E
|-
|turn left||command||<||60||0x3C
|-
|get||command|||@||64||0x40
|-
|drop||command||!||33||0x21
|-
|game over||event||+||43||0x2B
|-
|stop||event||.||46||0x2E
|-
|
|-
|color green||event||G||71||0x47
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|}
|