list(map(int, raw_moves)), "drop"): main_map.castMove(x, (y - 1, 0), z) main_map.controlTime() return main_map def printBad(main_map, expected, result): main_map.printMap() print(pos) print("result", result, "expected", expected) print("xPlayer", main_map.getStat("xPlayer", "ACT")) if __name__ == "__main__": with udebs.Timer(): modified = modifyconfig(udebs_config.config, 7, 6) main_map = udebs.battleStart(modified, field=module.Connect4()) widgets = [ "(", progressbar.SimpleProgress(), ") ", progressbar.Bar(), " ", progressbar.Timer(), " ", progressbar.AdaptiveETA(), ] for test_file in tests:
return self.negamax(alpha, beta) @udebs.countrecursion @cache def negamax(self, alpha, beta): current = -float("inf") for child, e in self.substates(): if child is e: result = -child else: result = -child.negamax(-beta, -alpha) if result > current: current = result if result > alpha: alpha = result if alpha >= beta: break return current if __name__ == "__main__": main_map = udebs.battleStart(udebs_config.config, field=Connect4()) main_map.printMap() with udebs.Timer(): result = main_map.result() print(result)