#include "constants.h"
#include "list.h"
-struct shots_list {
+/* TODO: must be used to replace the explicit pawns 2D array */
+struct pawns_s {
+ unsigned int pawns[board_size][board_size];
+};
+
+/* linked list of played shots */
+struct shots_history_list_s {
+ struct list_head list;
+ unsigned int*** pawn_array_member; /* pointer to a cell of the pawns 2D array */
+ /* struct* pawns_s pawn */
+};
+
+/* linked list of can play shots */
+struct shots_exploration_s {
struct list_head list;
- unsigned int*** pawn_array_member;
+ int y;
+ int x;
+ unsigned int type;
};
unsigned int current_player(unsigned int round_count);
+unsigned int eval_winner(unsigned int nb_white, unsigned int nb_black);
int** init_pawns(unsigned int pawn_array[board_size][board_size]);
+unsigned int get_box_value(int y, int x, unsigned int pawn_array[board_size][board_size]);
+int** set_pawn(int y, int x, unsigned int type, unsigned int pawn_array[board_size][board_size]);
bool is_valid_input(int y, int x, unsigned int pawn_array[board_size][board_size]);
bool is_box_type(int y, int x, unsigned int pawn_array[board_size][board_size], unsigned int type);
bool is_board_full(unsigned int pawn_array[board_size][board_size]);
-unsigned int get_box_value(int y, int x, unsigned int pawn_array[board_size][board_size]);
-int** set_pawn(int y, int x, unsigned int type, unsigned int pawn_array[board_size][board_size]);
unsigned int count_pawn_type(unsigned int pawn_array[board_size][board_size], unsigned int type);