#define BOARD_WIDTH 7 #define BOARD_ROW_BYTES ((BOARD_WIDTH * 2) + 1) #define BOARD_BYTES BOARD_ROW_BYTES * BOARD_ROW_BYTES char EMPTY = ' '; int neighbor_increments[] = { - BOARD_ROW_BYTES, 1, BOARD_ROW_BYTES, - 1 }; // Board void initialize_board(char* board); void print_board(char* board); void write_board(char* board, char* filename); void read_board(char* board, char* filename); // Moves int is_allowed_placement(char* tile, int index, char* board); int translate_coordinate(int index); int is_center_index(int index); int place_tile(char* tile, int index, char* board); // Structures void traverse_structure(char id, int index, char* board, char* structures); void create_structure_mask(char* board, char* structures); int evaluate_structure(int index, char* board, char* structures);