Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class KnightsTour1RChangPeriod4 {
  4. int counter = 1;
  5. int row,col;
  6. int[] across = {1,2,2,1,-1,-2,-2,-1};
  7. int[] vertical = {-2,-1,1,2,2,1,-1,-2};
  8. int[][] board = new int[8][8];
  9. ArrayList<Integer> indexArray = new ArrayList<Integer>();
  10. Random rand = new Random();
  11.  
  12.  
  13. public int possible() {
  14. indexArray.clear();
  15.  
  16. for(int i = 0;i<8;i++) {
  17. if (board[row+vertical[i]][col + across[i]] == 0) {
  18. indexArray.add(i);
  19. }
  20. }
  21.  
  22. if(indexArray.size() >= 1){
  23. return indexArray.get(rand.nextInt(indexArray.size()));
  24. }
  25.  
  26. else{
  27. return -1;
  28. }
  29.  
  30. }
  31.  
  32.  
  33. public void run() {
  34.  
  35. do {
  36. possible();
  37. if(board[row][col] == 0) {
  38.  
  39. board[row][col] = counter;
  40. }
  41. else {
  42. possible();
  43. }
  44. counter++;
  45.  
  46.  
  47. }while(possible() != -1);
  48.  
  49. for (int i = 0; i < board.length; i++){
  50. for (int j = 0; j < board[i].length; j++){
  51. System.out.print(board[i][j] + " " );
  52. }
  53. System.out.println();
  54. }
  55.  
  56. }
  57.  
  58. public static void main(String[] args) {
  59. KnightsTourRChangPeriod4 bo = new KnightsTourRChangPeriod4();
  60.  
  61. bo.run();
  62.  
  63.  
  64. }
  65.  
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement