all symbols defined
authorLaurent Mazet <mazet@softndesign.org>
Sun, 30 Jun 2024 21:35:49 +0000 (23:35 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Sun, 30 Jun 2024 21:35:49 +0000 (23:35 +0200)
display.c

index 8595908b1182e4ddc1933e6897c9bae294bac4f5..08d929884ad16ffea42446e80a817f4ab08e88cb 100644 (file)
--- a/display.c
+++ b/display.c
@@ -118,43 +118,70 @@ int helpwindow (char *msg, int xoffset, int yoffset)
     return j;
 }
 
-void _element0 (board_t *board, int x, int y, int symb)
+void _set_symb_color (char symb)
 {
-    int element = ' ';
     switch (symb) {
-    case 'F':
-    case 'H':
-    case 'X':
-        element = ACS_DIAMOND;
+    case ' ':
+        set_color (black);
         break;
-    }
-    set_color (black);
-    switch (symb) {
-    case 'C':
-        set_color (bgreen);
+    case '.':
+        set_color (white);
         break;
-    case 'F':
+    case '0':
+    case '6':
         set_color (wgreen);
         break;
-    case 'H':
+    case '1':
+    case '7':
+        set_color (wred);
+        break;
+    case '2':
+    case '8':
+        set_color (green);
+        break;
+    case '3':
+    case '9':
         set_color (red);
         break;
-    case 'P':
-        set_color (byellow);
+    case '4':
+    case ':':
+        set_color (bgreen);
         break;
-    case 'O':
-        set_color (white);
+    case '5':
+    case ';':
+        set_color (bred);
         break;
-    case 'X':
-        set_color (white);
+    case 'S':
+        set_color (byellow);
         break;
     case 'Z':
         set_color (bblue);
         break;
-    case ' ':
-        set_color (black);
+    }
+}
+
+void _element0 (board_t *board, int x, int y, int symb)
+{
+    int element = ' ';
+    switch (symb) {
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+        element = ACS_S1;
+        break;
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+    case ':':
+    case ';':
+        element = ACS_DIAMOND;
         break;
     }
+    _set_symb_color (symb);
     mvaddch (board->yoffset + y, board->xoffset + x, element);
     set_color (white);
 }
@@ -164,40 +191,26 @@ void _element1 (board_t *board, int x, int y, int symb)
     int element0 = ' ';
     int element1 = ' ';
     switch (symb) {
-    case 'F':
-    case 'H':
-    case 'X':
-        element0 = ACS_LARROW;
-        element1 = ACS_RARROW;
-        break;
-    }
-    set_color (black);
-    switch (symb) {
-    case 'C':
-        set_color (bgreen);
-        break;
-    case 'F':
-        set_color (wgreen);
-        break;
-    case 'H':
-        set_color (red);
-        break;
-    case 'P':
-        set_color (byellow);
-        break;
-    case 'O':
-        set_color (white);
-        break;
-    case 'X':
-        set_color (white);
-        break;
-    case 'Z':
-        set_color (bblue);
-        break;
-    case ' ':
-        set_color (black);
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+        element0 = '<';
+        element1 = '>';
+        break;
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+    case ':':
+    case ';':
+        element0 = ACS_LEQUAL;
+        element1 = ACS_GEQUAL;
         break;
     }
+    _set_symb_color (symb);
     mvaddch (board->yoffset + y, board->xoffset + 2 * x, element0);
     mvaddch (board->yoffset + y, board->xoffset + 2 * x + 1, element1);
     set_color (white);
@@ -221,40 +234,19 @@ void _element2 (board_t *board, int x, int y, int symb)
         element10 = ACS_LLCORNER;
         element11 = ACS_LRCORNER;
         break;
-    }
-    set_color (black);
-    switch (symb) {
-    case ' ':
-        set_color (black);
-        break;
-    case '.':
-        set_color (white);
-        break;
-    case '0':
-        set_color (wgreen);
-        break;
-    case '1':
-        set_color (wred);
-        break;
-    case '2':
-        set_color (green);
-        break;
-    case '3':
-        set_color (red);
-        break;
-    case '4':
-        set_color (bgreen);
-        break;
-    case '5':
-        set_color (bred);
-        break;
-    case 'S':
-        set_color (byellow);
-        break;
-    case 'Z':
-        set_color (bblue);
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+    case ':':
+    case ';':
+        element00 = '/';
+        element01 = '\\';
+        element10 = '\\';
+        element11 = '/';
         break;
     }
+    _set_symb_color (symb);
     mvaddch (board->yoffset + 2 * y, board->xoffset + 2 * x, element00);
     mvaddch (board->yoffset + 2 * y, board->xoffset + 2 * x + 1, element01);
     mvaddch (board->yoffset + 2 * y + 1, board->xoffset + 2 * x, element10);
@@ -271,9 +263,12 @@ void _element3 (board_t *board, int x, int y, int symb)
     int element02 = ' ';
     int element12 = ' ';
     switch (symb) {
-    case 'F':
-    case 'H':
-    case 'X':
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
         element00 = ACS_ULCORNER;
         element01 = ACS_HLINE;
         element02 = ACS_URCORNER;
@@ -281,34 +276,22 @@ void _element3 (board_t *board, int x, int y, int symb)
         element11 = ACS_HLINE;
         element12 = ACS_LRCORNER;
         break;
-    }
-    set_color (black);
-    switch (symb) {
-    case 'C':
-        set_color (bgreen);
-        break;
-    case 'F':
-        set_color (wgreen);
-        break;
-    case 'H':
-        set_color (red);
-        break;
-    case 'P':
-        set_color (byellow);
-        break;
-    case 'O':
-        set_color (white);
-        break;
-    case 'X':
-        set_color (white);
-        break;
-    case 'Z':
-        set_color (bblue);
-        break;
-    case ' ':
-        set_color (black);
+        element10 = '\\';
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+    case ':':
+    case ';':
+        element00 = '/';
+        element01 = ACS_HLINE;
+        element02 = '\\';
+        element10 = '\\';
+        element11 = ACS_HLINE;
+        element12 = '/';
         break;
     }
+    _set_symb_color (symb);
     mvaddch (board->yoffset + 2 * y, board->xoffset + 3 * x, element00);
     mvaddch (board->yoffset + 2 * y, board->xoffset + 3 * x + 1, element01);
     mvaddch (board->yoffset + 2 * y, board->xoffset + 3 * x + 2, element02);