git.ucc.asn.au
/
progcomp2013.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Forgot headers
[progcomp2013.git]
/
qchess
/
src
/
main.py
diff --git
a/qchess/src/main.py
b/qchess/src/main.py
index
f52cad0
..
ea50a1f
100644
(file)
--- a/
qchess/src/main.py
+++ b/
qchess/src/main.py
@@
-27,14
+27,18
@@
def make_player(name, colour):
if s[0] == "network":
ip = None
port = 4562
if s[0] == "network":
ip = None
port = 4562
+ #print str(s)
if len(s) > 1:
if len(s) > 1:
- ip = s[1]
+ if s[1] != "":
+ ip = s[1]
+ if len(s) > 2:
+ port = int(s[2])
if ip == None:
if colour == "black":
if ip == None:
if colour == "black":
- port
= 4563
+ port
+= 1
elif colour == "white":
elif colour == "white":
- port
= 4563
+ port
+= 1
return NetworkPlayer(colour, Network((ip, port)), None)
if s[0] == "internal":
return NetworkPlayer(colour, Network((ip, port)), None)
if s[0] == "internal":
@@
-79,6
+83,9
@@
def main(argv):
global always_reveal_states
global sleep_timeout
global always_reveal_states
global sleep_timeout
+
+ server_addr = None
+
max_moves = None
src_file = None
max_moves = None
src_file = None
@@
-135,17
+142,26
@@
def main(argv):
if len(f.split(":")) == 2:
max_moves = int(f.split(":")[1])
if len(f.split(":")) == 2:
max_moves = int(f.split(":")[1])
-
+
+ elif (arg[1] == '-' and arg[2:].split("=")[0] == "server"):
+ #debug("Server: " + str(arg[2:]))
+ if len(arg[2:].split("=")) <= 1:
+ server_addr = True
+ else:
+ server_addr = arg[2:].split("=")[1]
+
elif (arg[1] == '-' and arg[2:].split("=")[0] == "log"):
# Log file
if len(arg[2:].split("=")) == 1:
elif (arg[1] == '-' and arg[2:].split("=")[0] == "log"):
# Log file
if len(arg[2:].split("=")) == 1:
- log_files.append(LogFile(sys.stdout))
+ log_files.append(LogFile(sys.stdout
,""
))
else:
f = arg[2:].split("=")[1]
else:
f = arg[2:].split("=")[1]
- if f[0] == '@':
+ if f == "":
+ log_files.append(LogFile(sys.stdout, ""))
+ elif f[0] == '@':
log_files.append(ShortLog(f[1:]))
else:
log_files.append(ShortLog(f[1:]))
else:
- log_files.append(LogFile(open(f, "w", 0)))
+ log_files.append(LogFile(open(f, "w", 0)
, f
))
elif (arg[1] == '-' and arg[2:].split("=")[0] == "delay"):
# Delay
if len(arg[2:].split("=")) == 1:
elif (arg[1] == '-' and arg[2:].split("=")[0] == "delay"):
# Delay
if len(arg[2:].split("=")) == 1:
@@
-170,7
+186,17
@@
def main(argv):
# Help
os.system("less data/help.txt") # The best help function
return 0
# Help
os.system("less data/help.txt") # The best help function
return 0
-
+
+ # Dedicated server?
+
+ #debug("server_addr = " + str(server_addr))
+
+ if server_addr != None:
+ if server_addr == True:
+ return dedicated_server()
+ else:
+ return client(server_addr)
+
# Create the board
# Create the board
@@
-215,6
+241,14
@@
def main(argv):
# If there are no players listed, display a nice pretty menu
if len(players) != 2:
if graphics != None:
# If there are no players listed, display a nice pretty menu
if len(players) != 2:
if graphics != None:
+
+ server_addr = graphics.SelectServer()
+ if server_addr != None:
+ if server_addr == True:
+ return dedicated_server()
+ else:
+ return client(server_addr)
+
players = graphics.SelectPlayers(players)
else:
sys.stderr.write(sys.argv[0] + " : Usage " + sys.argv[0] + " white black\n")
players = graphics.SelectPlayers(players)
else:
sys.stderr.write(sys.argv[0] + " : Usage " + sys.argv[0] + " white black\n")
@@
-234,7
+268,7
@@
def main(argv):
players[i] = NetworkPlayer(old[i].colour, p.network, old[i])
for p in players:
players[i] = NetworkPlayer(old[i].colour, p.network, old[i])
for p in players:
- debug(str(p))
+
#
debug(str(p))
if isinstance(p, NetworkPlayer):
p.board = game.board
if not p.network.connected:
if isinstance(p, NetworkPlayer):
p.board = game.board
if not p.network.connected:
@@
-289,11
+323,19
@@
def main(argv):
sys.stdout.write(game.final_result + "\n")
return error
sys.stdout.write(game.final_result + "\n")
return error
+
+
+
+
+
+
+
# This is how python does a main() function...
if __name__ == "__main__":
# This is how python does a main() function...
if __name__ == "__main__":
+ retcode = 0
try:
try:
-
sys.exit(main(sys.argv)
)
+
retcode = main(sys.argv
)
except KeyboardInterrupt:
sys.stderr.write(sys.argv[0] + " : Got KeyboardInterrupt. Stopping everything\n")
if isinstance(graphics, StoppableThread):
except KeyboardInterrupt:
sys.stderr.write(sys.argv[0] + " : Got KeyboardInterrupt. Stopping everything\n")
if isinstance(graphics, StoppableThread):
@@
-304,6
+346,19
@@
if __name__ == "__main__":
game.stop()
if game.is_alive():
game.join()
game.stop()
if game.is_alive():
game.join()
-
- sys.exit(102)
+ retcode = 102
+ #except Exception, e:
+ # sys.stderr.write(sys.argv[0] + " : " + e.message + "\n")
+ # retcode = 103
+
+ try:
+ sys.stdout.close()
+ except:
+ pass
+ try:
+ sys.stderr.close()
+ except:
+ pass
+ sys.exit(retcode)
+
UCC
git Repository :: git.ucc.asn.au