src/rules/pawn.c

changeset 16
a298c6637c30
parent 15
7ffd66591afe
child 18
6008840b859e
     1.1 --- a/src/rules/pawn.c	Fri Mar 28 11:45:01 2014 +0100
     1.2 +++ b/src/rules/pawn.c	Fri Mar 28 14:32:52 2014 +0100
     1.3 @@ -28,6 +28,7 @@
     1.4   */
     1.5  
     1.6  #include "pawn.h"
     1.7 +#include "rules.h"
     1.8  
     1.9  _Bool pawn_chkrules(Board board, Move *move) {
    1.10      int8_t d = ((move->piece & COLOR_MASK) == WHITE ? -1 : 1);
    1.11 @@ -56,7 +57,7 @@
    1.12      return mdst(board,move) && !move->capture;
    1.13  }
    1.14  
    1.15 -_Bool pawn_getlocation(Board board, Move *move) {
    1.16 +int pawn_getlocation(Board board, Move *move) {
    1.17      int8_t d = ((move->piece & COLOR_MASK) == WHITE ? -1 : 1);
    1.18      
    1.19      if (move->fromfile == POS_UNSPECIFIED) {
    1.20 @@ -64,7 +65,7 @@
    1.21      }
    1.22      move->fromrow = move->torow + d;
    1.23      if (move->fromrow > 6) {
    1.24 -        return FALSE;
    1.25 +        return INVALID_POSITION;
    1.26      } else {
    1.27          /* advanced first move */
    1.28          if (move->fromrow == (d < 0 ? 2 : 5) &&
    1.29 @@ -72,9 +73,9 @@
    1.30  
    1.31              move->fromrow += d;
    1.32              if (move->fromrow > 6) {
    1.33 -                return FALSE;
    1.34 +                return INVALID_POSITION;
    1.35              }
    1.36          }
    1.37      }
    1.38 -    return TRUE;
    1.39 +    return VALID_MOVE_SYNTAX;
    1.40  }

mercurial