hgducharme / meatball

A C++17 chess engine written entirely from scratch (WIP)
GNU General Public License v2.0
0 stars 0 forks source link

Maybe add a flag to `calculateDistanceFromEdgeOfBoard` to include or not include the edge of the board #30

Closed hgducharme closed 1 year ago

hgducharme commented 1 year ago

In magicbitboards.cpp we do the following:

// Subtract the edge of the board since it isn't considered a blocking square
int numberOfMoves = utils::calculateDistanceFromEdgeOfBoard(square, direction) - 1;

but maybe we can do

int numberOfMoves = utils::calculateDistanceFromEdgeOfBoard(square, direction, includeEdge = false);
hgducharme commented 1 year ago

Did this instead:

       int distanceToEdge = utils::calculateDistanceToEdgeOfBoard(currentSquare, direction);

        for (int i = 1; i < distanceToEdge; i++) { ... }

That is, the for loop enforces how far we traverse