clean board display
authorLaurent Mazet <mazet@softndesign.org>
Fri, 28 Jun 2024 06:10:05 +0000 (08:10 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Fri, 28 Jun 2024 06:10:05 +0000 (08:10 +0200)
display.c
display.h
solitaire.c

index e8601cc2f3ac5c53df1af0e079ab13c5e35cb0a7..10cf02ef1c1bd53f42416c6af881c387a0399a9d 100644 (file)
--- a/display.c
+++ b/display.c
@@ -9,8 +9,6 @@
 
 #include "display.h"
 
-#define LIBWIDTH 11
-
 typedef enum {
     white = 1,
     red,
@@ -108,54 +106,40 @@ int helpwindow (char *msg, int xoffset, int yoffset)
     return j;
 }
 
-void librarywindow (char *msg, int xoffset, int yoffset)
-{
-    _dobound (LIBWIDTH, 2, xoffset, yoffset);
-    mvaddstr (yoffset, xoffset + (LIBWIDTH - 7) / 2, "Library");
-    set_color (black);
-
-    int i;
-    for (i = 0; i < LIBWIDTH; i++) {
-        mvaddch (yoffset + 1, xoffset + i, ' ');
-    }
-
-    char str[LIBWIDTH + 1] = {0};
-    strncpy (str, msg, LIBWIDTH);
-    mvaddstr (yoffset + 1, xoffset + (LIBWIDTH - (int)strlen (str)) / 2, str);
-    set_color (white);
-}
-
-void boardwindow (board_t *board, int xoffset, int yoffset, int bound)
+void boardwindow (board_t *board, int xoffset, int yoffset)
 {
     int i, j;
 
-    if (bound) {
-        _dobound (board->xsize, board->ysize, xoffset, yoffset);
-    }
+    set_color (black);
+    _dobound (board->xsize, board->ysize, xoffset, yoffset);
+    set_color (white);
 
     for (i = 0; i < board->xsize; i++) {
         for (j = 0; j < board->ysize; j++) {
+            int element = ' ';
             char cell = *getcell (board, i, j);
             switch (cell) {
-            case '1':
-                set_color (yellow);
-                break;
-            case 'N':
+            case 'H':
+                element = ACS_DIAMOND;
                 set_color (green);
                 break;
-            case 'O':
+            case 'P':
+                element = ACS_DIAMOND;
                 set_color (red);
                 break;
+            case 'O':
+                set_color (white);
+                break;
             case 'X':
-                set_color (black);
+                element = ACS_DIAMOND;
                 break;
             case ' ':
-                set_color (white);
+                set_color (black);
                 break;
             default:
                 VERBOSE (WARNING, printf ("unknown code '%c'\n", cell));
             }
-            mvaddch (yoffset + j, xoffset + i, ' ');
+            mvaddch (yoffset + j, xoffset + i, element);
             set_color (white);
         }
     }
index 3f4ce7d8bc0c347ea883912e25cbaa5291b33789..3b4611d51d6360a159ee51c6b86f6cf6c7ebe149 100644 (file)
--- a/display.h
+++ b/display.h
@@ -8,11 +8,7 @@
 
 int helpwindow (char *msg, int xoffset, int yoffset);
 
-void librarywindow (char *msg, int xoffset, int yoffset);
-
-void boardwindow (board_t *board, int xboard, int yboard, int bound);
-
-void elementwindow (board_t *board, int xoffset, int yoffset, board_t *element, int x, int y);
+void boardwindow (board_t *board, int xboard, int yboard);
 
 char *savewindow (int length, int xoffset, int yoffset);
 
index 6d8fe132a804c9b0186eeea1e127586c806746ba..7dde7ae7cf7c137f6aabf0f2ed39e6aa9bf6fd5c 100644 (file)
@@ -143,7 +143,7 @@ int main (int argc, char *argv[])
     while (!stop) {
         char *ptr = NULL;
 
-        boardwindow (board, xboard, yboard, 1);
+        boardwindow (board, xboard, yboard);
 
         int ch = getch ();
         switch (ch) {