コード例 #1
0
ファイル: ChessV7.py プロジェクト: wd7512/The-Music-of-Primes
def online_minmax(col, bo, refer, depth):
    start = time.time()
    move = move2(bo, depth, col)

    str_mov = str(move)

    f_mov = (8 - int(str_mov[1]), ord(str_mov[0]) - 97)
    t_mov = (8 - int(str_mov[3]), ord(str_mov[2]) - 97)
    mov = (f_mov, t_mov)

    if col == False:
        f_mov = (mov[0][0] - 2 * (mov[0][0] - 4) - 1,
                 mov[0][1] - 2 * (mov[0][1] - 4) - 1)
        t_mov = (mov[1][0] - 2 * (mov[1][0] - 4) - 1,
                 mov[1][1] - 2 * (mov[1][1] - 4) - 1)

    #print(mov)
    #print(f_mov)
    #print(t_mov)

    make_move(f_mov, t_mov, 0.1, refer)

    bo.push(move)

    print(bo, '\nTook ', round(time.time() - start, 3), ' seconds thinking')
    return bo
コード例 #2
0
def online_minmax(col, bo, refer,
                  tim):  #only play from bottom so white needs flip

    bo, move = order_minimax_move(tim, bo, col, score_minimax, flip=col)

    mov = move[0]
    #print(mov)
    if col == True:
        f_mov = (mov[0][0] - 2 * (mov[0][0] - 4) - 1,
                 mov[0][1] - 2 * (mov[0][1] - 4) - 1)
        t_mov = (mov[1][0] - 2 * (mov[1][0] - 4) - 1,
                 mov[1][1] - 2 * (mov[1][1] - 4) - 1)
        #print(f_mov,t_mov)
        make_move(f_mov, t_mov, 0.1, refer)
        #make_move(mov[0],mov[1],1,refer)
        if col:
            bo = np.flip(bo)

    else:
        make_move(mov[0], mov[1], 0.1, refer)
        if col:
            bo = np.flip(bo)

    print(bo)
    return bo
コード例 #3
0
def online_random(): #only for white start at the bottom
    refer = (350,228)
    a = read(ref = refer)
    move = random_moves(a,True)
    mov = move[1][0]
    #print(mov)
    f_mov = (mov[0][0]-2*(mov[0][0]-4)-1,mov[0][1]-2*(mov[0][1]-4)-1)
    t_mov = (mov[1][0]-2*(mov[1][0]-4)-1,mov[1][1]-2*(mov[1][1]-4)-1)
    #print(f_mov,t_mov)
    make_move(f_mov,t_mov,0.1,refer)
    #make_move(mov[0],mov[1],1,refer)
    print(np.flip(move[0]))
コード例 #4
0
ファイル: ChessV2.py プロジェクト: wd7512/The-Music-of-Primes
def online_minmax(col, bo, refer):
    mov = move2(bo, 3, col)

    str_mov = str(mov)
    f_mov = (7 - (int(str_mov[1]) - 1), 7 - (7 - (ord(str_mov[0]) - 97)))
    t_mov = (7 - (int(str_mov[3]) - 1), 7 - (7 - (ord(str_mov[2]) - 97)))

    print(mov)
    print(f_mov)
    print(t_mov)

    make_move(f_mov, t_mov, 0.1, refer)

    bo.push(mov)

    print(bo)
    return bo
コード例 #5
0
def online_play():
    ref = (350, 228)  #(x,y) top left corner postion
    nex = int(input('Please press enter colour of player \n 0=White/1=Black'))
    print('Starting in 5')

    if nex == 0:
        col = True
    else:
        col = False

    while True:
        bo = read()
        if col == True:
            move = random_moves(bo, col)
            make_move(move[0], move[1], 1)
        else:
            time.sleep(3)
コード例 #6
0
def online_minmax(col): #only play from bottom so white needs flip
    refer = get_ref()
    a = read(ref = refer)
    
    move = minimax_move(a,3,col,score_minimax,flip=col)
    
    mov = move[1][0]
    #print(mov)
    if col == True:
        f_mov = (mov[0][0]-2*(mov[0][0]-4)-1,mov[0][1]-2*(mov[0][1]-4)-1)
        t_mov = (mov[1][0]-2*(mov[1][0]-4)-1,mov[1][1]-2*(mov[1][1]-4)-1)
        #print(f_mov,t_mov)
        make_move(f_mov,t_mov,0.1,refer)
        #make_move(mov[0],mov[1],1,refer)
        print(np.flip(move[0]))
    else:
        make_move(mov[0],mov[1],0.1,refer)
        print(move[0])