X-Git-Url: https://git.ucc.asn.au/?p=progcomp2013.git;a=blobdiff_plain;f=qchess%2Fsrc%2Fgame.py;fp=qchess%2Fsrc%2Fgame.py;h=6972c5c2bdc959cae413a31389edc394ecfd7e55;hp=f1f48bb808f4ee3dfaf0e6f6a5aea33e44b45a43;hb=9b5054e5a06872ae85aca693079c17a0cd40c339;hpb=93279737bf3ad25d9172fa7873bb0cc689a8487a diff --git a/qchess/src/game.py b/qchess/src/game.py index f1f48bb..6972c5c 100644 --- a/qchess/src/game.py +++ b/qchess/src/game.py @@ -29,8 +29,8 @@ class GameThread(StoppableThread): for p in self.players: with self.lock: self.state["turn"] = p.base_player() - #try: - if True: + try: + #if True: [x,y] = p.select() # Player selects a square if self.stopped(): #debug("Quitting in select") @@ -80,10 +80,10 @@ class GameThread(StoppableThread): graphics.state["dest"] = None continue - try: - [x2,y2] = p.get_move() # Player selects a destination - except: - self.stop() + #try: + [x2,y2] = p.get_move() # Player selects a destination + #except: + # self.stop() if self.stopped(): #debug("Quitting in get_move") @@ -132,28 +132,31 @@ class GameThread(StoppableThread): graphics.state["dest"] = None graphics.state["moves"] = None - # Commented out exception stuff for now, because it makes it impossible to tell if I made an IndentationError somewhere - # except Exception,e: - # result = e.message - # #sys.stderr.write(result + "\n") - # - # self.stop() - # with self.lock: - # self.final_result = self.state["turn"].colour + " " + e.message - - end = self.board.end_condition() - if end != None: - with self.lock: - if end == "DRAW": - self.final_result = self.state["turn"].colour + " " + end - else: - self.final_result = end - self.stop() + + end = self.board.end_condition() + if end != None: + with self.lock: + if end == "DRAW": + self.final_result = self.state["turn"].colour + " " + end + else: + self.final_result = end + self.stop() - if self.stopped(): + if self.stopped(): + break + except Exception,e: + #if False: + result = e.message + #sys.stderr.write(result + "\n") + + self.stop() + + with self.lock: + self.final_result = self.state["turn"].colour + " " + e.message break + for p2 in self.players: p2.quit(self.final_result)