home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / Boardsquares.java < prev    next >
Text File  |  1998-05-08  |  3KB  |  91 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20. /*
  21.  * %W% %E%
  22.  *    helper class for Chessboard
  23.  *
  24.  */
  25. package borland.samples.apps.chess.client.board;
  26.  
  27. public class Boardsquares extends Object{
  28.   int[][] board = new int[8][8];
  29.  
  30.   public synchronized void assign(int column,int row,int value){
  31.     board[column][row] = value;
  32.   }
  33.  
  34.   public synchronized void add(Boardsquares b)  {
  35.     int column,row;
  36.     for (column=0;column<8;column++){
  37.       for (row=0;row<8;row++) {
  38.         board[column][row] =  board  [column][row] +
  39.                       b.board[column][row];
  40.       }
  41.     }
  42.   }
  43.  
  44.   public synchronized void subtract(Boardsquares b) {
  45.     int column,row;
  46.     for (column=0;column<8;column++) {
  47.       for (row=0;row<8;row++)    {
  48.         board[column][row] = board[column][row] -
  49.                              b.board[column][row];
  50.       }
  51.     }
  52.   }
  53.  
  54.   public int nonZeroElementCount() {
  55.     int count = 0;
  56.     for (int column=0;column<8;column++) {
  57.       for (int row=0;row<8;row++) {
  58.           if (board[column][row] !=  0)
  59.                count++;
  60.       }
  61.     }
  62.     return count;
  63.   }
  64.  
  65.   public boolean equals(Boardsquares b) {
  66.     int column,row;
  67.     for (column=0;column<8;column++) {
  68.       for (row=0;row<8;row++) {
  69.           if (board[column][row] !=  b.board  [column][row])
  70.                return false;
  71.       }
  72.     }
  73.     return true;
  74.   }
  75.  
  76.   public synchronized int value(int file,int rank) {
  77.     if (file < 0 || rank < 0 || file > 7 || rank > 7)
  78.      return 0  ;
  79.    else
  80.      return board[file][rank];
  81.   }
  82.  
  83.   public synchronized void init(Boardsquares b) {
  84.     for (int column=0;column<8;column++) {
  85.       for (int row=0;row<8;row++) {
  86.         board[column][row] = b.board[column][row];
  87.       }
  88.     }
  89.   }
  90. }
  91.