Module Name: src
Committed By: rillig
Date: Sun May 22 08:22:43 UTC 2022
Modified Files:
src/games/gomoku: main.c
Log Message:
gomoku: extract set_input_sources from main
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 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/main.c
diff -u src/games/gomoku/main.c:1.51 src/games/gomoku/main.c:1.52
--- src/games/gomoku/main.c:1.51 Sun May 22 08:18:49 2022
+++ src/games/gomoku/main.c Sun May 22 08:22:43 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.51 2022/05/22 08:18:49 rillig Exp $ */
+/* $NetBSD: main.c,v 1.52 2022/05/22 08:22:43 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.51 2022/05/22 08:18:49 rillig Exp $");
+__RCSID("$NetBSD: main.c,v 1.52 2022/05/22 08:22:43 rillig Exp $");
#include <sys/stat.h>
#include <curses.h>
@@ -155,6 +155,27 @@ parse_args(int argc, char **argv)
err(1, "%s", *argv);
}
+static void
+set_input_sources(enum input_source *input, int color)
+{
+ switch (test) {
+ case 0: /* user versus program */
+ input[color] = USER;
+ input[color != BLACK ? BLACK : WHITE] = PROGRAM;
+ break;
+
+ case 1: /* user versus user */
+ input[BLACK] = USER;
+ input[WHITE] = USER;
+ break;
+
+ case 2: /* program versus program */
+ input[BLACK] = PROGRAM;
+ input[WHITE] = PROGRAM;
+ break;
+ }
+}
+
int
main(int argc, char **argv)
{
@@ -230,22 +251,7 @@ again:
input[BLACK] = INPUTF;
input[WHITE] = INPUTF;
} else {
- switch (test) {
- case 0: /* user versus program */
- input[color] = USER;
- input[color != BLACK ? BLACK : WHITE] = PROGRAM;
- break;
-
- case 1: /* user versus user */
- input[BLACK] = USER;
- input[WHITE] = USER;
- break;
-
- case 2: /* program versus program */
- input[BLACK] = PROGRAM;
- input[WHITE] = PROGRAM;
- break;
- }
+ set_input_sources(input, color);
}
if (interactive) {
plyr[BLACK] = input[BLACK] == USER ? user : prog;
@@ -262,24 +268,7 @@ again:
curmove = readinput(inputfp);
if (curmove != EOF)
break;
- /* Switch to another input source. */
- switch (test) {
- case 0: /* user versus program */
- input[color] = USER;
- input[color != BLACK ? BLACK : WHITE] =
- PROGRAM;
- break;
-
- case 1: /* user versus user */
- input[BLACK] = USER;
- input[WHITE] = USER;
- break;
-
- case 2: /* program versus program */
- input[BLACK] = PROGRAM;
- input[WHITE] = PROGRAM;
- break;
- }
+ set_input_sources(input, color);
plyr[BLACK] = input[BLACK] == USER ? user : prog;
plyr[WHITE] = input[WHITE] == USER ? user : prog;
bdwho();