mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
Junior promotion patch
Assumption: Junior sends promotions according to the side to move (ucase/lcase). Fact: Stockfish generally handles promotion lcase. Patch: Handling position fen input moves always with lcase promotions. Ported back by Portfish. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
caef319219
commit
1b2af05ea6
2 changed files with 6 additions and 2 deletions
|
@ -38,7 +38,7 @@ extern void dbg_mean_of(int v);
|
||||||
extern void dbg_print();
|
extern void dbg_print();
|
||||||
|
|
||||||
class Position;
|
class Position;
|
||||||
extern Move move_from_uci(const Position& pos, const std::string& str);
|
extern Move move_from_uci(const Position& pos, std::string str);
|
||||||
extern const std::string move_to_uci(Move m, bool chess960);
|
extern const std::string move_to_uci(Move m, bool chess960);
|
||||||
extern const std::string move_to_san(Position& pos, Move m);
|
extern const std::string move_to_san(Position& pos, Move m);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -56,7 +57,10 @@ const string move_to_uci(Move m, bool chess960) {
|
||||||
/// simple coordinate notation and returns an equivalent Move if any.
|
/// simple coordinate notation and returns an equivalent Move if any.
|
||||||
/// Moves are guaranteed to be legal.
|
/// Moves are guaranteed to be legal.
|
||||||
|
|
||||||
Move move_from_uci(const Position& pos, const string& str) {
|
Move move_from_uci(const Position& pos, string str) {
|
||||||
|
|
||||||
|
// Some GUIs, like Junior, could send promotion in uppercase
|
||||||
|
std::transform(str.begin(), str.end(), str.begin(), tolower);
|
||||||
|
|
||||||
for (MoveList<MV_LEGAL> ml(pos); !ml.end(); ++ml)
|
for (MoveList<MV_LEGAL> ml(pos); !ml.end(); ++ml)
|
||||||
if (str == move_to_uci(ml.move(), pos.is_chess960()))
|
if (str == move_to_uci(ml.move(), pos.is_chess960()))
|
||||||
|
|
Loading…
Add table
Reference in a new issue