Information Technology Reference
In-Depth Information
Klasse
CSS-Formatierung
.empty
background-color: #EEE
.ship
background-color: slategray
.water
background-color: lightblue
.hit
background-color: salmon; pointer-events: none
.destroyed background-color: darkseagreen; pointer-events: none
Tabelle 9.1: Spielrelevante CSS-Klassen des Spielfelds
Bevor es mit dem Digitalisieren der Schiffe losgehen kann, muss ein Spielpart-
ner gefunden werden. Dazu wird in der Liste angemeldeter Spieler ein Spieler
ausgewählt und durch Anklicken der Schaltfläche
S PIELER I N EINLADEN eine entspre-
chende Einladung verschickt. Die Callback-Funktion dieser Schaltfläche ermit-
telt die Spieler-ID und schickt eine Einladungsnachricht zum Websocket-Server:
this.invitePlayer = function() {
var opts = document.forms.loggedin.users.options;
if (opts.selectedIndex != -1) {
wsMessage({
task : 'private',
request : 'invite',
client : opts[opts.selectedIndex].value
});
}
};
Die aufgerufene Funktion wsMessage() leitet die Nachricht im JSON-Format an
den Server weiter. In ihr könnten auch noch zusätzliche Schritte, wie das Über-
prüfen der Gültigkeit der Nachricht oder Ähnliches, eingebaut werden:
var wsMessage = function(msg) {
game.websocket.send(JSON.stringify(msg));
};
Die Variable game in diesem Code-Listing repräsentiert übrigens das zentrale
Spiel-Objekt und enthält alle für das Spiel relevanten Variablen. Beim Server
wird die Einladung als private Nachricht identifiziert, mit den Daten des Absen-
ders versehen und dann dem ausgewählten Spieler zugestellt:
Search WWH ::




Custom Search