Я не уверен, что вы сделали или на каком языке программирования, но, поскольку вы используете Eclipse IDE, я полагаю, что это Java.
Горячие советы по запуску Stockfish можно найти в этом видео:
https://www.youtube.com/watch?list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&v=vuvTFNreykk
Stackoverflow, связанный с видео: Использование универсального шахматного интерфейса
Итак, для решения вашего вопроса:
Итак, вопрос в том, как мне это сделать?
Ну, простое решение - искать уже реализованные проекты, создающие FEN-строки. Я знаю, что их много. Если вы хотите простой, , но неуклюжий способ создания FEN-строки в Java, я сделал вам следующее:
Примечание: эта реализация считает, что у вас вся доска в строке [] [] (я не затруднялся, делая ее более продвинутой в эти поздние часы)
Примечание 2: Он не создает всю строку FEN. В нем отсутствует активный цвет, доступность Castling, En passant, часы Halfmove и число Fullmove, но я уверен, что вы сможете реализовать это легко
Выход:
rnbqkbnr / pppppppp / 8/8/8/8 / PPPPPPPP / RNBQKBNR
private final String RANK_SEPARATOR = "/";
private String[][] board = {
{"r","n","b","q","k","b","n","r"},
{"p","p","p","p","p","p","p","p"},
{"","","","","","","",""},
{"","","","","","","",""},
{"","","","","","","",""},
{"","","","","","","",""},
{"P","P","P","P","P","P","P","P"},
{"R","N","B","Q","K","B","N","R"}
};
public String translateBoardToFEN(String[][] board) {
String fen = "";
for (int rank = 0; rank < board.length; rank++) {
// count empty fields
int empty = 0;
// empty string for each rank
String rankFen = "";
for (int file = 0; file < board[rank].length; file++) {
if(board[rank][file].length() == 0) {
empty++;
} else {
// add the number to the fen if not zero.
if (empty != 0) rankFen += empty;
// add the letter to the fen
rankFen += board[rank][file];
// reset the empty
empty = 0;
}
}
// add the number to the fen if not zero.
if (empty != 0) rankFen += empty;
// add the rank to the fen
fen += rankFen;
// add rank separator. If last then add a space
if (!(rank == board.length-1)) {
fen += RANK_SEPARATOR;
} else {
fen += " ";
}
}
return fen;
}