From cf31f0866ef4f33890a56a48631a2440e801ba6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Sat, 28 Mar 2015 17:40:19 -0300 Subject: print coordinates --- lib/print.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/lib/print.c b/lib/print.c index 39b6d8e..8bf63fb 100644 --- a/lib/print.c +++ b/lib/print.c @@ -9,6 +9,7 @@ static void _print_row_separator() { int j; + printf(" "); for (j = 0; j < SIZE; j++) printf("+---"); @@ -22,6 +23,30 @@ static Coord _next_coord(Coord c, Color side) { return coord_prev(c); } +static int _first_column(char col, Color side) { + if (side == WHITE && col == 'a') + return 1; + + if (side == BLACK && col == 'h') + return 1; + + return 0; +} + +static void _print_columns(Color side) { + char c; + + putchar(' '); + if (side == WHITE) + for (c = 'a'; c <= 'h'; c++) + printf(" %c", c); + else + for (c = 'h'; c >= 'a'; c--) + printf(" %c", c); + + putchar('\n'); +} + /* Printing related functions */ void print_piece(Piece p) { putchar(piece_character(p)); @@ -47,6 +72,10 @@ void print_board(Board b, Color side) { _print_row_separator(); while (!coord_is_null(c)) { + // Print row if it's the first column + if (_first_column(coord_get_col(c), side)) + printf("%c ", current_row); + // Print the square printf("| "); print_square(board_get_square(b, c)); @@ -63,4 +92,6 @@ void print_board(Board b, Color side) { current_row = coord_get_row(c); } } + + _print_columns(side); } -- cgit v1.2.3