diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-07 18:27:20 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-07 18:27:20 +0200 |
| commit | 6557bc5c67232270c4719fbce69d4e22393956d7 (patch) | |
| tree | 0477c9061a1ef943e22d047794b0271589f5780b | |
| parent | 2a76b5c022688497060e19219f12f593db55336d (diff) | |
Add API
| -rw-r--r-- | doc/api.org | 76 | ||||
| -rw-r--r-- | doc/api.pdf | bin | 0 -> 118915 bytes |
2 files changed, 76 insertions, 0 deletions
diff --git a/doc/api.org b/doc/api.org new file mode 100644 index 0000000..2d0046c --- /dev/null +++ b/doc/api.org @@ -0,0 +1,76 @@ +#+TITLE: Remote Snake API + +#+OPTIONS: toc:nil +#+LATEX_HEADER: \usepackage{fullpage} + +* General Description + - All transmissions will be based on UDP + - All UDP packet will contain plain json data +* Communications +** Initialisation + 1. Server wait for a client + 2. Client can send: + #+BEGIN_SRC json + { + "type": "new-game" + } + #+END_SRC + 3. Server can reply: + #+BEGIN_SRC json + { + "type": "state", + "game-id": 1, + "game-over": false, + "snake": [(1,2),(1,3)], + "food": [(6,7)] + } + #+END_SRC +** Gameplay +*** Change Direction + 1. When client is playing a game it can ask to the server to change snake direction: + #+BEGIN_SRC json + { + "type": "update", + "direction": "left", + } + #+END_SRC + 2. Server can reply + #+BEGIN_SRC json + { + "type": "state", + "game-id": 1, + "game-over": false, + "snake": [(0,2),(1,2)], + "food": [(6,7)] + } + #+END_SRC +*** Refresh Screen + 1. When no key are press (the snake is simply going straigth forward). So, client can send: + #+BEGIN_SRC json + { + "type": "update", + "direction": null + } + #+END_SRC + 2. Server can reply: + #+BEGIN_SRC json + { + "type": "state", + "game-id": 1, + "game-over": false, + "snake": [(1,2),(0,2)], + "food": [(6,7)] + } + #+END_SRC +*** End Game + - When game is over server will send the following state message (switch game-over to true): + #+BEGIN_SRC json + { + "type": "state", + "game-id": 1, + "game-over": true, + "snake": [(0,2),(1,2)], + "food": [(6,7)] + } + #+END_SRC + - No reply is expected from the client and server will be in charge to free local memory diff --git a/doc/api.pdf b/doc/api.pdf Binary files differnew file mode 100644 index 0000000..931ccca --- /dev/null +++ b/doc/api.pdf |
