Advertisement
Kaseil

Mino

Mar 22nd, 2023
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.58 KB | None | 0 0
  1. package Piece;
  2. import java.util.Random;
  3. import java.util.Arrays;
  4. public class PiecePart {
  5.     private boolean[][] pieceCoordinate;
  6.     private Random randomVar=new Random();
  7.     private int rotationConfig;
  8.     private int pieceConfig;
  9.     //end of define variable;
  10.  
  11.     public PiecePart(){
  12.         rotationConfig = randomVar.nextInt(5);
  13.         pieceConfig = randomVar.nextInt(7);
  14.         //init piece form and kind define
  15.  
  16.         initCoordinate();
  17.         settingPiece(pieceConfig);
  18.         pieceRotation(rotationConfig);
  19.     }//end of constructor;
  20.  
  21.     private void initCoordinate(){
  22.         pieceCoordinate = new boolean[4][4];
  23.  
  24.         for(int i=0;i<4;i++){
  25.             Arrays.fill(pieceCoordinate[i],false);
  26.         }//end of pieceCoordinate variable all false;
  27.        
  28.     }//end of initCoordinate function;
  29.     private void settingPiece(int blockConfig){
  30.         //kind of piece is 7
  31.         switch(blockConfig){
  32.             case 0:{
  33.                 pieceCoordinate[1][1]=true;
  34.                 pieceCoordinate[1][2]=true;
  35.                 pieceCoordinate[2][1]=true;
  36.                 pieceCoordinate[2][2]=true;
  37.                 break;
  38.             }//end of setting O piece
  39.             case 1:{
  40.                 pieceCoordinate[1][1]=true;
  41.                 pieceCoordinate[2][1]=true;
  42.                 pieceCoordinate[2][2]=true;
  43.                 pieceCoordinate[2][3]=true;
  44.                 break;
  45.             }//end of setting J piece
  46.             case 2:{
  47.                 pieceCoordinate[1][1]=true;
  48.                 pieceCoordinate[2][1]=true;
  49.                 pieceCoordinate[1][2]=true;
  50.                 pieceCoordinate[1][3]=true;
  51.                 break;
  52.             }//end of setting L piece
  53.             case 3:{
  54.                 pieceCoordinate[1][1]=true;
  55.                 pieceCoordinate[2][1]=true;
  56.                 pieceCoordinate[1][2]=true;
  57.                 pieceCoordinate[0][2]=true;
  58.                 break;
  59.             }//end of setting Z piece
  60.             case 4:{
  61.                 pieceCoordinate[1][1]=true;
  62.                 pieceCoordinate[2][1]=true;
  63.                 pieceCoordinate[2][2]=true;
  64.                 pieceCoordinate[3][2]=true;
  65.                 break;
  66.             }//end of setting S piece
  67.             case 5:{
  68.                 pieceCoordinate[2][0]=true;
  69.                 pieceCoordinate[2][1]=true;
  70.                 pieceCoordinate[2][2]=true;
  71.                 pieceCoordinate[2][3]=true;
  72.                 break;
  73.             }//end of setting I piece
  74.             case 6:{
  75.                 pieceCoordinate[1][1]=true;
  76.                 pieceCoordinate[2][1]=true;
  77.                 pieceCoordinate[2][2]=true;
  78.                 pieceCoordinate[3][1]=true;
  79.                 break;
  80.             }//end of setting T piece
  81.         }//end of switch
  82.     }//end of setting piece
  83.     private void pieceRotation(int cycleNum){
  84.         while(cycleNum!=0){
  85.             boolean tempData1=pieceCoordinate[2][2];
  86.             boolean tempData2=pieceCoordinate[3][2];
  87.             boolean tempData3=pieceCoordinate[3][3];
  88.             boolean tempData4=pieceCoordinate[2][3];
  89.             //save coordinateData 3
  90.  
  91.             pieceCoordinate[2][2]=pieceCoordinate[1][2];
  92.             pieceCoordinate[3][2]=pieceCoordinate[1][3];
  93.             pieceCoordinate[3][3]=pieceCoordinate[0][3];
  94.             pieceCoordinate[2][3]=pieceCoordinate[0][2];
  95.             //3<-2
  96.  
  97.             pieceCoordinate[1][2]=pieceCoordinate[1][1];
  98.             pieceCoordinate[1][3]=pieceCoordinate[0][1];
  99.             pieceCoordinate[0][3]=pieceCoordinate[0][0];
  100.             pieceCoordinate[0][2]=pieceCoordinate[1][0];
  101.             //2<-1
  102.  
  103.             pieceCoordinate[1][1]=pieceCoordinate[2][1];
  104.             pieceCoordinate[0][1]=pieceCoordinate[2][0];
  105.             pieceCoordinate[0][0]=pieceCoordinate[3][0];
  106.             pieceCoordinate[1][0]=pieceCoordinate[3][1];
  107.             //1<-0
  108.  
  109.             pieceCoordinate[2][1]=tempData1;
  110.             pieceCoordinate[2][0]=tempData2;
  111.             pieceCoordinate[3][0]=tempData3;
  112.             pieceCoordinate[3][1]=tempData4;
  113.             //0<-3(tempData)
  114.  
  115.             cycleNum--;
  116.         }//end of while
  117.     }//end of Transform
  118.  
  119.     public void display(){
  120.         for(int i =0;i<4;i++){
  121.             for(int j=0;j<4;j++){
  122.                 if(pieceCoordinate[i][j]) System.out.print("1 ");
  123.                 else System.out.print("0 ");
  124.             }
  125.             System.out.println();
  126.         }
  127.     }//end of display current block coordinate
  128.  
  129.     public boolean pieceCoordinateValue(int x,int y){
  130.         return pieceCoordinate[x][y];
  131.     }
  132. }//end of PiecePart class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement