comparison rlgterm.js @ 94:597e9477b8ae

RLG-Web: Allow games to be taken over. Make it possible to reconnect to a game if the user has left the page without saving.
author John "Elwin" Edwards <elwin@sdf.org>
date Wed, 11 Jul 2012 10:30:33 -0700
parents 104409bf5f03
children 7bb634f6995c
comparison
equal deleted inserted replaced
93:104409bf5f03 94:597e9477b8ae
560 if (reply.stat[gname] == "s") 560 if (reply.stat[gname] == "s")
561 acttext = "Resume your game"; 561 acttext = "Resume your game";
562 else if (reply.stat[gname] == "0") 562 else if (reply.stat[gname] == "0")
563 acttext = "Start a game"; 563 acttext = "Start a game";
564 else if (reply.stat[gname] == "p") 564 else if (reply.stat[gname] == "p")
565 acttext = "Game in progress"; 565 acttext = "Reconnect";
566 else if (reply.stat[gname] == "d") 566 else if (reply.stat[gname] == "d")
567 acttext = "Game in progress (dgl)"; 567 acttext = "Game in progress (dgl)";
568 else 568 else
569 continue; 569 continue;
570 var button = document.createElement("span"); 570 var button = document.createElement("span");
571 button.appendChild(document.createTextNode(acttext)); 571 button.appendChild(document.createTextNode(acttext));
572 if ("s0".indexOf(reply.stat[gname]) >= 0) { 572 if ("s0p".indexOf(reply.stat[gname]) >= 0) {
573 button.onclick = makeStarter(gname); 573 button.onclick = makeStarter(gname);
574 button.className = "ibutton"; 574 button.className = "ibutton";
575 } 575 }
576 var actdiv = document.createElement("div"); 576 var actdiv = document.createElement("div");
577 actdiv.appendChild(button); 577 actdiv.appendChild(button);
626 setmode("play"); 626 setmode("play");
627 getData(); 627 getData();
628 } 628 }
629 else if (reply.t == 'E') { 629 else if (reply.t == 'E') {
630 debug(1, "Could not start game: " + reply.s); 630 debug(1, "Could not start game: " + reply.s);
631 message("Your game could not be started: " + reply.s);
632 if (reply.c == 1) { 631 if (reply.c == 1) {
633 logout(); 632 logout();
633 message("The server forgot about you, please log in again.");
634 }
635 else if (reply.c == 4) {
636 message("You can't play that game because it is currently being " +
637 "played over SSH.");
638 }
639 else if (reply.c == 7) {
640 message("The game is being saved, try again in a few seconds.");
641 }
642 else {
643 message("The server says it can't start your game because \"" +
644 reply.s + "\". This is probably a bug.");
634 } 645 }
635 } 646 }
636 }; 647 };
637 req.open('POST', '/play', true); 648 req.open('POST', '/play', true);
638 req.send(JSON.stringify(smsg)); 649 req.send(JSON.stringify(smsg));