Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /*
  2. Chess960V4.java     MrG     2012.0227
  3. purpose:    reads 960.txt and prints 1 random board
  4. required files: Chess960V4.java             main class
  5.         EasyReader.java             file I/O class
  6. translator: javac Chess960V4.java
  7. interpreter:    java Chess960V4
  8. */
  9.  
  10. //imported classes
  11. import java.util.Random;
  12. import java.util.Scanner;
  13.  
  14. //main class
  15. public class Chess960V4
  16. {
  17.     public static final int NUM_BOARDS = 960;
  18.     public static final int SIZE = 8;
  19.     public static void main(String[] args)
  20.     {
  21.         Scanner in = new Scanner(System.in);
  22.         String[][] board = new String[SIZE][SIZE];
  23.  
  24.         Random pick = new Random();
  25.         int choice = pick.nextInt(NUM_BOARDS-1)+1; 
  26.  
  27.         String temp = "";
  28.         EasyReader ross = new EasyReader("960.txt");       
  29.         for(int i = 0; i<choice; i++)
  30.         {
  31.             temp = ross.readLine();
  32.         }
  33.         System.out.println(temp);
  34.         System.out.println(temp.length());     
  35.         initBoard(temp, board);
  36.         System.out.println(toString(board));
  37.         while(true)
  38.         {
  39.             System.out.print("enter r1: ");
  40.             int r1=in.nextInt();
  41.             System.out.print("enter c1: ");
  42.             int c1=in.nextInt();
  43.             System.out.print("enter r2: ");
  44.             int r2=in.nextInt();
  45.             System.out.print("enter c2: ");
  46.             int c2=in.nextInt();
  47.             move(r1,c1,r2,c2,board);
  48.             System.out.println(toString(board));
  49.         }
  50.     }
  51.  
  52.     public static void move(int r1, int c1, int r2, int c2, String [][] board)
  53.     {
  54.         board[7-r2][c2] = board[7-r1][c1];
  55.         board[7-r1][c1] = null;
  56.     }
  57.  
  58.     public static void initBoard(String in, String[][] out)
  59.     {
  60.         for(int c = 0; c<SIZE; c++)
  61.         {
  62.             out[0][c]=in.substring(c+in.length()-8,c+in.length()-7).toLowerCase();
  63.             out[1][c]="p";
  64.             out[6][c]="P";
  65.             out[7][c]=in.substring(c+in.length()-8,c+in.length()-7);
  66.         }  
  67.     }
  68.  
  69.     public static String toString(String[][] out)
  70.     {
  71.         String temp = "";
  72.         for(int r = 0; r<SIZE; r++)
  73.         {
  74.             temp += 7-r+"||";
  75.             for(int c = 0; c<SIZE; c++)
  76.             {
  77.                 if(out[r][c]==null)
  78.                 {
  79.                     temp += " _ ";
  80.                 }
  81.                 else
  82.                 {
  83.                     temp += " "+out[r][c]+" ";
  84.                 }
  85.             }
  86.             temp += "\n\n";
  87.         }      
  88.         temp += "   ========================\n";
  89.         temp += "    0  1  2  3  4  5  6  7 ";
  90.         return temp;
  91.     }
  92. }