Information Technology Reference
In-Depth Information
Damit sind ID und
Nickname
des Einladenden im Formular
inviteConfirm
ver-
merkt, und das Nachrichtenfenster kann angezeigt werden. Beim Klicken auf
J
A
oder
N
EIN
wird die jeweilige Entscheidung über den Server zum Absender
geschickt und landet dort wieder im
onmessage
-Callback:
else if (msg.request == 'confirm') {
if (msg.choice == true) {
wsMessage({
task : 'setPlaying',
client : msg.from.id
});
prepareGame(msg.from.id,msg.from.nick);
document.forms.loggedin.style.display = 'none';
}
else {
show('nothanks');
window.setTimeout(function() {
hide('nothanks');
document.forms.users.style.display = 'inline';
}, 2000);
}
}
Wenn die Aufforderung zum Spiel mit
J
A
beantwortet wurde, wird dem Server
mitgeteilt, dass die beiden Spieler jetzt miteinander spielen, das Spiel wird vor-
bereitet, und die Auswahlliste angemeldeter Spieler wird ausgeblendet. Lautet
die Antwort
N
EIN
, wird lediglich die Nachricht
Nein danke, ich mag jetzt nicht
für
zwei Sekunden angezeigt.
Als direkte Folge der Meldung
Wir spielen jetzt miteinander
an den Server erfol-
gen noch weitere Schritte, wie das Aktualisieren des Spielerstatus-Objekts auf
dem Server, der gleich danach alle Benutzer davon in Kenntnis setzt, dass die
beiden Spieler zurzeit nicht für andere Spiele zur Verfügung stehen:
Beim Server in
game_server.js
sähe das so aus:
var setBusy = function(id) {
USERS[id].busy = true;
var msg = {task:'isPlaying',user:USERS[id]};
conn.broadcast(JSON.stringify(msg));
conn.write(JSON.stringify(msg));
};
else if (msg.task == 'setPlaying') {