From 96a988c149291396c4c4c7a7a74c038fdc8b70e0 Mon Sep 17 00:00:00 2001 From: Mazet Laurent Date: Thu, 6 Jun 2024 07:41:12 +0200 Subject: [PATCH] highlight letter value --- display.c | 4 ++-- display.h | 2 +- scrabble.c | 9 ++++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/display.c b/display.c index dee09c8..df37cc4 100644 --- a/display.c +++ b/display.c @@ -153,7 +153,7 @@ void helpwindow (char *msg, char *msg2, int xoffset, int yoffset, int length) j += _helpwindow (msg2, xoffset, yoffset + j, length); } -void valuewindow (bag_t *bag, int xoffset, int yoffset, int length) +void valuewindow (bag_t *bag, int xoffset, int yoffset, int length, char current) { char *title = "Tile values"; int i; @@ -168,7 +168,7 @@ void valuewindow (bag_t *bag, int xoffset, int yoffset, int length) for (i = 0; i < bag->nbletters; i++) { int x = xoffset + (i % 2) + 5 * (i / N); int y = yoffset + 2 + (i % N); - set_color (black); + set_color (((bag->lettervalues + i)->letter == current) ? yellow : black); mvaddch (y, x, (bag->lettervalues + i)->letter); set_color (white); char msg[3]; diff --git a/display.h b/display.h index 01be18b..85d754b 100644 --- a/display.h +++ b/display.h @@ -11,7 +11,7 @@ void showboard (play_t *play, board_t *board, int xoffset, int yoffset, int full void helpwindow (char *msg, char *msg2, int xoffset, int yoffset, int length); -void valuewindow (bag_t *bag, int xoffset, int yoffset, int length); +void valuewindow (bag_t *bag, int xoffset, int yoffset, int length, char current); void drawwindow (draw_t *game, int xoffset, int yoffset); diff --git a/scrabble.c b/scrabble.c index 73908b5..3c64e54 100644 --- a/scrabble.c +++ b/scrabble.c @@ -147,7 +147,6 @@ int main (int argc, char *argv[]) int xdrawwin = xoffset; int ydrawwin = 2 * yoffset + max (board->ysize, 1 + (bag->nbletters + 1) /2); - valuewindow (bag, xvaluewin, yvaluewin, 10); helpwindow (help, getextrahelp (language), xhelpwin, yhelpwin, 30); int mode = 0; @@ -160,12 +159,12 @@ int main (int argc, char *argv[]) drawwindow (game, xdrawwin, ydrawwin); int stop = 0; while (!stop) { - current = gessletter (play, x, y); + char highlight = current = gessletter (play, x, y); if (current == ' ') { - showletter (letter, x + xoffset, y + yoffset, 1); - } else { - showletter (current, x + xoffset, y + yoffset, 0); + highlight = letter; } + showletter (highlight, x + xoffset, y + yoffset, 1); + valuewindow (bag, xvaluewin, yvaluewin, 10, highlight); switch (getch ()) { case '\t': -- 2.30.2