if (b.validMove(f, t))
{
hasMove = true;
Move tmpM = new Move(b.getPiece(f), f, t);
Piece fp = b.getPiece(f);
Piece tp = b.getPiece(t);
b.move(tmpM);
//int tmpV = valueBoard(b) + (int)(valueNMoves(b, n-1) * ALPHA);
int tmpV = valueBoard(b);
if (tp == null ||
(fp.isKnown() && turn == Settings.bottomColor) ||
(tp.isKnown() && turn == Settings.topColor))
tmpV += valueNMoves(b, n-1, guesses);
else if (guesses <= MAX_GUESSES)
tmpV += (int) (ALPHA * valueNMoves(b, n-1, guesses+1));
b.undo(fp, f, tp, t);