public virtual void UndoMove(int sqFrom, int sqTo) { ulong moveFrom = 1UL << sqFrom; ulong moveTo = 1UL << sqTo; this.board &= (~moveTo); this.board |= moveFrom; }