Example #1
0
    Result evalPos(const char* fen, int thinkTime)
    {
        Result r;
        MoveList mlist;

        Position pos;
        pos.ReadFromFEN(fen);
        r.whiteMove = (pos.GetToMove() == WHITE);

        Engine * engine = new Engine();
        engine->SetSearchTime(thinkTime);
        engine->SetPosition(&pos);
        r.score = engine->Think(&mlist);
        simpleMoveT * sm = mlist.Get(0);
        ASSERT (sq == sm->from  ||  sq == sm->to);

        r.from = sm->from;
        r.to = sm->to;
        r.error = 0;

        delete engine;
        return r;
    }