示例#1
0
def move(r):
    rm = r[0]
    d.push_uci(rm)
    if is_uci:
        print2("bestmove %s" % rm)
    else:
        print2("move %s" % rm)
    pgn()
示例#2
0
        elif l == 'isready':
            if not d:
                newgame()
            print2("id name %s" % nm)
            print2("readyok")
        elif 'setboard' in l:
            fen = l.split(' ', 1)[1]
            fromfen(fen)
        elif l[:2] == 'go' or l == 'force':
            if not d:
                newgame()
            t, r = p.getmove(d, silent=True)
            if r:
                move(r)
        elif l == '?':
            print2("move", r)
            if log:
                log.write("move %s\n" % r)
                log.flush()
        else:
            if not d:
                newgame()
            if l[0] in abc and l[2] in abc and l[1] in nn and l[3] in nn:
                if len(l) == 6:
                    l = l[:4] + 'q'  # "Knights" outputs malformed UCI pawn promotion moves
                d.push_uci(l)
                pgn()
                t, r = p.getmove(d, silent=True)
                if r:
                    move(r)