ftp.nice.ch/pub/next/games/network/NeXTGo.2.7.NIHS.bs.gnutar.gz#/NeXTGo/exambord.c

This is exambord.c in view mode; [Download] [Up]

#include "comment.header"

/* $Id: exambord.c,v 1.3 1997/07/06 19:34:54 ergo Exp $ */

/*
 * $Log: exambord.c,v $
 * Revision 1.3  1997/07/06 19:34:54  ergo
 * actual version
 *
 * Revision 1.2  1997/05/04 18:57:00  ergo
 * added time control for moves
 *
 */

#define EMPTY 0
#define BLACKSTONE 2

extern unsigned char p[19][19], l[19][19];
extern int MAXX, MAXY;
extern int currentStone, opposingStone, whiteCaptured, blackCaptured;
extern int whiteCapturedKoI, whiteCapturedKoJ, blackCapturedKoI, blackCapturedKoJ;
extern void eval(int color);

void examboard(int color)
     /* examine pieces */
{
  int i, j, n;

  for (i = 0; i < MAXX; i++)
    for (j = 0; j < MAXY; j++)
      if (p[i][j] > 2)
	return;
  
  /* find liberty of each piece */
  eval(color);
  
  /* initialize piece captured */
  if (color == BLACKSTONE)
    {
      blackCapturedKoI = -1;
      blackCapturedKoJ = -1;
    }
  else
    {
      whiteCapturedKoI = -1;
      whiteCapturedKoJ = -1;
    }
  n = 0; /* The number of captures this move for Ko purposes */
  
  /* remove all piece of zero liberty */
  for (i = 0; i < MAXX; i++)
    for (j = 0; j < MAXY; j++)
      if ((p[i][j] == color) && (l[i][j] == 0))
	{
	  p[i][j] = EMPTY;
	  /* record piece captured */
	  if (color == BLACKSTONE)
	    {
	      blackCapturedKoI = i;
	      blackCapturedKoJ = j;
	      ++blackCaptured;
	    }
	  else
	    {
	      whiteCapturedKoI = i;
	      whiteCapturedKoJ = j;
	      ++whiteCaptured;
	    }
	  ++n;  /* increment number of captures on this move */
	}
  /* reset to -1 if more than one stone captured since  no Ko possible */
  if ((color == BLACKSTONE) && (n > 1))
    {
      blackCapturedKoI = -1;
      blackCapturedKoJ = -1;
    }
  else if ( n > 1 )
    {
      whiteCapturedKoI = -1;
      whiteCapturedKoJ = -1;
    }
}  /* end examboard */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.