Advertisement
kuchuz

PBO-C EAS : Knight

Jan 11th, 2021
1,210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1. package chessgui.pieces;
  2.  
  3. import chessgui.Board;
  4.  
  5. public class Knight extends Piece {
  6.  
  7.     public Knight(int x, int y, boolean is_white, String file_path, Board board)
  8.     {
  9.         super(x,y,is_white,file_path, board);
  10.     }
  11.    
  12.     @Override
  13.     public boolean canMove(int destination_x, int destination_y){
  14.         // Jika posisi target sudah ada buah catur dan itu milik kita, tidak boleh jalan
  15.         Piece target = board.getPiece(destination_x, destination_y);
  16.         if(target != null){
  17.             if(target.isWhite() && this.isWhite()) return false;
  18.             if(target.isBlack() && this.isBlack()) return false;
  19.         }
  20.  
  21.         // Jika posisi target tidak L, tidak boleh jalan
  22.         // Dalam artian hanya boleh jalan (2 petak horizontal dan 1 petak vertikal)
  23.         // atau (1 petak horizontal dan 2 petak vertikal)
  24.         int jarak_x = Math.abs(this.getX()-destination_x);
  25.         int jarak_y = Math.abs(this.getY()-destination_y);
  26.         if(!(((jarak_x == 2) && (jarak_y == 1)) ||
  27.            ((jarak_x == 1) && (jarak_y == 2)))) return false;
  28.  
  29.         return true;
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement