aboutsummaryrefslogtreecommitdiff
path: root/src/board/fen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/board/fen.cpp')
-rw-r--r--src/board/fen.cpp23
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;
}