diff --git a/alum1 b/alum1 index 6d5514a..2db180e 100755 Binary files a/alum1 and b/alum1 differ diff --git a/src/main.c b/src/main.c index 7e0def8..55b863b 100644 --- a/src/main.c +++ b/src/main.c @@ -36,8 +36,8 @@ int main(int argc, char *argv[]) { ft_putstr_fd("ERROR", 2); return (1); } - int test[] = {8, 5, 3, 2, 1}; - print_board(test, 5); + int test[] = {8, 5, 3, 2, 1, 11}; + print_board(test, 6); return (0); close(fd); } diff --git a/src/print_board.c b/src/print_board.c index deac53f..7398987 100644 --- a/src/print_board.c +++ b/src/print_board.c @@ -14,16 +14,29 @@ #include #include +static int get_biggest_line(int *game_state, size_t nb_line) { + size_t i; + int biggest = 0; + + i = 0; + while (i < nb_line) { + if (game_state[i] > biggest) + biggest = game_state[i]; + i++; + } + return (biggest); +} + void print_board(int *game_state, size_t nb_line) { - int size_of_first; + int biggest_line; size_t i; int j; i = -1; - size_of_first = game_state[0]; + biggest_line = get_biggest_line(game_state, nb_line); while (++i < nb_line) { j = -1; - while (++j < size_of_first - game_state[i]) + while (++j < biggest_line - game_state[i]) write(1, " ", 1); j = -1; while (++j < game_state[i]) { @@ -32,7 +45,7 @@ void print_board(int *game_state, size_t nb_line) { write(1, " ", 1); } j = -1; - while (++j < size_of_first - game_state[i]) + while (++j < biggest_line - game_state[i]) write(1, " ", 1); write(1, "\n", 1); }