Module Name: src
Committed By: rillig
Date: Wed May 18 22:30:19 UTC 2022
Modified Files:
src/games/gomoku: bdinit.c bdisp.c makemove.c pickmove.c stoc.c
Log Message:
gomoku: reduce scope of 'for' loop variables
No binary change.
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/games/gomoku/bdinit.c
cvs rdiff -u -r1.27 -r1.28 src/games/gomoku/bdisp.c
cvs rdiff -u -r1.16 -r1.17 src/games/gomoku/makemove.c \
src/games/gomoku/stoc.c
cvs rdiff -u -r1.33 -r1.34 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/bdinit.c
diff -u src/games/gomoku/bdinit.c:1.14 src/games/gomoku/bdinit.c:1.15
--- src/games/gomoku/bdinit.c:1.14 Wed May 18 21:45:40 2022
+++ src/games/gomoku/bdinit.c Wed May 18 22:30:19 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: bdinit.c,v 1.14 2022/05/18 21:45:40 rillig Exp $ */
+/* $NetBSD: bdinit.c,v 1.15 2022/05/18 22:30:19 rillig Exp $ */
/*
* Copyright (c) 1994
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "from: @(#)bdinit.c 8.2 (Berkeley) 5/3/95";
#else
-__RCSID("$NetBSD: bdinit.c,v 1.14 2022/05/18 21:45:40 rillig Exp $");
+__RCSID("$NetBSD: bdinit.c,v 1.15 2022/05/18 22:30:19 rillig Exp $");
#endif
#endif /* not lint */
@@ -49,7 +49,6 @@ static void init_overlap(void);
void
bdinit(struct spotstr *bp)
{
- int i, j, r;
struct spotstr *sp;
struct combostr *cbp;
@@ -57,7 +56,7 @@ bdinit(struct spotstr *bp)
/* mark the borders as such */
sp = bp;
- for (i = 1 + BSZ + 1; --i >= 0; sp++) {
+ for (int i = 1 + BSZ + 1; --i >= 0; sp++) {
sp->s_occ = BORDER; /* top border */
sp->s_flags = BFLAGALL;
}
@@ -65,8 +64,8 @@ bdinit(struct spotstr *bp)
/* fill entire board with EMPTY spots */
memset(frames, 0, sizeof(frames));
cbp = frames;
- for (j = 0; ++j < BSZ + 1; sp++) { /* for each row */
- for (i = 0; ++i < BSZ + 1; sp++) { /* for each column */
+ for (int j = 0; ++j < BSZ + 1; sp++) { /* for each row */
+ for (int i = 0; ++i < BSZ + 1; sp++) { /* for each column */
sp->s_occ = EMPTY;
sp->s_flags = 0;
sp->s_wval = 0;
@@ -129,7 +128,7 @@ bdinit(struct spotstr *bp)
/*
* Allocate a frame structure for non blocked frames.
*/
- for (r = 4; --r >= 0; ) {
+ for (int r = 4; --r >= 0; ) {
if ((sp->s_flags & (BFLAG << r)) != 0)
continue;
cbp->c_combo.s = sp->s_fval[BLACK][r].s;
@@ -145,7 +144,7 @@ bdinit(struct spotstr *bp)
}
/* mark the borders as such */
- for (i = BSZ + 1; --i >= 0; sp++) {
+ for (int i = BSZ + 1; --i >= 0; sp++) {
sp->s_occ = BORDER; /* bottom border */
sp->s_flags = BFLAGALL;
}
@@ -177,8 +176,7 @@ init_overlap(void)
{
struct spotstr *sp1, *sp2;
struct combostr *cbp;
- unsigned frameix;
- int i, f, r, n, d1, d2;
+ int n, d1, d2;
int mask, bmask, vertex, s;
u_char *op;
short *ip;
@@ -187,28 +185,28 @@ init_overlap(void)
memset(intersect, 0, sizeof(intersect));
op = &overlap[FAREA * FAREA];
ip = &intersect[FAREA * FAREA];
- for (frameix = FAREA; frameix-- > 0; ) { /* each frame */
- cbp = &frames[frameix];
+ for (unsigned fi = FAREA; fi-- > 0; ) { /* each frame */
+ cbp = &frames[fi];
op -= FAREA;
ip -= FAREA;
sp1 = &board[vertex = cbp->c_vertex];
- d1 = dd[r = cbp->c_dir];
+ d1 = dd[cbp->c_dir];
/*
* s = 5 if closed, 6 if open.
* At this point black & white are the same.
*/
- s = 5 + sp1->s_fval[BLACK][r].c.b;
+ s = 5 + sp1->s_fval[BLACK][cbp->c_dir].c.b;
/* for each spot in frame A */
- for (i = 0; i < s; i++, sp1 += d1, vertex += d1) {
+ for (int i = 0; i < s; i++, sp1 += d1, vertex += d1) {
/* the sixth spot in frame A only overlaps if it is open */
mask = (i == 5) ? 0xC : 0xF;
/* for each direction */
- for (r = 4; --r >= 0; ) {
+ for (int r = 4; --r >= 0; ) {
bmask = BFLAG << r;
sp2 = sp1;
d2 = dd[r];
/* for each frame that intersects at spot sp1 */
- for (f = 0; f < 6; f++, sp2 -= d2) {
+ for (int f = 0; f < 6; f++, sp2 -= d2) {
if (sp2->s_occ == BORDER)
break;
if ((sp2->s_flags & bmask) != 0)
Index: src/games/gomoku/bdisp.c
diff -u src/games/gomoku/bdisp.c:1.27 src/games/gomoku/bdisp.c:1.28
--- src/games/gomoku/bdisp.c:1.27 Mon May 16 22:03:16 2022
+++ src/games/gomoku/bdisp.c Wed May 18 22:30:19 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: bdisp.c,v 1.27 2022/05/16 22:03:16 rillig Exp $ */
+/* $NetBSD: bdisp.c,v 1.28 2022/05/18 22:30:19 rillig Exp $ */
/*
* Copyright (c) 1994
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)bdisp.c 8.2 (Berkeley) 5/3/95";
#else
-__RCSID("$NetBSD: bdisp.c,v 1.27 2022/05/16 22:03:16 rillig Exp $");
+__RCSID("$NetBSD: bdisp.c,v 1.28 2022/05/18 22:30:19 rillig Exp $");
#endif
#endif /* not lint */
@@ -98,22 +98,21 @@ cursfini(void)
void
bdisp_init(void)
{
- int i, j;
/* top border */
- for (i = 1; i < BSZ + 1; i++) {
+ for (int i = 1; i < BSZ + 1; i++) {
move(0, 2 * i + 1);
addch(letters[i]);
}
/* left and right edges */
- for (j = BSZ + 1; --j > 0; ) {
+ for (int j = BSZ + 1; --j > 0; ) {
move(20 - j, 0);
printw("%2d ", j);
move(20 - j, 2 * (BSZ + 1) + 1);
printw("%d ", j);
}
/* bottom border */
- for (i = 1; i < BSZ + 1; i++) {
+ for (int i = 1; i < BSZ + 1; i++) {
move(20, 2 * i + 1);
addch(letters[i]);
}
@@ -162,11 +161,11 @@ bdwho(bool update)
void
bdisp(void)
{
- int i, j, c;
+ int c;
struct spotstr *sp;
- for (j = BSZ + 1; --j > 0; ) {
- for (i = 1; i < BSZ + 1; i++) {
+ for (int j = BSZ + 1; --j > 0; ) {
+ for (int i = 1; i < BSZ + 1; i++) {
move(BSZ + 1 - j, 2 * i + 1);
sp = &board[i + j * (BSZ + 1)];
if (debug > 1 && sp->s_occ == EMPTY) {
@@ -196,16 +195,16 @@ bdisp(void)
void
bdump(FILE *fp)
{
- int i, j, c;
+ int c;
struct spotstr *sp;
/* top border */
fprintf(fp, " A B C D E F G H J K L M N O P Q R S T\n");
- for (j = BSZ + 1; --j > 0; ) {
+ for (int j = BSZ + 1; --j > 0; ) {
/* left edge */
fprintf(fp, "%2d ", j);
- for (i = 1; i < BSZ + 1; i++) {
+ for (int i = 1; i < BSZ + 1; i++) {
sp = &board[i + j * (BSZ + 1)];
if (debug > 1 && sp->s_occ == EMPTY) {
if ((sp->s_flags & IFLAGALL) != 0)
Index: src/games/gomoku/makemove.c
diff -u src/games/gomoku/makemove.c:1.16 src/games/gomoku/makemove.c:1.17
--- src/games/gomoku/makemove.c:1.16 Mon May 16 21:48:45 2022
+++ src/games/gomoku/makemove.c Wed May 18 22:30:19 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: makemove.c,v 1.16 2022/05/16 21:48:45 rillig Exp $ */
+/* $NetBSD: makemove.c,v 1.17 2022/05/18 22:30:19 rillig Exp $ */
/*
* Copyright (c) 1994
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)makemove.c 8.2 (Berkeley) 5/3/95";
#else
-__RCSID("$NetBSD: makemove.c,v 1.16 2022/05/16 21:48:45 rillig Exp $");
+__RCSID("$NetBSD: makemove.c,v 1.17 2022/05/18 22:30:19 rillig Exp $");
#endif
#endif /* not lint */
@@ -68,7 +68,7 @@ makemove(int us, int mv)
struct spotstr *osp;
struct combostr *cbp, *cbp1;
union comboval *cp1;
- int i, f, r, d, n;
+ int d, n;
int val, bmask;
bool space;
@@ -90,11 +90,11 @@ makemove(int us, int mv)
/* compute new frame values */
sp->s_wval = 0;
osp = sp;
- for (r = 4; --r >= 0; ) { /* for each direction */
+ for (int r = 4; --r >= 0; ) { /* for each direction */
d = dd[r];
fsp = osp;
bmask = BFLAG << r;
- for (f = 5; --f >= 0; fsp -= d) { /* for each frame */
+ for (int f = 5; --f >= 0; fsp -= d) { /* for each frame */
if (fsp->s_occ == BORDER)
goto nextr;
if ((fsp->s_flags & bmask) != 0)
@@ -125,7 +125,7 @@ makemove(int us, int mv)
sp = fsp;
space = sp->s_occ == EMPTY;
n = 0;
- for (i = 5; --i >= 0; sp += d) { /* for each spot */
+ for (int i = 5; --i >= 0; sp += d) { /* for each spot */
if (sp->s_occ == us)
n++;
else if (sp->s_occ == EMPTY)
@@ -161,7 +161,7 @@ makemove(int us, int mv)
}
val = weight[n];
sp = fsp;
- for (i = 5; --i >= 0; sp += d) /* for each spot */
+ for (int i = 5; --i >= 0; sp += d) /* for each spot */
if (sp->s_occ == EMPTY)
sp->s_wval += val;
@@ -222,17 +222,17 @@ static void
update_overlap(struct spotstr *osp)
{
struct spotstr *sp, *sp1, *sp2;
- int i, f, r, r1, d, d1, n;
+ int d, d1, n;
int a, b, bmask, bmask1;
struct spotstr *esp;
u_char *str;
esp = NULL;
- for (r = 4; --r >= 0; ) { /* for each direction */
+ for (int r = 4; --r >= 0; ) { /* for each direction */
d = dd[r];
sp1 = osp;
bmask = BFLAG << r;
- for (f = 0; f < 6; f++, sp1 -= d) { /* for each frame */
+ for (int f = 0; f < 6; f++, sp1 -= d) { /* for each frame */
if (sp1->s_occ == BORDER)
break;
if ((sp1->s_flags & bmask) != 0)
@@ -246,7 +246,7 @@ update_overlap(struct spotstr *osp)
*/
str = &overlap[(a = (int)(sp1->s_frame[r] - frames)) * FAREA];
sp2 = sp1 - d;
- for (i = f + 1; i < 6; i++, sp2 -= d) {
+ for (int i = f + 1; i < 6; i++, sp2 -= d) {
if (sp2->s_occ == BORDER)
break;
if ((sp2->s_flags & bmask) != 0)
@@ -289,11 +289,11 @@ update_overlap(struct spotstr *osp)
}
/* the other directions can only intersect at spot osp */
- for (r1 = r; --r1 >= 0; ) {
+ for (int r1 = r; --r1 >= 0; ) {
d1 = dd[r1];
bmask1 = BFLAG << r1;
sp = osp;
- for (i = 6; --i >= 0; sp -= d1) { /* for each spot */
+ for (int i = 6; --i >= 0; sp -= d1) { /* for each spot */
if (sp->s_occ == BORDER)
break;
if ((sp->s_flags & bmask1) != 0)
Index: src/games/gomoku/stoc.c
diff -u src/games/gomoku/stoc.c:1.16 src/games/gomoku/stoc.c:1.17
--- src/games/gomoku/stoc.c:1.16 Sun May 15 22:56:20 2022
+++ src/games/gomoku/stoc.c Wed May 18 22:30:19 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: stoc.c,v 1.16 2022/05/15 22:56:20 rillig Exp $ */
+/* $NetBSD: stoc.c,v 1.17 2022/05/18 22:30:19 rillig Exp $ */
/*
* Copyright (c) 1994
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)stoc.c 8.1 (Berkeley) 7/24/94";
#else
-__RCSID("$NetBSD: stoc.c,v 1.16 2022/05/15 22:56:20 rillig Exp $");
+__RCSID("$NetBSD: stoc.c,v 1.17 2022/05/18 22:30:19 rillig Exp $");
#endif
#endif /* not lint */
@@ -69,9 +69,8 @@ const char *
stoc(int s)
{
static char buf[32];
- int i;
- for (i = 0; mv[i].m_code >= 0; i++)
+ for (int i = 0; mv[i].m_code >= 0; i++)
if (s == mv[i].m_code)
return mv[i].m_text;
snprintf(buf, sizeof(buf), "%c%d",
@@ -85,14 +84,13 @@ stoc(int s)
int
ctos(const char *mp)
{
- int i;
- for (i = 0; mv[i].m_code >= 0; i++)
+ for (int i = 0; mv[i].m_code >= 0; i++)
if (strcmp(mp, mv[i].m_text) == 0)
return mv[i].m_code;
if (!isalpha((unsigned char)mp[0]))
return ILLEGAL;
- i = atoi(&mp[1]);
+ int i = atoi(&mp[1]);
if (i < 1 || i > 19)
return ILLEGAL;
return PT(lton((unsigned char)mp[0]), i);
Index: src/games/gomoku/pickmove.c
diff -u src/games/gomoku/pickmove.c:1.33 src/games/gomoku/pickmove.c:1.34
--- src/games/gomoku/pickmove.c:1.33 Mon May 16 21:48:45 2022
+++ src/games/gomoku/pickmove.c Wed May 18 22:30:19 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: pickmove.c,v 1.33 2022/05/16 21:48:45 rillig Exp $ */
+/* $NetBSD: pickmove.c,v 1.34 2022/05/18 22:30:19 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.33 2022/05/16 21:48:45 rillig Exp $");
+__RCSID("$NetBSD: pickmove.c,v 1.34 2022/05/18 22:30:19 rillig Exp $");
#endif
#endif /* not lint */
@@ -94,7 +94,6 @@ pickmove(int us)
{
struct spotstr *sp, *sp1, *sp2;
union comboval *Ocp, *Tcp;
- unsigned pos;
int m;
/* first move is easy */
@@ -102,7 +101,7 @@ pickmove(int us)
return PT((BSZ + 1) / 2, (BSZ + 1) / 2);
/* initialize all the board values */
- for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
+ for (unsigned 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;
@@ -121,7 +120,7 @@ pickmove(int us)
scanframes(WHITE);
/* find the spot with the highest value */
- pos = PT(BSZ, BSZ);
+ unsigned pos = PT(BSZ, BSZ);
sp1 = sp2 = &board[pos];
for ( ; pos-- > PT(1, 1); ) {
sp = &board[pos];
@@ -237,10 +236,9 @@ scanframes(int color)
struct combostr *cbp, *ecbp;
struct spotstr *sp;
union comboval *cp;
- struct elist *ep, *nep;
+ struct elist *nep;
int i, r, d, n;
union comboval cb;
- unsigned pos;
curcolor = color;
@@ -350,9 +348,9 @@ scanframes(int color)
}
/* scan for combos at empty spots */
- for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
+ for (unsigned pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
sp = &board[pos];
- for (ep = sp->s_empty; ep != NULL; ep = nep) {
+ for (struct elist *ep = sp->s_empty; ep != NULL; ep = nep) {
cbp = ep->e_combo;
if (cbp->c_combo.s <= sp->s_combo[color].s) {
if (cbp->c_combo.s != sp->s_combo[color].s) {
@@ -366,7 +364,7 @@ scanframes(int color)
elistcnt--;
}
sp->s_empty = (struct elist *)0;
- for (ep = sp->s_nempty; ep != NULL; ep = nep) {
+ for (struct elist *ep = sp->s_nempty; ep != NULL; ep = nep) {
cbp = ep->e_combo;
if (cbp->c_combo.s <= sp->s_combo[color].s) {
if (cbp->c_combo.s != sp->s_combo[color].s) {
@@ -420,7 +418,7 @@ makecombo2(struct combostr *ocbp, struct
{
struct spotstr *fsp;
struct combostr *ncbp;
- int f, r, d, c;
+ int d, c;
int baseB, fcnt, emask, bmask, n;
union comboval ocb, fcb;
struct combostr **scbpp, *fcbp;
@@ -431,7 +429,7 @@ makecombo2(struct combostr *ocbp, struct
baseB = ocb.c.a + ocb.c.b - 1;
fcnt = ocb.c.a - 2;
emask = fcnt != 0 ? ((ocb.c.b != 0 ? 0x1E : 0x1F) & ~(1 << off)) : 0;
- for (r = 4; --r >= 0; ) { /* for each direction */
+ for (int r = 4; --r >= 0; ) { /* for each direction */
/* don't include frames that overlap in the same direction */
if (r == ocbp->c_dir)
continue;
@@ -444,7 +442,7 @@ makecombo2(struct combostr *ocbp, struct
*/
bmask = (BFLAG | FFLAG | MFLAG) << r;
fsp = osp;
- for (f = 0; f < 5; f++, fsp -= d) { /* for each frame */
+ for (int f = 0; f < 5; f++, fsp -= d) { /* for each frame */
if (fsp->s_occ == BORDER)
break;
if ((fsp->s_flags & bmask) != 0)
@@ -550,19 +548,18 @@ addframes(int level)
{
struct combostr *cbp, *ecbp;
struct spotstr *sp, *fsp;
- struct elist *ep, *nep;
+ struct elist *nep;
int i, r, d;
struct combostr **cbpp, *pcbp;
union comboval fcb, cb;
- unsigned pos;
curlevel = level;
/* scan for combos at empty spots */
i = curcolor;
- for (pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
+ for (unsigned pos = PT(BSZ, BSZ + 1); pos-- > PT(1, 1); ) {
sp = &board[pos];
- for (ep = sp->s_empty; ep != NULL; ep = nep) {
+ for (struct elist *ep = sp->s_empty; ep != NULL; ep = nep) {
cbp = ep->e_combo;
if (cbp->c_combo.s <= sp->s_combo[i].s) {
if (cbp->c_combo.s != sp->s_combo[i].s) {
@@ -652,9 +649,7 @@ makecombo(struct combostr *ocbp, struct
{
struct combostr *cbp, *ncbp;
struct spotstr *sp;
- struct elist *ep;
int n, c;
- struct elist *nep;
struct combostr **scbpp;
int baseB, fcnt, emask, verts;
union comboval ocb;
@@ -674,7 +669,7 @@ makecombo(struct combostr *ocbp, struct
baseB = ocb.c.a + ocb.c.b - 1;
fcnt = ocb.c.a - 2;
emask = fcnt != 0 ? ((ocb.c.b != 0 ? 0x1E : 0x1F) & ~(1 << off)) : 0;
- for (ep = osp->s_empty; ep != NULL; ep = ep->e_next) {
+ for (struct elist *ep = osp->s_empty; ep != NULL; ep = ep->e_next) {
/* check for various kinds of overlap */
cbp = ep->e_combo;
verts = checkframes(cbp, ocbp, osp, s, vertices);
@@ -697,7 +692,8 @@ makecombo(struct combostr *ocbp, struct
* of the completion spots of the combostr
* we are trying to attach the frame to.
*/
- for (nep = sp->s_empty; nep != NULL; nep = nep->e_next) {
+ for (struct elist *nep = sp->s_empty;
+ nep != NULL; nep = nep->e_next) {
if (nep->e_combo == cbp)
goto fnd;
if (nep->e_combo->c_nframes < cbp->c_nframes)
@@ -963,7 +959,7 @@ updatecombo(struct combostr *cbp, int co
{
struct spotstr *sp;
struct combostr *tcbp;
- int i, d;
+ int d;
int nframes, flags, s;
union comboval cb;
@@ -993,7 +989,7 @@ updatecombo(struct combostr *cbp, int co
/* update the board values for each spot in frame */
sp = &board[s = tcbp->c_vertex];
d = dd[tcbp->c_dir];
- i = (flags & C_OPEN_1) != 0 ? 6 : 5;
+ int i = (flags & C_OPEN_1) != 0 ? 6 : 5;
for (; --i >= 0; sp += d, s += d) {
if (sp->s_occ != EMPTY)
continue;
@@ -1017,7 +1013,7 @@ updatecombo(struct combostr *cbp, int co
/* update the board values for each spot in frame */
sp = &board[s = cbp->c_vertex];
d = dd[cbp->c_dir];
- i = (flags & C_OPEN_0) != 0 ? 6 : 5;
+ int i = (flags & C_OPEN_0) != 0 ? 6 : 5;
for (; --i >= 0; sp += d, s += d) {
if (sp->s_occ != EMPTY)
continue;