elif request == "start":
print "New game."
args = path+"qchess.py --no-graphics"
- if mode == None or mode == "bishop":
- args += " @fifo:../qchess-cgi-data/"+client+" @internal:AgentBishop --log=../qchess-cgi-data/"+client+".log"
- if mode == "random":
+ if mode == "black":
+ args += " @internal:AgentBishop @fifo:../qchess-cgi-data/"+client
+ elif mode == None or mode == "bishop":
+ args += " @fifo:../qchess-cgi-data/"+client+" @internal:AgentBishop"
+ elif mode == "random":
args += " @fifo:../qchess-cgi-data/"+client+" @internal:AgentRandom"
elif mode == "eigengame":
args += " --server=progcomp.ucc.asn.au @fifo:../qchess-cgi-data/"+client
+ args += " --log=@../qchess-cgi-data/"+client+".log";
+
os.system("echo '"+args+"' | at now")
# subprocess.Popen(args)
Player.__init__(self, name, colour)
os.mkfifo(self.name+".in")
os.mkfifo(self.name+".out")
-
+
+ try:
+ self.fifo_out = open_fifo(self.name+".out","w", FifoPlayer.timeout)
+ except:
+ raise Exception("FIFO_TIMEOUT")
+ else:
+ self.fifo_out.write("START "+colour+"\n")
+ self.fifo_out.close()
+
# --- main.py --- #
-# EOF - created from make on Thursday 20 June 18:09:07 WST 2013
+# EOF - created from make on Friday 21 June 18:15:14 WST 2013
Player.__init__(self, name, colour)
os.mkfifo(self.name+".in")
os.mkfifo(self.name+".out")
-
+
+ try:
+ self.fifo_out = open_fifo(self.name+".out","w", FifoPlayer.timeout)
+ except:
+ raise Exception("FIFO_TIMEOUT")
+ else:
+ self.fifo_out.write("START "+colour+"\n")
+ self.fifo_out.close()
+
*/\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
$("#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
+ $.ajax({url : "/cgi-bin/qchess.cgi", data : {r : "start", m : "black"}}).done(function(data) {$(this).update(data)});\r
\r
\r
}\r
$("#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
}\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