示例#1
0
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')
示例#2
0
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')
示例#3
0
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')
示例#4
0
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')
示例#5
0
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')
示例#6
0
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')
示例#7
0
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')
示例#8
0
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')
示例#9
0
def calc_nodes(state, level, player, opponent):
    ''' Расчет количества сгенерированных узлов
		- state - начальное состояние
		- level - максимальная глубина рекрсии (количество полуходов)
		- player - игрок
		- opponent - оппонент
	'''
    _, _, nodes = bestmove(state, level, player, opponent)
    return nodes