Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class KnightsTour1RChangPeriod4 {
- int counter = 1;
- int row,col;
- int[] across = {1,2,2,1,-1,-2,-2,-1};
- int[] vertical = {-2,-1,1,2,2,1,-1,-2};
- int[][] board = new int[8][8];
- ArrayList<Integer> indexArray = new ArrayList<Integer>();
- Random rand = new Random();
- public int possible() {
- indexArray.clear();
- for(int i = 0;i<8;i++) {
- if (board[row+vertical[i]][col + across[i]] == 0) {
- indexArray.add(i);
- }
- }
- if(indexArray.size() >= 1){
- return indexArray.get(rand.nextInt(indexArray.size()));
- }
- else{
- return -1;
- }
- }
- public void run() {
- do {
- possible();
- if(board[row][col] == 0) {
- board[row][col] = counter;
- }
- else {
- possible();
- }
- counter++;
- }while(possible() != -1);
- for (int i = 0; i < board.length; i++){
- for (int j = 0; j < board[i].length; j++){
- System.out.print(board[i][j] + " " );
- }
- System.out.println();
- }
- }
- public static void main(String[] args) {
- KnightsTourRChangPeriod4 bo = new KnightsTourRChangPeriod4();
- bo.run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement