Advertisement
calcpage

Chess960V2.java

Mar 1st, 2012
561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.44 KB | None | 0 0
  1. /*
  2. Chess960V2.java     MrG     2012.0301
  3. purpose:    randomly find one 960 Fischer Random Chess Board refactoring version 1
  4. required file:  chess960V2.java             main class
  5. translator: javac chess960V2.java
  6. interpreter:    java chess960V2
  7. */
  8.  
  9. //imported classes
  10. import java.util.Random;
  11.  
  12. //main class
  13. public class Chess960V2
  14. {
  15.     public static final int BOARD_SIZE = 8;
  16.     public static final int EVE = 0;
  17.     public static final int ODD = 1;
  18.     public static void main(String[] args)
  19.     {
  20.         String[] whitePieces = new String[BOARD_SIZE];
  21.         setBishop(whitePieces,EVE);
  22.         setBishop(whitePieces,ODD);
  23.         setRandom(whitePieces,"Q");
  24.         setRandom(whitePieces,"N");
  25.         setRandom(whitePieces,"N");
  26.         setFirstOpen(whitePieces,"R");
  27.         setFirstOpen(whitePieces,"K");
  28.         setFirstOpen(whitePieces,"R");
  29.         System.out.println(toString(whitePieces));
  30.     }
  31.  
  32.     public static void setFirstOpen(String[] wP, String piece)
  33.     {
  34.         int pos = 0;
  35.         while(wP[pos]!=null)
  36.         {
  37.             pos++;
  38.         }
  39.         wP[pos]=piece;
  40.     }
  41.  
  42.     public static void setRandom(String[] wP, String piece)
  43.     {
  44.         int pos;
  45.         Random die = new Random();
  46.         do
  47.         {
  48.             pos=die.nextInt(BOARD_SIZE);
  49.         }
  50.         while(wP[pos]!=null);
  51.         wP[pos]=piece;
  52.     }
  53.  
  54.     public static void setBishop(String[] wP, int offset)
  55.     {
  56.         Random die = new Random();
  57.         wP[offset+die.nextInt(4)*2]="B";
  58.     }
  59.  
  60.     public static String toString(String[] wP)
  61.     {
  62.         String temp = "";
  63.         for(int k=0; k<wP.length; k++)
  64.         {
  65.             temp += wP[k];
  66.         }
  67.         return temp;
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement