home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Games / MacGnuGo 0.5e / gnugo.src / sethand.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-26  |  1.5 KB  |  78 lines  |  [TEXT/R*ch]

  1. #include "comment.header"
  2.  
  3. #define BLACKSTONE 2
  4.  
  5. extern unsigned char p[19][19];
  6. extern int MAXX, MAXY;
  7.  
  8. void sethand(int i)
  9.      /* set up handicap pieces */
  10. {
  11.   int half, q;
  12.   
  13.   half = (MAXX + 1)/2 - 1;
  14.   if (MAXX < 13)
  15.     q = 2;
  16.   else
  17.     q = 3;
  18.   if (MAXX < 7) q = 1;
  19.   
  20.   if (i > 0)
  21.     {
  22.       p[q][MAXY - q - 1] = BLACKSTONE;
  23.       if (i > 1)
  24.     {
  25.       p[MAXX - q - 1][q] = BLACKSTONE;
  26.       if (i > 2)
  27.         {
  28.           p[q][q] = BLACKSTONE;
  29.           if (i > 3)
  30.         {
  31.           p[MAXX - q - 1][MAXY - q - 1] = BLACKSTONE;
  32.           if (i == 5)
  33.             p[half][half] = BLACKSTONE;
  34.           else
  35.             if (i > 5)
  36.               {
  37.             p[q][half] = BLACKSTONE;
  38.             p[MAXX - q - 1][half] = BLACKSTONE;
  39.             if (i == 7)
  40.               p[half][half] = BLACKSTONE;
  41.             else
  42.               if (i > 7)
  43.                 {
  44.                   p[half][MAXY - q - 1] = BLACKSTONE;
  45.                   p[half][q] = BLACKSTONE;
  46.                   if (i > 8)
  47.                 p[half][half] = BLACKSTONE;
  48.                   if (i > 9)
  49.                 {p[q - 1][q - 1] = BLACKSTONE;
  50.                  if (i > 10)
  51.                    {p[MAXX - q][MAXY - q] = BLACKSTONE;
  52.                     if (i > 11)
  53.                       {p[q - 1][MAXY - q] = BLACKSTONE;
  54.                        if (i > 12)
  55.                      {p[MAXX - q][q - 1] = BLACKSTONE;
  56.                       if (i > 13)
  57.                         {p[(q + half)/2][(q + half)/2] = BLACKSTONE;
  58.                          if (i > 14)
  59.                            {p[(MAXX - q + half)/2][(MAXY - q + half)/2] = BLACKSTONE;
  60.                         if (i > 15)
  61.                           {p[(q + half)/2][(MAXY - q + half)/2] = BLACKSTONE;
  62.                            if (i > 16)
  63.                              p[(MAXX - q + half)/2][(q + half)/2] = BLACKSTONE;
  64.                          }
  65.                           }
  66.                        }
  67.                     }
  68.                      }
  69.                   }
  70.                    }
  71.                 }
  72.               }
  73.         }
  74.         }
  75.     }
  76.     }
  77. }  /* end sethand */
  78.