X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lib%2Fui.c;h=da79cb3f317f6f0776b81d58ac77df43a31f1ae6;hb=3de18b0799930ec82892a0ce65895716e1e8acbc;hp=be739aaa037d89ff66b96f7ec788425db1ece497;hpb=45ce2fe369cead248855111baa5fe0c0495acf69;p=Project_algorithmic_C.git diff --git a/lib/ui.c b/lib/ui.c index be739aa..da79cb3 100644 --- a/lib/ui.c +++ b/lib/ui.c @@ -3,7 +3,7 @@ * * Filename: ui.c * - * Description: Routines to handle the user interface + * Description: Routines to handle the user interface * * Version: 1.0 * Created: 24/04/2017 16:41:15 @@ -19,8 +19,8 @@ #include #include "ui.h" -#include "othello.h" #include "debug.h" +#include "list.h" /* in all print routine, y and x are the coordinates of the first character of the shape * which can be a space ' ' */ @@ -78,7 +78,7 @@ static void print_o(int y, int x, unsigned int type) { set_default_colors(); } -/* will be used for pawn placement hints */ +/* used for pawn placement hints */ static void print_x(int y, int x, unsigned int type) { if (type == hint_allowed) { @@ -97,7 +97,7 @@ static void print_x(int y, int x, unsigned int type) { /* y = 1: y -> 0 x = 1: 1 -> 1 * y > 1: y -> y + 3 x > 1: x -> x + 5 */ static int remap_y(int y) { - + if (y == 1) { return 2; } else if (y > 1 && y <= board_size) { @@ -129,8 +129,16 @@ void print_pawns(int base_y, int base_x, unsigned int pawn_array[board_size][boa } } +void print_shots_list(int base_y, int base_x, struct shots_list_s* shots_list) { + struct shots_list_s* list_counter; + + list_for_each_entry(list_counter, &shots_list->list, list) { + print_x(base_y + remap_y(list_counter->y), base_x + remap_x(list_counter->x), list_counter->type); + } +} + int map_col_letter_to_index(char c) { - + if (c == 'a' || c == 'A') { return 1; } else if (c == 'b' || c == 'B') { @@ -154,7 +162,7 @@ int map_col_letter_to_index(char c) { /* return capital letters */ char map_col_index_to_letter(int index) { - + if (index == 1) { return 'A'; } else if (index == 2) { @@ -178,6 +186,6 @@ char map_col_index_to_letter(int index) { 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 + strlen(msg)/2, "%d%c", y, x); - return (retVal == 1) ? 0 : 1; + int retval = mvwscanw(windows, base_y + 1, base_x + strlen(msg)/2, "%d%c", y, x); + return (retval == 1) ? 0 : 1; }