Module Name:    src
Committed By:   rillig
Date:           Sun May 15 22:18:36 UTC 2022

Modified Files:
        src/games/gomoku: gomoku.h pickmove.c

Log Message:
gomoku: remove column macros

Of the 19 macros, only 3 were actually used.  Replace their uses with
expressions based on the board size.  It's a small step to making the
board size adjustable.  There are still other places using hard-coded
numbers.

No binary change.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/games/gomoku/gomoku.h
cvs rdiff -u -r1.25 -r1.26 src/games/gomoku/pickmove.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/gomoku.h
diff -u src/games/gomoku/gomoku.h:1.22 src/games/gomoku/gomoku.h:1.23
--- src/games/gomoku/gomoku.h:1.22	Sun May 15 22:00:11 2022
+++ src/games/gomoku/gomoku.h	Sun May 15 22:18:36 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: gomoku.h,v 1.22 2022/05/15 22:00:11 rillig Exp $	*/
+/*	$NetBSD: gomoku.h,v 1.23 2022/05/15 22:18:36 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994
@@ -75,26 +75,6 @@
 #define TIE	4
 #define SAVE	5
 
-#define A 1
-#define B 2
-#define C 3
-#define D 4
-#define E 5
-#define F 6
-#define G 7
-#define H 8
-#define J 9
-#define K 10
-#define L 11
-#define M 12
-#define N 13
-#define O 14
-#define P 15
-#define Q 16
-#define R 17
-#define S 18
-#define T 19
-
 #define PT(x, y)	((x) + BSZ1 * (y))
 
 /*

Index: src/games/gomoku/pickmove.c
diff -u src/games/gomoku/pickmove.c:1.25 src/games/gomoku/pickmove.c:1.26
--- src/games/gomoku/pickmove.c:1.25	Sun May 15 22:08:05 2022
+++ src/games/gomoku/pickmove.c	Sun May 15 22:18:36 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: pickmove.c,v 1.25 2022/05/15 22:08:05 rillig Exp $	*/
+/*	$NetBSD: pickmove.c,v 1.26 2022/05/15 22:18:36 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)pickmove.c	8.2 (Berkeley) 5/3/95";
 #else
-__RCSID("$NetBSD: pickmove.c,v 1.25 2022/05/15 22:08:05 rillig Exp $");
+__RCSID("$NetBSD: pickmove.c,v 1.26 2022/05/15 22:18:36 rillig Exp $");
 #endif
 #endif /* not lint */
 
@@ -88,10 +88,10 @@ pickmove(int us)
 
 	/* first move is easy */
 	if (movenum == 1)
-		return PT(K, 10);
+		return PT((BSZ + 1) / 2, (BSZ + 1) / 2);
 
 	/* initialize all the board values */
-	for (pos = PT(T, 20); pos-- > PT(A, 1); ) {
+	for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
 		sp = &board[pos];
 		sp->s_combo[BLACK].s = MAXCOMBO + 1;
 		sp->s_combo[WHITE].s = MAXCOMBO + 1;
@@ -110,9 +110,9 @@ pickmove(int us)
 	scanframes(WHITE);
 
 	/* find the spot with the highest value */
-	pos = PT(T, 19);
+	pos = PT(BSZ, BSZ);
 	sp1 = sp2 = &board[pos];
-	for ( ; pos-- > PT(A, 1); ) {
+	for ( ; pos-- > PT(1, 1); ) {
 		sp = &board[pos];
 		if (sp->s_occ != EMPTY)
 			continue;
@@ -352,7 +352,7 @@ scanframes(int color)
 	}
 
 	/* scan for combos at empty spots */
-	for (pos = PT(T, 20); pos-- > PT(A, 1); ) {
+	for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
 		sp = &board[pos];
 		for (ep = sp->s_empty; ep; ep = nep) {
 			cbp = ep->e_combo;
@@ -562,7 +562,7 @@ addframes(int level)
 
 	/* scan for combos at empty spots */
 	i = curcolor;
-	for (pos = PT(T, 20); pos-- > PT(A, 1); ) {
+	for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
 		sp = &board[pos];
 		for (ep = sp->s_empty; ep; ep = nep) {
 			cbp = ep->e_combo;

Reply via email to