Example #1
0
                                   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)