return TRUE;
}
+dvonn_bool_t
+dvonn_board_cell_owned_by (dvonn_board_t *board,
+ int x, int y,
+ dvonn_player_t player)
+{
+ if (! dvonn_board_cell_occupied (board, x, y))
+ return FALSE;
+
+ /* Cast here to avoid compiler warning about mixing enum types in
+ * a comparison. */
+ return board->cells[x][y].type == (dvonn_cell_type_t) player;
+}
+
dvonn_bool_t
dvonn_board_cell_surrounded (dvonn_board_t *board,
int x, int y)
return FALSE;
}
- if (board->cells[x1][y1].type != board->player) {
+ if (! dvonn_board_cell_owned_by (board, x1, y1, board->player)) {
*error = "You cannot move your opponent's stack";
return FALSE;
}