Browse Source

Am JSON-Schema weitergedoktort.

Urs Ganse 9 years ago
parent
commit
4b372e0b7d
1 changed files with 70 additions and 3 deletions
  1. 70
    3
      spec/visualizer-world-schema.json

+ 70
- 3
spec/visualizer-world-schema.json View File

@@ -52,15 +52,82 @@
52 52
 					},
53 53
 					"ships" : {
54 54
 						"description" : "Liste der Schiffe innerhalb der Bounding-Box, mit ihren Eigenschaften",
55
-						"type" : "array"
55
+						"type" : "array",
56
+						"items" : {
57
+							"type" : "object",
58
+							"properties" : {
59
+								"id" : {
60
+									"description" : "Unique-ID dieses Schiffs, die sich im Laufe der Zeit NICHT veraendert.",
61
+									"type" : "number"
62
+								},
63
+								"x" : {
64
+									"description" : "Aktuelle x-Koordinate dieses Schiffs",
65
+									"type" : "number"
66
+								},
67
+								"y" : {
68
+									"description" : "Aktuelle y-Koordinate dieses Schiffs",
69
+									"type" : "number"
70
+								},
71
+								"owner" : {
72
+									"description" : "Id des Spielers, der dieses Schiff gerade kontrolliert, oder null (fuer ein zombieschiff).",
73
+									"type" : [ "number", "null" ]
74
+								},
75
+								"size" : {
76
+									"description" : "Groesse des Schiffs, in Slot-Zahl.",
77
+									"type" : "number"
78
+								},
79
+								"contents" : {
80
+									"description" : "Inhalt der Slots des Schiffes. Dies ist ein String von <size> laenge. Je ein Byte gibt den Inhalt des jeweiligen Slots an.",
81
+									"type" : "string"
82
+								},
83
+								"docked_to" : {
84
+									"description" : "ID der Entity, mit dem dieses Schiff aktuell gedockt ist, oder null.",
85
+									"type" : [ "number", "null" ]
86
+								}
87
+							}
88
+						}
56 89
 					},
57 90
 					"asteroids" : {
58 91
 						"description" : "Liste der Asteroiden innerhalb der Bounding-Box, mit ihren Eigenschaften",
59
-						"type" : "array"
92
+						"type" : "array",
93
+						"items" : {
94
+							"type" : "object",
95
+							"properties" : {
96
+								"id" : {
97
+									"description" : "Unique-ID dieses Asteroiden, die sich im Laufe der Zeit NICHT veraendert.",
98
+									"type" : "number"
99
+								},
100
+								"x" : {
101
+									"description" : "Aktuelle x-Koordinate dieses Asteroiden",
102
+									"type" : "number"
103
+								},
104
+								"y" : {
105
+									"description" : "Aktuelle y-Koordinate dieses Asteroiden",
106
+									"type" : "number"
107
+								},
108
+								"contents" : {
109
+									"description" : "Inhalt der Slots des Schiffes. Dies ist ein String von Laenge der Asteroiden-Groesse. Je ein Byte gibt den Inhalt des jeweiligen Slots an.",
110
+									"type" : "string"
111
+								}
112
+							}
113
+						}
60 114
 					},
61 115
 					"players" : {
62 116
 						"description" : "Liste der Spieler, die aktuell im Spiel sind.",
63
-						"type" : "array"
117
+						"type" : "array",
118
+						"items" : {
119
+							"type" : "object",
120
+							"properties" : {
121
+								"id" : {
122
+									"description" : "ID dieses Spielers.",
123
+									"type" : "number"
124
+								},
125
+								"name" : {
126
+									"description" : "Name dieses Spielers.",
127
+									"type" : "string"
128
+								}
129
+							}
130
+						}
64 131
 					},
65 132
 					"shots" : {
66 133
 						"description" : "Liste der gerade gefeuerten Schuesse innerhalb der Bounding-Box, mit ihren Eigenschaften",