Guest User

Untitled

a guest
Jul 18th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. package chess;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Rook extends Piece{
  6.    
  7.     public Rook(String player, int [] currentPosition, Board b){
  8.         super(player, currentPosition, b);
  9.     }
  10.    
  11.     public String toString(){
  12.         return getPlayer() + "R ";
  13.     }
  14.    
  15.     public int [][] getMoves(){
  16.        
  17.         int [] pos = getCurrentPosition();
  18.        
  19.         ArrayList<int []> moves = new ArrayList<int []>();
  20.        
  21.         //System.out.println("Current Position: (" + pos[0] + "," + pos[1] + ").");
  22.        
  23.         // check right side
  24.         for(int i = pos[0]+1; i <= 8; i++){
  25.             if(getBoard().getPlayerAt(i, pos[1]) == null){
  26.                 moves.add(new int [] {i,(pos[1])});
  27.                 continue;
  28.             }
  29.             if(getBoard().getPlayerAt(i, pos[1]) != this.getPlayer()){
  30.                 moves.add(new int [] {i,(pos[1])});
  31.                 break;
  32.             }
  33.             if(getBoard().getPlayerAt(i, pos[1]) == this.getPlayer()){
  34.                 break;
  35.             }
  36.         }
  37.        
  38.         // check left side
  39.         for(int i = pos[0]-1; i >= 1; i--){
  40.             if(getBoard().getPlayerAt(i, pos[1]) == null){
  41.                 moves.add(new int [] {i, pos[1]});
  42.                 continue;
  43.             }
  44.             if(getBoard().getPlayerAt(i, pos[1]) != this.getPlayer()){
  45.                 moves.add(new int [] {i,(pos[1])});
  46.                 break;
  47.             }
  48.             if(getBoard().getPlayerAt(i, pos[1]) == this.getPlayer()){
  49.                 break;
  50.             }
  51.         }
  52.        
  53.         // check up
  54.         for(int i = pos[1]+1; i <= 8; i++){
  55.            
  56.             if(getBoard().getPlayerAt(pos[0], i) == null){
  57.                 moves.add(new int [] {pos[0], i});
  58.                 continue;
  59.             }
  60.            
  61.             if(getBoard().getPlayerAt(pos[0], i) != this.getPlayer()){
  62.                 moves.add(new int [] {pos[0], i});
  63.                 break;
  64.             }
  65.             if(getBoard().getPlayerAt(pos[0], i) == this.getPlayer()){
  66.                 break;
  67.             }
  68.         }
  69.        
  70.         // check down
  71.         for(int i = pos[1]-1; i >= 1; i--){
  72.             if(getBoard().getPlayerAt(pos[0], i) == null){
  73.                 moves.add(new int [] {pos[0], i});
  74.                 continue;
  75.             }
  76.             if(getBoard().getPlayerAt(pos[0], i) != this.getPlayer()){
  77.                 moves.add(new int [] {pos[0], i});
  78.                 break;
  79.             }
  80.             if(getBoard().getPlayerAt(pos[0], i) == this.getPlayer()){
  81.                 break;
  82.             }
  83.         }
  84.        
  85.         int [][] m = new int [moves.size()][2];
  86.        
  87.         for(int i = 0; i < moves.size(); i++){
  88.             m[i][0] = moves.get(i)[0];
  89.             m[i][1] = moves.get(i)[1];
  90.         }
  91.         return m;
  92.     }
  93. }
Add Comment
Please, Sign In to add comment