home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / Boardsquares.java < prev    next >
Text File  |  1997-07-03  |  2KB  |  70 lines

  1. /*
  2.  * %W% %E%
  3.  *    helper class for Chessboard
  4.  *
  5.  */
  6. package borland.samples.apps.chess.client.board;
  7.  
  8. public class Boardsquares extends Object{
  9.   int[][] board = new int[8][8];
  10.  
  11.   public synchronized void assign(int column,int row,int value){
  12.     board[column][row] = value;
  13.   }
  14.  
  15.   public synchronized void add(Boardsquares b)  {
  16.     int column,row;
  17.     for (column=0;column<8;column++){
  18.       for (row=0;row<8;row++) {
  19.         board[column][row] =  board  [column][row] +
  20.                       b.board[column][row];
  21.       }
  22.     }
  23.   }
  24.  
  25.   public synchronized void subtract(Boardsquares b) {
  26.     int column,row;
  27.     for (column=0;column<8;column++) {
  28.       for (row=0;row<8;row++)    {
  29.         board[column][row] = board[column][row] -
  30.                              b.board[column][row];
  31.       }
  32.     }
  33.   }
  34.  
  35.   public int nonZeroElementCount() {
  36.     int count = 0;
  37.     for (int column=0;column<8;column++) {
  38.       for (int row=0;row<8;row++) {
  39.           if (board[column][row] !=  0)
  40.                count++;
  41.       }
  42.     }
  43.     return count;
  44.   }
  45.  
  46.   public boolean equals(Boardsquares b) {
  47.     int column,row;
  48.     for (column=0;column<8;column++) {
  49.       for (row=0;row<8;row++) {
  50.           if (board[column][row] !=  b.board  [column][row])
  51.                return false;
  52.       }
  53.     }
  54.     return true;
  55.   }
  56.  
  57.   public synchronized int value(int file,int rank) {
  58.     if (file < 0 || rank < 0 || file > 7 || rank > 7)
  59.      return 0  ;
  60.    else
  61.      return board[file][rank];
  62.   }
  63.  
  64.   public synchronized void init(Boardsquares b) {
  65.     for (int column=0;column<8;column++) {
  66.       for (int row=0;row<8;row++) {
  67.         board[column][row] = b.board[column][row];
  68.       }
  69.     }
  70.   }}