gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] Fwd: gnugo: stepping thru a saved game in ascii mode i


From: Paul Pogonyshev
Subject: Re: [gnugo-devel] Fwd: gnugo: stepping thru a saved game in ascii mode is difficult without () around current move
Date: Tue, 22 Feb 2005 17:26:54 +0200
User-agent: KMail/1.4.3

Martin Godisch wrote:

> Here is another one...

Out of curiosity, why do you receieve wishes for GNU Go?  Do you
maintain a GNU Go package?

> On Tue, Feb 22, 2005 at 03:55:06 -0500, Jim W. Jaszewski wrote:
> > Stepping thru a loaded game in ascii mode, it gets hard to see where the
> > next stone has just been put -- because unlike during live play, there
> > are no brackets around the last move made.
> > (X) (O)  Right?
> >
> > For that matter, that last move could be displayed somewhere on the
> > screen.
> >
> > And for that matter, all the moves could likely be displayed along the
> > right-hand side of the screen..!

This simple patch makes the last move always visible, unless it happens
to be a pass move, and also prints it to the right of the board.  I didn't
try to implement move history.

However, I suggest that you use some client with GNU Go as ASCII mode is
very old, inconvenient and almost not supported.  Try googling for
something like ``GTP client GNU Go'', maybe also specifying your OS.

Paul



--- play_ascii.c        10 Jan 2005 15:20:15 +0200      1.52
+++ play_ascii.c        22 Feb 2005 17:25:09 +0200      
@@ -52,8 +52,6 @@ showterri        display territory\n\
 static int opt_showboard = 1;
 static int showdead = 0;
 static SGFTree sgftree;
-static int last_move_i;      /* The position of the last move */
-static int last_move_j;      /* -""-                          */
 static int resignation_allowed;
 
 /* Unreasonable score used to detect missing information. */
@@ -194,6 +192,7 @@ ascii_showboard(void)
   int last_pos_was_move;
   int pos_is_move;
   int dead;
+  int last_move = get_last_move();
   
   make_letterbar(board_size, letterbar);
   set_handicap_spots(board_size);
@@ -217,14 +216,22 @@ ascii_showboard(void)
   printf("\n");
 
   fflush(stdout);
-  printf("%s\n", letterbar);
+  printf("%s", letterbar);
+
+  if (get_last_player() != EMPTY) {
+    gfprintf(stdout, "        Last move: %s %1m",
+            get_last_player() == WHITE ? "White" : "Black",
+            last_move);
+  }
+
+  printf("\n");
   fflush(stdout);
   
   for (i = 0; i < board_size; i++) {
     printf(" %2d", board_size - i);
     last_pos_was_move = 0;
     for (j = 0; j < board_size; j++) {
-      if (last_move_i == i && last_move_j == j)
+      if (POS(i, j) == last_move)
        pos_is_move = 128;
       else
        pos_is_move = 0;
@@ -471,9 +478,6 @@ computer_move(Gameinfo *gameinfo, int *p
     gnugo_estimate_score(&upper_bound, &lower_bound);
     current_score_estimate = (int) ((lower_bound + upper_bound) / 2.0);
   }
-    
-  last_move_i = i;
-  last_move_j = j;
   
   mprintf("%s(%d): %m\n", color_to_string(gameinfo->to_move),
          movenum+1, i, j);
@@ -520,9 +524,6 @@ do_move(Gameinfo *gameinfo, char *comman
   sgffile_add_debuginfo(sgftree.lastnode, 0.0);
   sgftreeAddPlay(&sgftree, gameinfo->to_move, i, j);
   sgffile_output(&sgftree);
-
-  last_move_i = i;
-  last_move_j = j;
   
   if (opt_showboard) {
     ascii_showboard();





reply via email to

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