Information Technology Reference
In-Depth Information
msg.text = "<em>Ein Benutzer ist ausgestiegen</em>";
conn.broadcast(JSON.stringify(msg));
});
server.listen(8887);
Wie bei dem connection -Event bekommen auch beim close -Event alle Benut-
zer eine Nachricht. In diesem Fall werden sie darüber informiert, dass ein Teil-
nehmer aus der Konferenz ausgestiegen ist. Abschließend wird der Server an
den Port 8887 gebunden und nimmt ab diesem Zeitpunkt Anfragen entgegen.
So viel zu diesem ersten, sehr kurzen Beispiel. Im folgenden Abschnitt entwi-
ckeln wir ein Spiel, das die Vorteile von Websockets noch weiter ausnutzt.
9.3
Beispiel: Schiffe versenken!
Ein etwas ausführlicheres websocket -Beispiel widmet sich einem beliebten
Strategie-Spiel, für das sonst nur Papier und Bleistift benötigt werden - Schiffe
versenken!. Die Spielregeln sind schnell erklärt: Jeder Spieler, jede Spielerin
platziert auf einem 10x10 Felder großen Spielfeld 10 Schiffe unterschiedlicher
Größe. Die Schiffe dürfen sich nicht berühren, müssen horizontal oder vertikal
angeordnet sein und sind zwei bis fünf Felder groß. Die Verteilung folgt nach
der Regel: 1x5, 2x4, 3x3 und 4x2 Felder pro Schiff. Wer zuerst seine Schiffe
angeordnet hat, darf das Spiel beginnen und ein Feld des Gegners auswählen.
Befindet sich an dieser Stelle Wasser, ist der Gegner am Zug; befindet sich dort
der Teil eines Schiffes, darf weitergeraten werden. Das Prozedere wiederholt
sich so lange, bis alle Teile aller Schiffe getroffen und damit versenkt sind.
Zur Umsetzung von Schiffe versenken! in HTML5 benötigen wir auf der Client-
seite eine HTML-Datei mit JavaScript-Bibliothek und CSS-Stylesheet und auf
der Serverseite den bereits in Abschnitt  9.1.1, Der Websocket-Server, vorge-
stellten node-websocket-server . Alle für die Applikation relevanten Dateien fin-
den Sie unter folgenden Links:
http://html5.komplett.cc/code/chap_websockets/game.html
»
http://html5.komplett.cc/code/chap_websockets/game.js
»
http://html5.komplett.cc/code/chap_websockets/game.css
»
http://html5.komplett.cc/code/chap_websockets/ws/game_server.js
»
Search WWH ::




Custom Search