Information Technology Reference
In-Depth Information
setBusy(conn.id);
setBusy(msg.client);
}
Zurück beim Client wird diese Nachricht im onmessage -Callback aufgefangen
und die lokal gehaltene Liste angemeldeter Spieler aktualisiert. Das Resultat
dieser Aktualisierung ist, dass beide Spieler nicht mehr anwählbar sind, da
ihre option -Elemente mit einem disabled -Attribut deaktiviert wurden.
else if (msg.task == 'isPlaying') {
var opts = document.forms.loggedin.users.options;
for (var i=0; i<opts.length; i++) {
if (opts[i].value == msg.user.id) {
opts[i].disabled = 'disabled';
}
}
}
Sind sich beide Spieler darüber einig, miteinander spielen zu wollen, kann mit
dem Platzieren der Schiffe begonnen werden. Sind Sie als Benutzer test1 oder
test2 eingeloggt, sind ihre Schiffe schon bereit; wenn nicht, ermöglichen Ihnen
ein jetzt sichtbares Pulldown-Menü und fünf Buttons das Digitalisieren Ihrer
Flotte. Wählen Sie zuerst die Ausrichtung horizontal oder vertikal , klicken Sie
dann auf den gewünschten Schiffstyp, und fügen Sie durch einen weiteren Klick
auf das Spielfeld das Schiff an der gewünschten Position hinzu.
Die betroffenen Felder werden mittels CSS-Klasse ship als Schiff formatiert
und in drei JavaScript-Variablen festgehalten. Die Variable game.ships.is
Ship merkt sich die belegten Positionen, und die Variable game.ships.parts
verzeichnet als Array von Arrays die Zugehörigkeit der Felder zum jeweiligen
Schiff. Eine Kopie dieses Arrays in der Variablen game.ships.partsTodo wird im
Laufe des Spiels sukzessive abgearbeitet und enthält am Ende beim Verlierer
nur noch zehn leere Arrays, da bei jedem Treffer die betroffene Position ge-
löscht wird.
Mit jedem neu gesetzten Schiff aktualisiert sich auch der Label des dazuge-
hörigen Buttons. Er zeigt an, wie viele Schiffe von diesem Typ noch zur Ver-
fügung stehen, und er verschwindet, sobald alle Schiffe dieses Typs platziert
sind. Wenn alle Schiffe gesetzt sind, verschwindet das ganze Formular, und
eine Nachricht wird zum Gegner gesendet - das Spiel kann beginnen!
Search WWH ::




Custom Search