Module Name: src Committed By: rillig Date: Thu May 19 22:49:05 UTC 2022
Modified Files: src/games/gomoku: bdisp.c main.c Log Message: gomoku: use combined curses functions To save some screen space in the source code and some bytes in the generated binary. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/games/gomoku/bdisp.c cvs rdiff -u -r1.41 -r1.42 src/games/gomoku/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/games/gomoku/bdisp.c diff -u src/games/gomoku/bdisp.c:1.35 src/games/gomoku/bdisp.c:1.36 --- src/games/gomoku/bdisp.c:1.35 Thu May 19 22:24:54 2022 +++ src/games/gomoku/bdisp.c Thu May 19 22:49:05 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: bdisp.c,v 1.35 2022/05/19 22:24:54 rillig Exp $ */ +/* $NetBSD: bdisp.c,v 1.36 2022/05/19 22:49:05 rillig Exp $ */ /* * Copyright (c) 1994 @@ -34,7 +34,7 @@ #include <sys/cdefs.h> /* @(#)bdisp.c 8.2 (Berkeley) 5/3/95 */ -__RCSID("$NetBSD: bdisp.c,v 1.35 2022/05/19 22:24:54 rillig Exp $"); +__RCSID("$NetBSD: bdisp.c,v 1.36 2022/05/19 22:49:05 rillig Exp $"); #include <curses.h> #include <string.h> @@ -97,26 +97,20 @@ void bdisp_init(void) { - /* top border */ + /* top and bottom borders */ for (int i = 1; i < BSZ + 1; i++) { - move(scr_y(BSZ + 1), scr_x(i)); - addch(letters[i]); + mvaddch(scr_y(BSZ + 1), scr_x(i), letters[i]); + mvaddch(scr_y(0), scr_x(i), letters[i]); } + /* left and right edges */ for (int j = BSZ + 1; --j > 0; ) { - move(scr_y(j), 0); - printw("%2d ", j); - move(scr_y(j), scr_x(BSZ) + 2); - printw("%d ", j); - } - /* bottom border */ - for (int i = 1; i < BSZ + 1; i++) { - move(scr_y(0), scr_x(i)); - addch(letters[i]); + mvprintw(scr_y(j), 0, "%2d ", j); + mvprintw(scr_y(j), scr_x(BSZ) + 2, "%d ", j); } + bdwho(false); - move(0, TRANSCRIPT_COL + 1); - addstr("# black white"); + mvaddstr(0, TRANSCRIPT_COL + 1, "# black white"); lastline = 0; bdisp(); } @@ -133,12 +127,11 @@ bdwho(bool update) int fixed = (int)sizeof("BLACK/ (*) vs. WHITE/ (O)") - 1; int total = fixed + bw + ww; - move(BSZ + 2, 0); - hline(' ', available); + mvhline(BSZ + 2, 0, ' ', available); if (total <= available) { - move(BSZ + 2, (available - total) / 2); - printw("BLACK/%s (*) vs. WHITE/%s (O)", + mvprintw(BSZ + 2, (available - total) / 2, + "BLACK/%s (*) vs. WHITE/%s (O)", plyr[BLACK], plyr[WHITE]); } else { int remaining = available - fixed; @@ -151,8 +144,7 @@ bdwho(bool update) else bw = half, ww = remaining - half; - move(BSZ + 2, 0); - printw("BLACK/%.*s (*) vs. WHITE/%.*s (O)", + mvprintw(BSZ + 2, 0, "BLACK/%.*s (*) vs. WHITE/%.*s (O)", bw, plyr[BLACK], ww, plyr[WHITE]); } if (update) @@ -170,7 +162,6 @@ bdisp(void) for (int j = BSZ + 1; --j > 0; ) { for (int i = 1; i < BSZ + 1; i++) { - move(scr_y(j), scr_x(i)); sp = &board[i + j * (BSZ + 1)]; if (debug > 1 && sp->s_occ == EMPTY) { if ((sp->s_flags & IFLAGALL) != 0) @@ -181,6 +172,8 @@ bdisp(void) c = '.'; } else c = pcolor[sp->s_occ]; + + move(scr_y(j), scr_x(i)); if (movenum > 1 && movelog[movenum - 2] == PT(i, j)) { attron(A_BOLD); addch(c); @@ -242,8 +235,7 @@ dislog(const char *str) /* move 'em up */ lastline = 1; } - move(lastline, TRANSCRIPT_COL); - addnstr(str, SCRNW - TRANSCRIPT_COL - 1); + mvaddnstr(lastline, TRANSCRIPT_COL, str, SCRNW - TRANSCRIPT_COL - 1); clrtoeol(); move(lastline + 1, TRANSCRIPT_COL); clrtoeol(); @@ -258,8 +250,7 @@ ask(const char *str) { int len = (int)strlen(str); - move(BSZ + 4, 0); - addstr(str); + mvaddstr(BSZ + 4, 0, str); clrtoeol(); move(BSZ + 4, len); refresh(); Index: src/games/gomoku/main.c diff -u src/games/gomoku/main.c:1.41 src/games/gomoku/main.c:1.42 --- src/games/gomoku/main.c:1.41 Thu May 19 22:19:18 2022 +++ src/games/gomoku/main.c Thu May 19 22:49:05 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.41 2022/05/19 22:19:18 rillig Exp $ */ +/* $NetBSD: main.c,v 1.42 2022/05/19 22:49:05 rillig Exp $ */ /* * Copyright (c) 1994 @@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1994\ The Regents of the University of California. All rights reserved."); /* @(#)main.c 8.4 (Berkeley) 5/4/95 */ -__RCSID("$NetBSD: main.c,v 1.41 2022/05/19 22:19:18 rillig Exp $"); +__RCSID("$NetBSD: main.c,v 1.42 2022/05/19 22:49:05 rillig Exp $"); #include <curses.h> #include <err.h> @@ -157,8 +157,7 @@ again: #endif if (inputfp == NULL && test == 0) { - move(BSZ + 3, 0); - printw("Black moves first. "); + mvprintw(BSZ + 3, 0, "Black moves first. "); ask("(B)lack or (W)hite? "); for (;;) { ch = get_key(NULL);