def calc_nodes(state, level, player, opponent): ''' Расчет количества сгенерированных узлов - state - начальное состояние - level - максимальная глубина рекрсии (количество полуходов) - player - игрок - opponent - оппонент ''' _, _, nodes = bestmove(state, level, player, opponent) return nodes
from cop_thug import state_ct from minimax import bestmove s = state_ct() level = 5 player, opponent = 'C', 'T' move, _, nodes = bestmove(s, level, player, opponent) print(f"Best move is: ", move) def calc_nodes(state, level, player, opponent): ''' Расчет количества сгенерированных узлов - state - начальное состояние - level - максимальная глубина рекрсии (количество полуходов) - player - игрок - opponent - оппонент ''' _, _, nodes = bestmove(state, level, player, opponent) return nodes def test_time(level): ''' Тестирование времени расчета level - количество полуходов, максимальная глубина дерева ''' from cop_thug import state_ct from timeit import Timer s = state_ct() player, opponent = 'C', 'T'
from xo import state_xo from minimax import bestmove # начальное состояние (пустое) s = state_xo() # на три хода (на шесть полуходов) вперед level = 6 # первым ходит "X", вторым - "0" player, opponent = "X", state_xo.opponent["X"] # получаем лучший ход move = bestmove(s, level, player, opponent) print(f"Best move is: ", move)