]> git.lizzy.rs Git - ttfe.git/commitdiff
Center numbers
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 7 Jun 2021 14:06:45 +0000 (16:06 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 7 Jun 2021 14:06:45 +0000 (16:06 +0200)
main.c
main.h

diff --git a/main.c b/main.c
index d209b14fa2035baad498c4e14f200fb0d9d6d064..f2b4642cbcdfbc2eb0bba4fbc37d8584c124eea5 100644 (file)
--- a/main.c
+++ b/main.c
@@ -399,6 +399,22 @@ void merge_west(board *b) {
        }
 }
 
+void center_print(uint n, int width)
+{
+    char s[20] = {'\0'};
+    int len;
+    sprintf(s, "%u", n);
+    len = strlen(s);
+    if (len >= width)  {
+        printf("%s", s);
+    } else {
+        int remaining = width - len;
+        int spaces_right = remaining / 2;
+        int spaces_left = remaining - spaces_right;
+        printf("%*s%s%*s", spaces_left, "", s, spaces_right, "");
+    }
+}
+
 void print_sep(const char *left, const char *right, const char *cross, const char *line)
 {
        printf("%s", left);
@@ -422,7 +438,7 @@ void print_board_line(board *b, int l) {
                if(n == 0)
                        printf("      ");
                else
-                       printf("%6u", n);
+                       center_print(n, 6);
 
                if(i == 3)
                        printf("\u2503");
diff --git a/main.h b/main.h
index 90689900755caea6f0b3fc2a23027e4d6b527295..24020d60bfdc9a4546e33f0003f5a9f396240e3b 100644 (file)
--- a/main.h
+++ b/main.h
@@ -8,6 +8,7 @@
 #include <time.h>
 #include <unistd.h>
 #include <termios.h>
+#include <string.h>
 
 typedef struct board board;
 typedef unsigned int uint;