diff options
| author | Adam <adammegarules1@gmail.com> | 2026-07-31 19:18:40 +0200 |
|---|---|---|
| committer | Adam <adammegarules1@gmail.com> | 2026-07-31 19:18:40 +0200 |
| commit | 392ebaf9af5823933546dec98a1a478ec3965dbb (patch) | |
| tree | 95b303948cfb3bbc7a7c92660489dd0344c5d120 /src/board/fen.cpp | |
| parent | c437220aab7b908995a87cf958d9a67e54d478cb (diff) | |
making fen parser better
Diffstat (limited to 'src/board/fen.cpp')
| -rw-r--r-- | src/board/fen.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/board/fen.cpp b/src/board/fen.cpp index 91a2533..ca64e47 100644 --- a/src/board/fen.cpp +++ b/src/board/fen.cpp @@ -1,5 +1,6 @@ #include "fen.hpp" #include "board.hpp" +#include <cassert> #include <cctype> #include <cstdlib> #include <print> @@ -90,8 +91,9 @@ void setBoardFen(std::string fen, Game *g) { file += move; if (file > 8) { std::println("Fatal: file was to big"); + assert(false && "Malformed file"); exit(1); - return; // malformed rank + return; // malformed file } continue; } @@ -100,44 +102,39 @@ void setBoardFen(std::string fen, Game *g) { rank++; if (rank >= 8) { std::println("Fatal: rank was to big"); + assert(false && "Malformed rank"); exit(1); return; // malformed rank } continue; }; if (toupper(fen[i]) == 'N') { - Piece piece = createPiece(KNIGHT, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, KNIGHT, isupper(fen[i]), g); file++; continue; }; if (toupper(fen[i]) == 'R') { - Piece piece = createPiece(ROOK, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, ROOK, isupper(fen[i]), g); file++; continue; } if (toupper(fen[i]) == 'Q') { - Piece piece = createPiece(QUEEN, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, QUEEN, isupper(fen[i]), g); file++; continue; } if (toupper(fen[i]) == 'B') { - Piece piece = createPiece(BISHOP, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, BISHOP, isupper(fen[i]), g); file++; continue; } if (toupper(fen[i]) == 'P') { - Piece piece = createPiece(PAWN, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, PAWN, isupper(fen[i]), g); file++; continue; } if (toupper(fen[i]) == 'K') { - Piece piece = createPiece(KING, isupper(fen[i])); - g->pieces[rank * 8 + file] = piece; + SetPiece(rank * 8 + file, KING, isupper(fen[i]), g); file++; continue; } |
