class xboardGamePlay: def __init__ (self): self.board_object = Board() self.white_turn = True self.depth = 4 self.increased_depth = False '''start the game by creating 2 players''' def start_new_game(self): self.player1_computer = Player("B",self.depth) self.player2_human = Player("W", 0) '''determine and play the computers move''' def play_move_computer(self): if not self.white_turn: alpha_list = list() if ((not self.increased_depth) and (self.board_object.black_piece_count + self.board_object.white_piece_count) < 16): self.player1_computer.depth += 1 self.depth +=1 self.increased_depth = True for i in range(self.depth + 1): alpha_list.append(None) '''cProfile.runctx( "self.player1_computer.determineNextMove(self.board_object, alpha_list)", globals(), locals(), filename="/home/emma/Desktop/emmaPython.profile" )''' p1next, heur = self.player1_computer.determineNextMove( self.board_object, alpha_list ) if(not p1next == None): self.board_object.try_move_piece(p1next, False) self.board_object.save_board() self.white_turn = True return p1next else: '''check mate''' return "None" else: '''isnt blacks turn''' return None '''play the human players move on the board''' def play_move_human(self, given_move): if self.white_turn: heur_inc = self.board_object.matrix[given_move.startX][given_move.startY].table[(given_move.endX)*8 + given_move.endY] heur_inc -= self.board_object.matrix[given_move.startX][given_move.startY].table[(given_move.startX)*8 + given_move.startY] if(not self.board_object.matrix[given_move.endX][given_move.endY] == None): heur_inc += self.board_object.matrix[given_move.endX][given_move.endY].material can_move_piece = self.board_object.try_move_piece([given_move,heur_inc], False) self.board_object.save_board() self.white_turn = False return can_move_piece else: '''illegal move or isnt whites turn''' return False