X-Git-Url: https://git.piment-noir.org/?p=Project_algorithmic_C.git;a=blobdiff_plain;f=lib%2Fui.c;h=c75e3b01ca69f981a1544455fc6aaf51494968b3;hp=2673dc96348204ad9931d8f8efac8f9e5750333e;hb=54f1c58cef6764fdd611eedc267e7491e777c09b;hpb=74e2b93b658575fa792ada51c3bf1cdc3cfde247 diff --git a/lib/ui.c b/lib/ui.c index 2673dc9..c75e3b0 100644 --- a/lib/ui.c +++ b/lib/ui.c @@ -19,6 +19,8 @@ #include #include "ui.h" +#include "othello.h" +#include "debug.h" /* in all print routine, y and x are the coordinates of the first character of the shape * which can be a space ' ' */ @@ -94,27 +96,30 @@ static int remap_y(int y) { if (y == 1) { return 2; - } else if (y > 1 && y < board_size + 1) { + } else if (y > 1 && y <= board_size) { return (remap_y(y - 1) + 3); + } else { + return -1; } - return -1; } static int remap_x(int x) { if (x == 1) { return 3; - } else if (x > 1 && x < board_size + 1) { + } else if (x > 1 && x <= board_size) { return (remap_x(x - 1) + 5); + } else { + return -1; } - return -1; } void print_pawns(int base_y, int base_x, unsigned int pawn_array[board_size][board_size]) { - for (unsigned int i = 0; i < board_size; i++) { - for (unsigned int j = 0; j < board_size; j++) { - if (pawn_array[i][j] != empty) { - print_o(base_y + remap_y(i), base_x + remap_x(j), pawn_array[i][j]); + + 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)) { + print_o(base_y + remap_y(i), base_x + remap_x(j), get_box_value(i, j, pawn_array)); } } } @@ -138,12 +143,13 @@ int map_col_letter_to_int(char c) { return 7; } else if (c == 'h' || c == 'H') { return 8; + } else { + return -1; } - return -1; } int prompt_values(WINDOW* windows, int base_y, int base_x, const char* msg, int* y, char* x) { mvwprintw(windows, base_y, base_x, "%s\n", msg); - int retVal = mvwscanw(windows, base_y + 1, base_x, "%d%c", y, x); + int retVal = mvwscanw(windows, base_y + 1, base_x + strlen(msg)/2, "%d%c", y, x); return (retVal == 1) ? 0 : 1; }