}
/* for consitency with ncurses, the board coordinates are in the following order:
- * O-x-->
+ * O--x-->
* |
* y
* |
}
}
-/* helper function to set a value != empty at the (y, x) in the pawns array */
+/* helper function to set a value != empty at the (y, x) coordinates in the pawns array */
int** set_pawn(int y, int x, unsigned int type, unsigned int pawn_array[board_size][board_size]) {
if (is_box_type(y, x, pawn_array, empty)) {
pawn_array[y-1][x-1] = type;
- return pawn_array;
+ return (int**)pawn_array;
} else {
return NULL;
}
pawn_array = set_pawn(i, j, empty, pawn_array);
}
}
- return pawn_array;
+ return (int**)pawn_array;
}
/* set the pawns in the start position */
pawn_array = set_pawn(4, 5, black, pawn_array);
pawn_array = set_pawn(4, 4, white, pawn_array);
pawn_array = set_pawn(5, 5, white, pawn_array);
- return pawn_array;
+ return (int**)pawn_array;
}
unsigned int count_pawn_type(unsigned int pawn_array[board_size][board_size], unsigned int type) {
}
for (unsigned int i = 1; i <= board_size; i++) {
for (unsigned int j = 1; j <= board_size; j++) {
- if (get_box_value(i, j, pawn_array) == type) {
+ if (is_box_type(i, j, pawn_array, type)) {
count++;
}
}
bool is_board_full(unsigned int pawn_array[board_size][board_size]) {
+ /* an alternate method is to test the round count vs. 60 */
for (unsigned int i = 1; i <= board_size; i++) {
for (unsigned int j = 1; j <= board_size; j++) {
if (is_box_type(i, j, pawn_array , empty)) {
}
}
-void status_pawn(int y, int x, unsigned int pawn_array[board_size][board_size]) {
-
-}
-
-bool is_legal_box(int y, int x, int player, unsigned int pawn_array[board_size][board_size]) {
-
+void direction_to_coordinates(unsigned int direction, int* start_y, int* start_x) {
+
+ if (direction == north) {
+ *start_y = *start_y - 1;
+ } else if (direction == north_east) {
+ *start_y = *start_y - 1;
+ *start_x = *start_x + 1;
+ } else if (direction == east) {
+ *start_x = *start_x + 1;
+ } else if (direction == south_east) {
+ *start_y = *start_y + 1;
+ *start_x = *start_x + 1;
+ } else if (direction == south) {
+ *start_y = *start_y + 1;
+ } else if (direction == south_west) {
+ *start_y = *start_y + 1;
+ *start_x = *start_x - 1;
+ } else if (direction == west) {
+ *start_x = *start_x - 1;
+ } else if (direction == north_west) {
+ *start_y = *start_y - 1;
+ *start_x = *start_x - 1;
+ }
}
-bool reverse_box(unsigned int pawn_array[board_size][board_size]) {
+bool explore(int y, int x, int direction) {
}