Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.37 KB | None | 0 0
  1. public class MinusPlus {
  2.  
  3. private boolean minusPlus_QueenAttack() {
  4. //java.lang.ArrayIndexOutOfBoundsException: length=8; index=-1
  5. if (presentCoordinates[0] - 1 <= 7 && presentCoordinates[0] - 1 >= 0 && presentCoordinates[1] + 1 <= 7 && presentCoordinates[1] + 1 >= 0) {
  6. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] != null) {
  7. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName()) ||
  8. inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1].getClass().getSimpleName().equals(this.bishop.getClass().getSimpleName())) {
  9. if (presentCoordinates[0] + 1 <= 7 && presentCoordinates[0] + 1 >= 0 && presentCoordinates[1] - 1 <= 7 && presentCoordinates[1] - 1 >= 0)
  10. if (inputPieceMatrix[presentCoordinates[0] + 1][presentCoordinates[1] - 1] == null || inputPieceMatrix[presentCoordinates[0] + 1][presentCoordinates[1] - 1] instanceof LegalMove) {
  11. if (proposedCoordinates[0] == presentCoordinates[0] + 1) {
  12. if (proposedCoordinates[1] == presentCoordinates[1] - 1) {
  13. return true;
  14. }
  15. }
  16. } else {
  17. return false;
  18. }
  19. }
  20. }
  21. }
  22. if (presentCoordinates[0] - 2 <= 7 && presentCoordinates[0] - 2 >= 0 && presentCoordinates[1] + 2 <= 7 && presentCoordinates[1] + 2 >= 0) {
  23. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] != null) {
  24. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  25. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  26. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  27. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  28. return true;
  29. }
  30. }
  31. }
  32. }
  33. if(lookBehind(new int[]{+1, -1})) {
  34. return true;
  35. }
  36. }
  37. }
  38. if (presentCoordinates[0] - 3 <= 7 && presentCoordinates[0] - 3 >= 0 && presentCoordinates[1] + 3 <= 7 && presentCoordinates[1] + 3 >= 0) {
  39. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] != null) {
  40. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  41. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] == null || inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] instanceof LegalMove) {
  42. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  43. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  44. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  45. return true;
  46. }
  47. }
  48. }
  49. }
  50. }
  51. if(lookBehind(new int[]{+1, -1})) {
  52. return true;
  53. }
  54. }
  55. }
  56. if (presentCoordinates[0] - 4 <= 7 && presentCoordinates[0] - 4 >= 0 && presentCoordinates[1] + 4 <= 7 && presentCoordinates[1] + 4 >= 0) {
  57. if (inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] != null) {
  58. if (inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  59. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] == null || inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] instanceof LegalMove) {
  60. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] == null || inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] instanceof LegalMove) {
  61. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  62. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  63. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  64. return true;
  65. }
  66. }
  67. }
  68. }
  69. }
  70. }
  71. if(lookBehind(new int[]{+1, -1})) {
  72. return true;
  73. }
  74. }
  75. }
  76. if (presentCoordinates[0] - 5 <= 7 && presentCoordinates[0] - 5 >= 0 && presentCoordinates[1] + 5 <= 7 && presentCoordinates[1] + 5 >= 0) {
  77. if (inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5] != null) {
  78. if (inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  79. if (inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] == null || inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] instanceof LegalMove) {
  80. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] == null || inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] instanceof LegalMove) {
  81. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] == null || inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] instanceof LegalMove) {
  82. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  83. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  84. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  85. return true;
  86. }
  87. }
  88. }
  89. }
  90. }
  91. }
  92. }
  93. if(lookBehind(new int[]{+1, -1})) {
  94. return true;
  95. }
  96. }
  97. }
  98. if (presentCoordinates[0] - 6 <= 7 && presentCoordinates[0] - 6 >= 0 && presentCoordinates[1] + 6 <= 7 && presentCoordinates[1] + 6 >= 0) {
  99. if (inputPieceMatrix[presentCoordinates[0] - 6][presentCoordinates[1] + 6] != null) {
  100. if (inputPieceMatrix[presentCoordinates[0] - 6][presentCoordinates[1] + 6].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  101. if (inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5] == null || inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5] instanceof LegalMove) {
  102. if (inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] == null || inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] instanceof LegalMove) {
  103. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] == null || inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] instanceof LegalMove) {
  104. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] == null || inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] instanceof LegalMove) {
  105. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  106. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  107. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  108. return true;
  109. }
  110. }
  111. }
  112. }
  113. }
  114. }
  115. }
  116. }
  117. if(lookBehind(new int[]{+1, -1})) {
  118. return true;
  119. }
  120. }
  121. }
  122. if (presentCoordinates[0] - 7 <= 7 && presentCoordinates[0] - 7 >= 0 && presentCoordinates[1] + 7 <= 7 && presentCoordinates[1] + 7 >= 0) {
  123. if (inputPieceMatrix[presentCoordinates[0] - 7][presentCoordinates[1] + 7] != null) {
  124. if (inputPieceMatrix[presentCoordinates[0] - 7][presentCoordinates[1] + 7].getClass().getSimpleName().equals(this.queen.getClass().getSimpleName())) {
  125. if (inputPieceMatrix[presentCoordinates[0] - 6][presentCoordinates[1] + 6] == null || inputPieceMatrix[presentCoordinates[0] - 6][presentCoordinates[1] + 6] instanceof LegalMove) {
  126. if (inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5] == null || inputPieceMatrix[presentCoordinates[0] - 5][presentCoordinates[1] + 5] instanceof LegalMove) {
  127. if (inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] == null || inputPieceMatrix[presentCoordinates[0] - 4][presentCoordinates[1] + 4] instanceof LegalMove) {
  128. if (inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] == null || inputPieceMatrix[presentCoordinates[0] - 3][presentCoordinates[1] + 3] instanceof LegalMove) {
  129. if (inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] == null || inputPieceMatrix[presentCoordinates[0] - 2][presentCoordinates[1] + 2] instanceof LegalMove) {
  130. if (inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] == null || inputPieceMatrix[presentCoordinates[0] - 1][presentCoordinates[1] + 1] instanceof LegalMove) {
  131. if (proposedCoordinates[0] == presentCoordinates[0] - 1) {
  132. if (proposedCoordinates[1] == presentCoordinates[1] + 1) {
  133. return true;
  134. }
  135. }
  136. }
  137. }
  138. }
  139. }
  140. }
  141. }
  142. }
  143. }
  144. }
  145. return false;
  146. }
  147.  
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement