Tidy website a bit
[progcomp2013.git] / web / qwebchess / js.js
index db91e14..3474c3a 100644 (file)
@@ -6,13 +6,13 @@
  */\r
 \r
 pieceSelected = ""; // currently selected piece\r
-playerColour = "W"; // colour of this player\r
+playerColour = ""; // colour of this player\r
 \r
 // Unicode representations of chess pieces\r
 pieceChar = {"W" : { "p" : "\u2659", "h" : "\u2658", "b" : "\u2657", "r" : "\u2656", "q" : "\u2655", "k" : "\u2654", "?" : "?"},\r
             "B" : { "p" : "\u265F", "h" : "\u265E", "b" : "\u265D", "r" : "\u265C", "q" : "\u265B", "k" : "\u265A", "?" : "?"}};\r
 \r
-emptyHTML = "<!--0-->&nbsp; <big> <bold>&nbsp;</bold> </big> &nbsp;"\r
+emptyHTML = "<!--0-->"\r
 \r
 gameStarted = false;\r
 canClick = true;\r
@@ -32,7 +32,7 @@ $(document).ready(function()
                        $("#status").html("white SELECT?");\r
                        $("#start").html("Quit Game");\r
                        pieceSelected = "";\r
-                       canClick = true;\r
+                       canClick = false;\r
                        $.ajax({url : "/cgi-bin/qchess.cgi", data : {r : "force_quit"}, success : function() {}});\r
                        $.ajax({url : "/cgi-bin/qchess.cgi", data : {r : "start"}}).done(function(data) {$(this).update(data)});\r
                \r
@@ -44,6 +44,7 @@ $(document).ready(function()
                        $("#welcome").show();\r
                        $("#status").html("Game over");\r
                        $("#start").html("New Game");\r
+                       canClick = false;\r
                        $.ajax({url : "/cgi-bin/qchess.cgi", data : {r : "quit"}, success : function() {console.log("Quit game");}});\r
                }\r
        });\r
@@ -87,7 +88,10 @@ $(document).ready(function()
                }\r
                \r
                if (legal)\r
+               {\r
+                       canClick = false;\r
                        $.ajax({url : "/cgi-bin/qchess.cgi", data : {x : id[0], y : id[1]}}).done(function(data) {$(this).update(data)});\r
+               }\r
        });\r
 \r
        $.fn.showMoves = function()\r
@@ -213,7 +217,7 @@ $(document).ready(function()
                $(this).html(emptyHTML);\r
 \r
                // Collapse into quantum state if on a black square\r
-               if ((dest.getX() + dest.getY()) % 2 != 0 && (dest.html()[0] == '?' || dest.html()[dest.html().length-1] == '?'))\r
+               if ((dest.getX() + dest.getY()) % 2 != 0 && (dest.html()[0] == '?' || dest.html()[dest.html().length-1] != dest.html()[0]))\r
                {\r
                        oldHTML = dest.html();\r
                        dest.html(oldHTML.replace(/<bold>.*<\/bold>/i, "<bold>?</bold>"));\r
@@ -225,6 +229,7 @@ $(document).ready(function()
        {\r
                console.log("AJAX Response:\n"+data);\r
                var lines = data.split("\n");\r
+               var timeout = false;\r
                for (var i = 0; i < lines.length; ++i)\r
                {\r
                        var tokens = lines[i].split(" ");\r
@@ -237,7 +242,7 @@ $(document).ready(function()
                                        if (s1.html()[4] != '0')\r
                                        {\r
                                                s2 = $("#board").find("#"+tokens[3]+tokens[4]);\r
-                                               canClick = false;\r
+                                               timeout = true;\r
                                                setTimeout((function(x) \r
                                                {\r
                                                        return function() \r
@@ -279,12 +284,25 @@ $(document).ready(function()
                        }\r
                        else switch (lines[i])\r
                        {\r
+       \r
                                case "SELECT?":\r
                                        pieceSelected = "";\r
                                case "MOVE?":\r
                                case "":\r
                                case "New game.":\r
                                        break;\r
+                               case "START white":\r
+                                       if (playerColour == "")\r
+                                       {\r
+                                               playerColour = "W";\r
+                                               break;\r
+                                       }\r
+                               case "START black":\r
+                                       if (playerColour == "")\r
+                                       {\r
+                                               playerColour = "B";\r
+                                               break;\r
+                                       }\r
                                default:\r
                                        alert("Game ends: " + lines[i]);\r
                                        gameStarted = false;\r
@@ -296,6 +314,8 @@ $(document).ready(function()
                                        break;\r
                        }\r
                }\r
+               if (timeout == false)\r
+                       canClick = true;\r
        }\r
 \r
        //Reset the colour of a square\r
@@ -335,7 +355,7 @@ $(document).ready(function()
                        boardHTML += "<tr id=\"y"+y+"\">";\r
                        for (var x = 0; x < 8; ++x)\r
                        {\r
-                               boardHTML += "<td id=\""+x+""+y+"\">"+emptyHTML+"</td>";\r
+                               boardHTML += "<td id=\""+x+""+y+"\" width=\"12.5%\" height=\"12.5%\" align=\"center\">"+emptyHTML+"</td>";\r
                        }\r
                        boardHTML += "</tr>";\r
                }\r

UCC git Repository :: git.ucc.asn.au