def move(r): rm = r[0] d.push_uci(rm) if is_uci: print2("bestmove %s" % rm) else: print2("move %s" % rm) pgn()
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)