Information Technology Reference
In-Depth Information
if (game.ships.parts.length == 10) {
document.forms.digitize.style.display = 'none';
game.me.grid['1-1'].parentNode.style.pointerEvents =
'none';
wsMessage({
task : 'private',
request : 'ready',
client : game.you.id
});
game.me.ready = true;
}
Wer zuerst kommt, mahlt zuerst lautet die Devise, und deshalb beginnt jener
Spieler, der seine Schiffe am schnellsten aufgestellt hat. Passend zum Sprich-
wort Den letzten beißen die Hunde , muss im Gegenzug der langsamere Spieler
die erste Attacke auf seine Flotte hinnehmen. Ermöglicht wird das Attackieren
gegnerischer Schiffe durch ein zweites Spielfeld, das eingeblendet wird, sobald
beide Spieler ihre Schiffe aufgestellt haben.
Die Spiellogik für das Angreifen und Versenken von Schiffen ist vollständig im
Client umgesetzt. Der Server verteilt dabei nur die Spielzüge als private Nach-
richten an die beiden beteiligten Spieler. Bei jedem Klick auf ein aktives Spiel-
feld wird die reveal -Funktion aufgerufen:
this.reveal = function(evt) {
wsMessage({
task : 'private',
request : 'challenge',
field : evt.target.value,
client : game.you.id
});
};
Der Server leitet die Nachricht zum gegnerischen Spieler, wobei dort überprüft
wird, ob das angeklickte Feld ( field ) ein Schiffsteil enthält oder nicht:
else if (msg.request == 'challenge') {
var destroyed = 0;
if (game.ships.isShip[msg.field]) {
game.me.grid[msg.field].setAttribute("class","hit");
Search WWH ::




Custom Search