gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnugo-devel] trevor_1_11.3


From: Trevor Morris
Subject: [gnugo-devel] trevor_1_11.3
Date: Mon, 15 Oct 2001 13:42:51 -0400

http://www.public32.com/games/go/trevor_1_11.3
 - fixes sscanf problem in (worm|dragon)_(stones|data)
 - allows dragon_stones to take color parameter, as well as coord.

--- ../../ml.cyg2/gnugo/interface/play_gtp.c    Mon Oct 15 13:08:08 2001
+++ play_gtp.c  Mon Oct 15 13:38:38 2001
@@ -2056,7 +2056,7 @@
   int j = -1;
   int m, n;
 
-  if (sscanf(s, " %*c") >= 1 && !gtp_decode_coord(s, &i, &j))
+  if (sscanf(s, "%*c") >= 0 && !gtp_decode_coord(s, &i, &j))
     return gtp_failure(id, "invalid color or coordinate");
 
   examine_position(EMPTY, EXAMINE_WORMS);
@@ -2110,7 +2110,7 @@
   int m, n;
   int u, v;
 
-  if (sscanf(s, " %*c") >= 1) {
+  if (sscanf(s, "%*c") >= 0) {
     if (!gtp_decode_coord(s, &i, &j)
        && !gtp_decode_color(s, &color))
       return gtp_failure(id, "invalid coordinate");
@@ -2178,7 +2178,7 @@
   int j = -1;
   int m, n;
 
-  if (sscanf(s, " %*c") >= 1 && !gtp_decode_coord(s, &i, &j))
+  if (sscanf(s, "%*c") >= 0 && !gtp_decode_coord(s, &i, &j))
     return gtp_failure(id, "invalid coordinate");
 
   if (stackp > 0)
@@ -2280,11 +2280,15 @@
 {
   int i = -1;
   int j = -1;
+  int color = EMPTY;
   int m, n;
   int u, v;
 
-  if (sscanf(s, " %*c") >= 1 && !gtp_decode_coord(s, &i, &j))
+  if (sscanf(s, "%*c") >= 0) {
+    if (!gtp_decode_coord(s, &i, &j)
+       && !gtp_decode_color(s, &color))
     return gtp_failure(id, "invalid coordinate");
+  }
 
   if (BOARD(i, j) == EMPTY)
     return gtp_failure(id, "dragon_stones called on an empty vertex");
@@ -2296,7 +2300,8 @@
   
   for (u = 0; u < board_size; u++)
     for (v = 0; v < board_size; v++) {
-      if (BOARD(u, v) == EMPTY)
+      if (BOARD(u, v) == EMPTY
+         || (color != EMPTY && BOARD(u, v) != color))
        continue;
       if (dragon[POS(u, v)].origin != POS(u, v))
        continue;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]