def succesor_boards(max_player, game, board): moves = ['U', 'D', 'L', 'R'] succs = [] for move in moves: if max_player: new_game = Game_IJK(copy.deepcopy(board), "+", game.getDeterministic()) succ = new_game.makeMove(move) succs.append((move, succ.getGame())) else: new_game = Game_IJK(board, "-", game.getDeterministic()) succ = new_game.makeMove(move) succs.append((move, succ.getGame())) return succs
def chance_boards(max_player, game, board, move, empty_tiles): succs = [] for i in range(0, empty_tiles): if max_player: new_game = Game_IJK(copy.deepcopy(board), "+", game.getDeterministic()) succ = new_game.makeMove(move) succs.append((move, succ.getGame())) else: new_game = Game_IJK(copy.deepcopy(board), "-", game.getDeterministic()) succ = new_game.makeMove(move) succs.append((move, succ.getGame())) return succs
def find_successors(board, player, deterministic): moves = ['L', 'R', 'U', 'D'] child_nodes = [] for i in moves: game1 = Game_IJK(board, player, deterministic) child_nodes.append(game1.makeMove(i).getGame()) return child_nodes