document pong module
Stefan Schuermans

Stefan Schuermans commited on 2019-06-16 18:17:06
Showing 2 changed files, with 103 additions and 1 deletions.

... ...
@@ -98,13 +98,14 @@
98 98
       The following module types are available for instantiation:
99 99
       <ul>
100 100
         <li><a href="canvas.html">Canvas</a></li>
101
-        <li><a href="filter.html">Filter</a></li>
102 101
         <li><a href="etherpix.html">EtherPix</a></li>
102
+        <li><a href="filter.html">Filter</a></li>
103 103
         <li><a href="loveletter.html">Loveletter</a></li>
104 104
         <li><a href="opprinter.html">Operator Connection Printer</a></li>
105 105
         <li><a href="opsplitter.html">Operator Connection Splitter</a></li>
106 106
         <li><a href="output.html">Output</a></li>
107 107
         <li><a href="player.html">Player</a></li>
108
+        <li><a href="pong.html">Pong</a></li>
108 109
         <li><a href="printer.html">Printer</a></li>
109 110
         <li><a href="priority.html">Priority</a></li>
110 111
         <li><a href="ratelimiter.html">Rate Limiter</a></li>
... ...
@@ -0,0 +1,101 @@
1
+<html>
2
+  <head>
3
+    <title>Blinker - Pong</title>
4
+  </head>
5
+  <body>
6
+    <h1>Blinker - Pong</h1>
7
+    <p>
8
+      The pong module provides a pong game on demand.
9
+      There are two potential operator connections - one for the left player
10
+      and one for the right player.
11
+      The game starts as soon as the first player joins.
12
+      In case only one player is in the game, the other side is played
13
+      by the computer.
14
+    </p>
15
+    <h2>Configuration</h2>
16
+    <p>
17
+      The configuration of the pong module with name <code>NAME</code>
18
+      is located in the <code>pongs/NAME</code> subdirectory.
19
+    </p>
20
+    <h3>Colors</h3>
21
+    <p>
22
+      The colors of the different element of a pong field are configurable.
23
+      All of them are given in web notation, i.e., as 6 hexadecimal digits -
24
+      2 digits for read, green and blue.
25
+      The color is automatically converted to the selected format
26
+      (i.e. number of channels and number of colors).
27
+      Each color is defined in the appropriate file. If the file is missing
28
+      or contains an invalid color code, the respective element is not drawn
29
+      on the frames.
30
+      The following color files exist:
31
+      <table>
32
+        <tr><td><b>file name</b></td>
33
+            <td width="2em"></td>
34
+            <td><b>element</b></td></tr>
35
+        <tr><td><code>backgroundColor</code></td>
36
+            <td></td>
37
+            <td>background of the pong field</td></tr>
38
+        <tr><td><code>ballColor</code></td>
39
+            <td></td>
40
+            <td>pong ball</td></tr>
41
+        <tr><td><code>computerColor</code></td>
42
+            <td></td>
43
+            <td>pad played by the computer</td></tr>
44
+        <tr><td><code>goalColor</code></td>
45
+            <td></td>
46
+            <td>game score when a goal has been scored</td></tr>
47
+        <tr><td><code>lineColor</code></td>
48
+            <td></td>
49
+            <td>line in the middle of the field</td></tr>
50
+        <tr><td><code>padColor</code></td>
51
+            <td></td>
52
+            <td>pad played by a real player</td></tr>
53
+        <tr><td><code>scoreColor</code></td>
54
+            <td></td>
55
+            <td>game score when the ball is moving</td></tr>
56
+      </table>
57
+    </p>
58
+    <h3>Delay</h3>
59
+    <p>
60
+      The file <code>delay</code> describes the duration of a frame / a step
61
+      of the game.
62
+      It contains a number that specifies the time in milliseconds.
63
+      Valid values are from <code>100</code> to <code>500</code>.
64
+      In case the file is not present, a default of <code>200</code> is used.
65
+      Please note that the game speeds up a little bit when the ball bounces
66
+      a pad and when a goal is scored.
67
+    </p>
68
+    <h3>Format</h3>
69
+    <p>
70
+      The file <code>format</code> describes the format of the canvas,
71
+      i.e. its dimensions, the number of channels and the color depth on
72
+      each channel.
73
+      The file must contain a string
74
+      <code>&lt;width&gt;x&lt;height&gt;-&lt;channels&gt;/&lt;colors&gt;</code>,
75
+      e.g. <code>18x8-1/256</code> for 18 pixels width, 8 pixels height
76
+      in 256 grayscales.
77
+    </p>
78
+    <h3>Maximum Scrore</h3>
79
+    <p>
80
+      The file <code>maxScore</code> configures at which score the game ends.
81
+      The file contains this maximum score as a number.
82
+      Valid values are from <code>1</code> to <code>99</code>.
83
+      In case the file is not present, a default of <code>9</code> is used.
84
+    </p>
85
+    <h3>Output Stream</h3>
86
+    <p>
87
+      The file <code>outstream</code> contains the name of the stream to
88
+      send the frames to.
89
+      No frames are sent when the game is inactive (i.e. no player has
90
+      joined yet).
91
+    </p>
92
+    <h2>Operator Connection Interfaces</h2>
93
+    <p>
94
+    The name of the operator connection interfaces provided by this module
95
+    is the module name plus the side of the player.  Thus, the operator
96
+    connection interface for the left player is <code>pongs/NAME/left</code>
97
+    and the one for the right player is <code>pongs/NAME/right</code>
98
+    </p>
99
+  </body>
100
+</html>
101
+
0 102