X-Git-Url: http://winboard.nl/cgi-bin?p=capablanca.git;a=blobdiff_plain;f=lasker-2.2.3%2Fsrc%2Falgcheck.c;h=065a85962c46a1835e1d101229675d97615ef1ac;hp=c7b69060d68364164e1738b87aa5ebeea74fb036;hb=5ab36ba095695208aee106f370331650186dc23b;hpb=d047d3cf2718e831b4cb81aba3c4111c041fc22d diff --git a/lasker-2.2.3/src/algcheck.c b/lasker-2.2.3/src/algcheck.c index c7b6906..065a859 100644 --- a/lasker-2.2.3/src/algcheck.c +++ b/lasker-2.2.3/src/algcheck.c @@ -152,6 +152,8 @@ static int get_move_info(const char *str, int *piece, int *ff, int *fr, int *tf, lpiece = KNIGHT; else if (c == 'p') lpiece = PAWN; + else if (c == 'd') + lpiece = DRAGONKING; else goto nomatch; break; @@ -219,7 +221,7 @@ static void add_promotion(struct game_state_t *gs, const char *mstr, struct move if (s == NULL) { return; } - + if (piecetype(gs->board[mt->fromFile][mt->fromRank]) != PAWN) { return; } @@ -339,6 +341,7 @@ int alg_parse_move(char *mstr, struct game_state_t * gs, struct move_t * mt) break; case HORSE: if(strstr(gs->variant, "great")) piece = PRIESTESS; + if(strstr(gs->variant, "shogi")) piece = DRAGONHORSE; break; case GOLD: if(strstr(gs->variant, "great")) piece = MASTODON; @@ -566,10 +569,10 @@ char *alg_unparse(struct game_state_t * gs, struct move_t * mt) strcpy(mStr, "N"); break; case DRAGONKING: - strcpy(mStr, "J"); + strcpy(mStr, "D"); break; case DRAGONHORSE: - strcpy(mStr, "I"); + strcpy(mStr, "H"); break; case LANCE: strcpy(mStr, "L"); @@ -706,10 +709,10 @@ char *alg_unparse(struct game_state_t * gs, struct move_t * mt) strcat(mStr, "G"); break; case DRAGONHORSE: - strcat(mStr, "I"); + strcat(mStr, "H"); break; case DRAGONKING: - strcat(mStr, "J"); + strcat(mStr, "D"); break; default: break;