def test_play(): from nim import state_nim s = state_nim('1') level = 4 player, opponent = "1", "2" print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) #print(f'Step {step}: {move} (cuttent heaps: {s.heaps} Player: {player}') move, _, _ = bestmove(s, level, player, opponent) s.do_move(move) print(f'Step {step}: {move} (cuttent heaps: {s.heaps} Player: {player}') if s.is_win(opponent): print(f'Player {player} win!') break step += 1 player, opponent = opponent, player print('the end')
def test_play(): from rook import state_rook s = state_rook('1') level = 4 player, opponent = "1", "2" print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) if move == None: print('finish... draw') break print(f'Step {step}: {move} (x: {s.x} y: {s.y}) Player: {player}') move, _, _ = bestmove(s, level, player, opponent) s.do_move(move) print(f'Step {step}: {move} (x: {s.x} y: {s.y}) Player: {player}') if s.is_win(opponent): print(f'Player {player} win!') break step += 1 player, opponent = opponent, player print('the end')
def test_play(): from maxit import state_maxit s = state_maxit() level = 2 player, opponent = '1', '2' print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) print(f'Step {step}: {move}') s.do_move(move) if s.is_win(player): print(f'Player {opponent} win!') break step += 1 player, opponent = opponent, player print('the end')
def test_play(): from matchs import state_match s = state_match("1") level = 4 player, opponent = "1", state_match.opponent["1"] print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) if move == None: print('finish... draw') break print(f'Step {step}: {move}') s.do_move(move) if s.is_win(opponent): print(f'Player {opponent} win!') break step += 1 player, opponent = opponent, player print('the end')
def test_play(): from twenty import state_twenty s = state_twenty(1) level = 4 player, opponent = 1, 2 print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) print(f'Step {step}: {move}') s.do_move(move) if s.is_win(player): print(f'Player {player} win!') break print(s.is_win(player) or s.is_win(opponent)) step += 1 player, opponent = opponent, player if step > 20: print('error') break print('the end')
def test_play(): from xo import state_xo s = state_xo() level = 4 player, opponent = "X", state_xo.opponent["X"] print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) if move == None: print('finish... draw') break print(f'Step {step}: {move}') s.do_move(move) print(f'{s}') if s.is_win(player): print(f'Player {player} win!') break step += 1 player, opponent = opponent, player print('the end')
def test_play(): from checkers import state_checkers s = state_checkers(field) level = 4 player, opponent = 'W', state_checkers.opponent['W'][0] step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) print(f'Step {step}: {move}') if move is None: print('finish... draw') break s.value = s.do_move(s.value, move) if s.is_win(player): print(f'Player {player} win!') break step += 1 player, opponent = opponent, player # for line in s.value: # print(line) # print("---------------------------") for line in s.value: print(line) print('the end')
def test_play(): from cop_thug import state_ct s = state_ct() level = 4 player, opponent = "C", "T" print('start!') step = 1 while not (s.is_win(player) or s.is_win(opponent)): move, _, _ = bestmove(s, level, player, opponent) if move == None: print('finish... draw') break print(f'Step {step}: {move}') s.do_move(move) if s.is_win(opponent): print(f'Player {opponent} win!') break step += 1 player, opponent = opponent, player print('the end')
def calc_nodes(state, level, player, opponent): ''' Расчет количества сгенерированных узлов - state - начальное состояние - level - максимальная глубина рекрсии (количество полуходов) - player - игрок - opponent - оппонент ''' _, _, nodes = bestmove(state, level, player, opponent) return nodes