home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / KingPos.java < prev    next >
Encoding:
Java Source  |  1997-07-03  |  2.1 KB  |  100 lines

  1. package borland.samples.apps.chess.client;
  2.  
  3. import borland.samples.apps.chess.client.board.*;
  4.  
  5. /**helper class for the ChessRules class
  6. */
  7. public class KingPos
  8. {
  9.   private int kingRank = -1;
  10.   private int kingFile = -1;
  11.   private int kingCheckCount = 0;
  12.   private int attacker = -1;
  13.   private int attackerFile = -1;
  14.   private int attackerRank = -1;
  15.   private int kingColor;
  16.  
  17.   public KingPos(int color) {
  18.     if (color == Chessboard.WHITEPIECE)
  19.       kingColor = Chessboard.WHITEPIECE ;
  20.     else
  21.       kingColor = Chessboard.BLACKPIECE;
  22.   }
  23.  
  24.   public int getKingColor() {
  25.     return kingColor;
  26.   }
  27.  
  28.   public boolean KingPosEquals(int file,int rank){
  29.     if (rank == kingRank && file == kingFile)
  30.       return true;
  31.     else
  32.       return false;
  33.   }
  34.  
  35.   public void SetKingPos(int file,int rank) {
  36.     if (rank >= 0)
  37.       kingRank = rank;
  38.     if (file >= 0)
  39.       kingFile = file;
  40.   //System.out.println("King Pos = " + file + rank + " (" + kingColor);
  41.   }
  42.  
  43.   public void SetAttacker(int piecevalue,int file,int rank){
  44.     if (piecevalue  < 0) {
  45.       System.out.println("no attacker");
  46.       attacker = -1;
  47.       attackerRank = -1;
  48.       attackerFile = -1;
  49.       kingCheckCount = 0;
  50.     }
  51.     else {
  52.       System.out.println("found attacker" + piecevalue + file + rank);
  53.       attacker = piecevalue;
  54.       attackerRank = rank;
  55.       attackerFile = file;
  56.       kingCheckCount++;
  57.     }
  58.   }
  59.  
  60.   public int GetKingFile(){
  61.     return kingFile;
  62.   }
  63.  
  64.   public int GetKingRank(){
  65.     return kingRank;
  66.   }
  67.  
  68.   public int GetAttacker() {
  69.    return attacker;
  70.   }
  71.  
  72.   public int GetAttackerFile() {
  73.     return attackerFile;
  74.   }
  75.  
  76.   public int GetAttackerRank() {
  77.     return attackerRank;
  78.   }
  79.  
  80.   public void KingInCheck(boolean b) {
  81.     if (b)
  82.       kingCheckCount++;
  83.     else {
  84.       // System.out.println("no attacker");
  85.       attacker = -1;
  86.       attackerRank = -1;
  87.       attackerFile = -1;
  88.       kingCheckCount = 0;
  89.     }
  90.   }
  91.  
  92.   public boolean isDoubleCheck() {
  93.     return (kingCheckCount > 1)  ;
  94.   }
  95.  
  96.   public boolean isInCheck () {
  97.     return (kingCheckCount != 0);
  98.   }
  99. }
  100.