src/chess/rules.c

changeset 21
2e5846019b4f
parent 19
6a26114297a1
child 23
824c9522ce66
equal deleted inserted replaced
20:fd1eb081de40 21:2e5846019b4f
122 _Bool validate_move(Board board, Move *move) { 122 _Bool validate_move(Board board, Move *move) {
123 _Bool result; 123 _Bool result;
124 124
125 /* validate indices (don't trust opponent) */ 125 /* validate indices (don't trust opponent) */
126 if (!chkidx(move)) { 126 if (!chkidx(move)) {
127 return 0;
128 }
129
130 /* must move */
131 if (move->fromfile == move->tofile && move->fromrow == move->torow) {
127 return 0; 132 return 0;
128 } 133 }
129 134
130 /* does piece exist */ 135 /* does piece exist */
131 result = msrc(board, move) == move->piece; 136 result = msrc(board, move) == move->piece;

mercurial