Advertisement
Guest User

Untitled

a guest
Jan 19th, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.51 KB | None | 0 0
  1. import java.awt.AWTException;
  2. import java.awt.MouseInfo;
  3. import java.awt.Point;
  4. import java.io.IOException;
  5.  
  6.  
  7. public class Calculations {
  8.  
  9. static int score, g, g1;
  10. Point p1, p;
  11. static HMM HMM = new HMM();
  12. static int [][] Bbt, Bbt1, bUp, bUp1;
  13. static int[][] bb, bb1;
  14.  
  15. public static Point move1() throws IOException, InterruptedException, AWTException {
  16. Point zero = new Point(0, 0);
  17. for (int x = 1; x <= 5; x++) {
  18. for (int y = 1; y <= 12; y++) {
  19. Bbt = cloneArray(Board.Bilgeboard);
  20. bb = Board.swapedBuilgingBoard(x, y, x+1, y, Bbt);
  21. //prntarray(bb);
  22. //System.out.println("bb");
  23. g = Judge(bb, x, y) + Judge(bb, x+1, y);
  24. boardUp(bb);
  25. if(g >= score) {
  26. score = g;
  27. Main.move1 = new Point((Main.bilgestart.x + (x*45)), (Main.bilgestart.y + (y*45) - 20));
  28. if(move2() != zero || g1 > g) {
  29. Main.move2 = move2();
  30. } else {
  31. Main.move2 = new Point(MouseInfo.getPointerInfo().getLocation());
  32. }
  33. //System.out.println(x);
  34. //System.out.println(y);
  35. //System.out.println(score);
  36.  
  37. }
  38. }
  39. }
  40. return new Point(0, 0);
  41. }
  42.  
  43. public static Point move2() throws IOException, InterruptedException, AWTException {
  44.  
  45. for (int x = 1; x <= 5; x++) {
  46. for (int y = 1; y <= 12; y++) {
  47. Bbt1 = cloneArray(Calculations.Bbt);
  48. bb1 = Board.swapedBuilgingBoard(x, y, x+1, y, Bbt1);
  49. g1 = Judge(bb1, x, y) + Judge(bb1, x+1, y);
  50. if(g1 > score || g1 != 0) {
  51. return new Point((Main.bilgestart.x + (x*45)), (Main.bilgestart.y + (y*45) - 20));
  52. }
  53. }
  54. }
  55.  
  56. return new Point(0, 0);
  57. }
  58.  
  59. public static int[][] boardUp(int[][] a) {
  60. bUp = cloneArray(a);
  61. for (int x = 1; x <= 6; x++) {
  62. for (int y = 1; y <= 12; y++) {
  63. if(x < 6 && x > 1) {
  64. if( x+2 < 6 && x > 1) {
  65. if(a[x][y] == a[x+1][y] && a[x][y] == a[x+2][y]) {
  66. bUp[x+1][y] = -2;
  67. bUp[x+2][y] = -2;
  68. bUp[x][y] = -2;
  69. } else if(a[x][y] == a[x-1][y] && a[x][y] == a[x-2][y]) {
  70. bUp[x-1][y] = -2;
  71. bUp[x-2][y] = -2;
  72. bUp[x][y] = -2;
  73. }
  74. if( x+1 < 6 && x > 1) {
  75. if(a[x][y] == a[x-1][y] && a[x][y] == a[x+1][y]) {
  76. bUp[x-1][y] = -2;
  77. bUp[x+1][y] = -2;
  78. bUp[x][y] = -2;
  79. }
  80. }
  81. }
  82.  
  83. if(y < 12 && y > 1) {
  84. if( y+2 < 12 && y > 1) {
  85. if(a[x][y] == a[x][y+1] && a[x][y] == a[x][y+2]) {
  86. bUp[x][y] = -2;
  87. bUp[x][y+1] = -2;
  88. bUp[x][y+2] = -2;
  89. } else if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y-2]) {
  90. bUp[x][y] = -2;
  91. bUp[x][y-1] = -2;
  92. bUp[x][y-2] = -2;
  93. }
  94. if( y+1 < 12 && y > 1) {
  95. if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y+1]) {
  96. bUp[x][y] = -2;
  97. bUp[x][y-1] = -2;
  98. bUp[x][y+1] = -2;
  99. }
  100. }
  101. if( y+2 < 12 && y > 1) {
  102. if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y-2] && a[x][y] == a[x][y+1]) {
  103. bUp[x][y] = -2;
  104. bUp[x][y-1] = -2;
  105. bUp[x][y-2] = -2;
  106. bUp[x][y+1] = -2;
  107. }
  108. }
  109. if( y+2 < 12 && y > 1) {
  110. if(a[x][y] == a[x][y+1] && a[x][y] == a[x][y+2] && a[x][y] == a[x][y-1]) {
  111. bUp[x][y] = -2;
  112. bUp[x][y+1] = -2;
  113. bUp[x][y+2] = -2;
  114. bUp[x][y-1] = -2;
  115. }
  116. }
  117. }
  118. }
  119. }
  120. //prntarray(bUp);
  121. bUp =boardUpd(bUp);
  122. //prntarray(bUp);
  123. }
  124. }
  125. return bUp;
  126. }
  127.  
  128. public static int[][] boardUpd(int[][] a) {
  129. bUp1 = cloneArray(bUp);
  130. int b;
  131. for (int x = 1; x <= 5; x++) {
  132. for (int y = 1; y <= 12; y++) {
  133. if(y < 12 && y > 1) {
  134. if( y+1 < 12 && y > 1) {
  135. if(bUp1[x][y] == -2 && bUp1[x][y+1] != -2 ) {
  136. b = bUp1[x][y+1];
  137. bUp1[x][y] = b;
  138. }
  139. }
  140. if( y+2 < 12 && y > 1) {
  141. if(bUp1[x][y] == -2 && bUp1[x][y+1] == -2 && bUp1[x][y+2] != -2) {
  142. b = bUp1[x][y+2];
  143. bUp1[x][y] = b;
  144. }
  145. }
  146. if( y+3 < 12 && y > 1) {
  147. if(bUp1[x][y] == -2 && bUp1[x][y+1] == -2 && bUp1[x][y+2] == -2 && bUp1[x][y+3] != -2) {
  148. b = bUp1[x][y+3];
  149. bUp1[x][y] = b;
  150. }
  151. }
  152. }
  153. }
  154. }
  155. return bUp1;
  156. }
  157.  
  158. public static int[][] cloneArray(int[][] src) {
  159. int length = src.length;
  160. int[][] target = new int[length][src[0].length];
  161. for (int i = 0; i < length; i++) {
  162. System.arraycopy(src[i], 0, target[i], 0, src[i].length);
  163. }
  164. return target;
  165. }
  166.  
  167. public static void prntarray(int[][] a) {
  168. for (int x = 1; x <= 6; x++) {
  169. for (int y = 1; y <= 12; y++) {
  170. System.out.print(" " + a[x][y]);
  171. }
  172. System.out.println("");
  173. }
  174. System.out.println("");
  175. }
  176.  
  177. public static int Judge(int[][] a,int x,int y) {
  178. int score1 = 0;
  179. int score2;
  180. int cd = 0;
  181. if(x < 6 && x > 1) {
  182. if( x+2 < 6 && x > 1) {
  183. if(a[x][y] == a[x+1][y] && a[x][y] == a[x+2][y]) {
  184. score1 = score1 + 3;
  185. } else if(a[x][y] == a[x-1][y] && a[x][y] == a[x-2][y]) {
  186. score1 = score1 +3;
  187. }
  188. if( x+1 < 6 && x > 1) {
  189. if(a[x][y] == a[x-1][y] && a[x][y] == a[x+1][y]) {
  190. score1 = score1 +3;
  191. }
  192. }
  193. }
  194.  
  195. if(y < 12 && y > 1) {
  196. if( y+2 < 12 && y > 1) {
  197. if(a[x][y] == a[x][y+1] && a[x][y] == a[x][y+2]) {
  198. score1 = score1 + 3;
  199. } else if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y-2]) {
  200. score1 = score1 +3;
  201. }
  202. if( y+1 < 12 && y > 1) {
  203. if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y+1]) {
  204. score1 = score1 +3;
  205. }
  206. }
  207. if( y+2 < 12 && y > 1) {
  208. if(a[x][y] == a[x][y-1] && a[x][y] == a[x][y-2] && a[x][y] == a[x][y+1]) {
  209. score1 = score1 +4;
  210. }
  211. }
  212. if( y+2 < 12 && y > 1) {
  213. if(a[x][y] == a[x][y+1] && a[x][y] == a[x][y+2] && a[x][y] == a[x][y-1]) {
  214. score1 = score1 +4;
  215. }
  216. }
  217. if(score1 != cd) {
  218. score2 = score1;
  219. score1 = 0;
  220. return score2;
  221. }
  222. }
  223. }
  224. }
  225. return 0;
  226. }
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement