home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume6 / gnugo / part03 / openregn.c < prev    next >
C/C++ Source or Header  |  1989-03-13  |  2KB  |  80 lines

  1. /*
  2.                 GNU GO - the game of Go (Wei-Chi)
  3.                 Version 1.1   last revised 3-1-89
  4.            Copyright (C) Free Software Foundation, Inc.
  5.                       written by Man L. Li
  6.                       modified by Wayne Iba
  7.                     documented by Bob Webber
  8. */
  9. /*
  10. This program is free software; you can redistribute it and/or modify
  11. it under the terms of the GNU General Public License as published by
  12. the Free Software Foundation - version 1.
  13.  
  14. This program is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. GNU General Public License in file COPYING for more details.
  18.  
  19. You should have received a copy of the GNU General Public License
  20. along with this program; if not, write to the Free Software
  21. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  
  23. Please report any bug/fix, modification, suggestion to
  24.  
  25. mail address:   Man L. Li
  26.                 Dept. of Computer Science
  27.                 University of Houston
  28.                 4800 Calhoun Road
  29.                 Houston, TX 77004
  30.  
  31. e-mail address: manli@cs.uh.edu         (Internet)
  32.                 coscgbn@uhvax1.bitnet   (BITNET)
  33.                 70070,404               (CompuServe)
  34. */
  35.  
  36. #include <stdio.h>
  37.  
  38. #define EMPTY 0
  39.  
  40. extern unsigned char p[19][19];
  41.  
  42. openregion(i1, j1, i2, j2)
  43. /* check if region from i1, j1 to i2, j2 is open */
  44. int i1, j1, i2, j2;
  45.  
  46. {
  47.  int minx, maxx, miny, maxy, x, y;
  48.  
  49. /* exchange upper and lower limits */
  50.  
  51.  if (i1 < i2)
  52.    {
  53.     miny = i1;
  54.     maxy = i2;
  55.   }
  56.  else
  57.    {
  58.     miny = i2;
  59.     maxy = i1;
  60.   }
  61.  
  62.  if (j1 < j2)
  63.    {
  64.     minx = j1;
  65.     maxx = j2;
  66.   }
  67.  else
  68.    {
  69.     minx = j2;
  70.     maxx = j1;
  71.   }
  72.  
  73. /* check for empty region */
  74.  for (y = miny; y <= maxy; y++)
  75.    for (x = minx; x <= maxx; x++)
  76.      if (p[y][x] != EMPTY) return 0;
  77.  return 1;
  78. }  /* end openregion */
  79.  
  80.