Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. package Chess.ChessPieces;
  2.  
  3. public class Rook extends ChessPiece {
  4.  
  5. public Rook(int newY, int newX, char Color) {
  6. super(newY, newX, Color);
  7. }
  8.  
  9. @Override
  10. public boolean checkMove(int newY, int newX, ChessPiece[][] board) {
  11. if (newX == x) { // Om det är samma x-koordinat.
  12. int pos = newY - y;
  13. pos = pos > 0 ? --pos : ++pos; // Minskar med ett steg för att inte kolla slutpositionen i loopen.
  14.  
  15. while (pos != 0) { // Loopar över alla rutor mellan sig själv och dit man vill flytta.
  16. if (board[y+pos][x] != null) {
  17. return false;
  18. }
  19. pos = pos > 0 ? --pos : ++pos;
  20. }
  21. }
  22. else if (newY == y) { // Om det är samma y-koordinat.
  23. int pos = newX - x;
  24. pos = pos > 0 ? --pos : ++pos; // Minskar med ett steg för att inte kolla slutpositionen i loopen.
  25.  
  26. while (pos != 0) { // Loopar över alla rutor mellan sig själv och dit man vill flytta.
  27. if (board[y][x+pos] != null) {
  28. return false;
  29. }
  30. pos = pos > 0 ? --pos : ++pos;
  31. }
  32. }
  33. else { // Om det inte är horisontellt eller vertikalt.
  34. return false;
  35. }
  36.  
  37. if (board[newY][newX] == null) { // Om det är tomt.
  38. return true;
  39. }
  40. else if (board[newY][newX].white != this.white) { // Om man försöker flytta dit motståndaren är.
  41. return true;
  42. }
  43.  
  44. return false;
  45. }
  46.  
  47. @Override
  48. public String toString() {
  49. return (white ? 'W' : 'B') + " " + 'R';
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement