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);

Reply via email to