X-Git-Url: https://git.ucc.asn.au/?p=progcomp2013.git;a=blobdiff_plain;f=qchess%2Fsrc%2Fboard.py;h=9ec14e11c3ca3af10d8df4b15adfde947cec02dd;hp=8fbbaa044134db5f4c9fb40092e3cd838cbe1a16;hb=13106edfbf2a97cdb79148ea43067d8f31fac083;hpb=4e3cee35c67cb43df5d81ba8a0ecc2013d065379 diff --git a/qchess/src/board.py b/qchess/src/board.py index 8fbbaa0..9ec14e1 100644 --- a/qchess/src/board.py +++ b/qchess/src/board.py @@ -197,7 +197,7 @@ class Board(): #print "Moving " + str(x) + "," + str(y) + " to " + str(x2) + "," + str(y2) + "; possible_moves are " + str(self.possible_moves(piece)) if not [x2,y2] in self.possible_moves(piece): - raise Exception("ILLEGAL move") + raise Exception("ILLEGAL move " + str(x2)+","+str(y2)) self.grid[x][y] = None taken = self.grid[x2][y2] @@ -308,7 +308,7 @@ class Board(): for i in range(len(p.types)): t = p.types[i] - prob = 0.5 + prob = 1.0 / float(len(p.types)) if t == "unknown" or p.types[i][0] == '?': total_types = 0 for t2 in self.unrevealed_types[p.colour].keys(): @@ -316,17 +316,17 @@ class Board(): for t2 in self.unrevealed_types[p.colour].keys(): prob2 = float(self.unrevealed_types[p.colour][t2]) / float(total_types) - p.current_type = t2 - for point in self.possible_moves(p, reject_allied): + #p.current_type = t2 + for point in self.possible_moves(p, reject_allied, state=t2): result[point[0]][point[1]] += prob2 * prob else: - p.current_type = t - for point in self.possible_moves(p, reject_allied): - result[point[0]][point[1]] += prob + #p.current_type = t + for point in self.possible_moves(p, reject_allied, state=t): + result[point[0]][point[1]] += prob #self.verify() - p.current_type = "unknown" + #p.current_type = "unknown" return result def prob_is_type(self, p, state): @@ -364,8 +364,7 @@ class Board(): p.current_type = old_type return result - if p.possible_moves != None: - return p.possible_moves + result = []