char *buffer = (char *) calloc (size, 1);
CHECKALLOC (buffer);
- int l = sprintf (buffer, "id: %d\n", board->id);
+ int l = sprintf (buffer, "ai: %d\n", board->ai);
+ l += sprintf (buffer + l, "id: %d\n", board->id);
l += sprintf (buffer + l, "height: %d\n", board->height);
l += sprintf (buffer + l, "scale: %d\n", board->scale);
l += sprintf (buffer + l, "tab: \"%s\"\n", board->tab);
board_t *loadboard (char *str)
{
+ int ai = -1;
int id = 0;
int height = 0;
int scale = 1;
value++;
}
- if (strcmp (keyword, "id") == 0) {
+ if (strcmp (keyword, "ai") == 0) {
+ ai = atoi (value);
+ } else if (strcmp (keyword, "id") == 0) {
id = atoi (value);
} else if (strcmp (keyword, "height") == 0) {
height = atoi (value);
if ((tab) && (strlen (tab) == (size_t)(width * height))) {
board = initboard (width, height);
memcpy (board->tab, tab, width * height);
+ board->ai = ai;
board->id = id;
board->scale = scale;
}
VERBOSE (ERROR, fprintf (stderr, "incorrect file (%s)\n", filename));
return 1;
}
+ ai = board->ai;
id = board->id;
scale = board->scale;
} else if (boardname) {
} else {
break;
}
- } else { // id == ai
+ } else { /* id == ai */
if (!play (board, id)) {
sprintf (msg, "Skip %s", id ? "Two" : "One");
id = id ? 0 : 1;
mode = 1;
}
}
- if (*msg) {
+ if (*msg == 0) {
sprintf (msg, "Player %s", id ? "Two" : "One");
}
case 's':
savename = savewindow (savelen, xsave, ysave);
if (savename != NULL) {
+ board->ai = ai;
board->id = id;
board->scale = scale;
char *ptr = saveboard (board);
/* test: { for s in kkkkllo mkklo u q; do sleep 1; echo -n $s; done; } | reversi.exe -r 8 | grep omkklouq */
/* test: { sleep 1; echo -n kko; sleep 1; echo q; } | reversi.exe -s 3 -b 4x4 */
/* test: { sleep 1; echo -n kkklo; sleep 1; echo q; } | reversi.exe -s 2 -b 6x6 */
-/* test: { sleep 1; echo -n kkkkllo; sleep 1; echo q; } | reversi.exe -s 1 -b 8x8 */
+/* test: { sleep 1; echo -n kkkkllo; sleep 1; echo -ne 'sfoo.rev\e'; sleep 1; echo q; } | reversi.exe -s 1 -b 8x8 && test \! -f foo.rev */
/* test: { sleep 1; echo -n kkkkklllo; sleep 1; echo q; } | reversi.exe -s 0 -b 10x10 */
/* test: { sleep 1; echo -n kkkkkkllllo; sleep 1; echo q; } | reversi.exe -b 12x12 */
/* test: { sleep 1; echo -n kkkkkkklllllo; sleep 1; echo q; } | reversi.exe -b 14x14 */
/* test: { for s in kko ko ml mo lljjlljo mlmo iijjjo io llo jllko q; do echo -n $s; sleep .3; done; } | reversi.exe -b 4x4 */
/* test: { sleep 1; echo -n kkkkllo; sleep 1; echo -e 'sgb\bame.rev'; sleep 1; echo q; } | reversi.exe -v 2 */
/* test: { sleep 1; echo -n kkkkllklo; sleep 1; echo q; } | reversi.exe -f game.rev && rm game.rev */
+/* test: { for s in kko iio lllko jkjko lo iiio kkklppo q; do echo -n $s; sleep .3; done; } | reversi.exe -a -b 4x4 */
/* vim: set ts=4 sw=4 et: */