Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Piece;
- import java.util.Random;
- import java.util.Arrays;
- public class PiecePart {
- private boolean[][] pieceCoordinate;
- private Random randomVar=new Random();
- private int rotationConfig;
- private int pieceConfig;
- //end of define variable;
- public PiecePart(){
- rotationConfig = randomVar.nextInt(5);
- pieceConfig = randomVar.nextInt(7);
- //init piece form and kind define
- initCoordinate();
- settingPiece(pieceConfig);
- pieceRotation(rotationConfig);
- }//end of constructor;
- private void initCoordinate(){
- pieceCoordinate = new boolean[4][4];
- for(int i=0;i<4;i++){
- Arrays.fill(pieceCoordinate[i],false);
- }//end of pieceCoordinate variable all false;
- }//end of initCoordinate function;
- private void settingPiece(int blockConfig){
- //kind of piece is 7
- switch(blockConfig){
- case 0:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[1][2]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[2][2]=true;
- break;
- }//end of setting O piece
- case 1:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[2][2]=true;
- pieceCoordinate[2][3]=true;
- break;
- }//end of setting J piece
- case 2:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[1][2]=true;
- pieceCoordinate[1][3]=true;
- break;
- }//end of setting L piece
- case 3:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[1][2]=true;
- pieceCoordinate[0][2]=true;
- break;
- }//end of setting Z piece
- case 4:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[2][2]=true;
- pieceCoordinate[3][2]=true;
- break;
- }//end of setting S piece
- case 5:{
- pieceCoordinate[2][0]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[2][2]=true;
- pieceCoordinate[2][3]=true;
- break;
- }//end of setting I piece
- case 6:{
- pieceCoordinate[1][1]=true;
- pieceCoordinate[2][1]=true;
- pieceCoordinate[2][2]=true;
- pieceCoordinate[3][1]=true;
- break;
- }//end of setting T piece
- }//end of switch
- }//end of setting piece
- private void pieceRotation(int cycleNum){
- while(cycleNum!=0){
- boolean tempData1=pieceCoordinate[2][2];
- boolean tempData2=pieceCoordinate[3][2];
- boolean tempData3=pieceCoordinate[3][3];
- boolean tempData4=pieceCoordinate[2][3];
- //save coordinateData 3
- pieceCoordinate[2][2]=pieceCoordinate[1][2];
- pieceCoordinate[3][2]=pieceCoordinate[1][3];
- pieceCoordinate[3][3]=pieceCoordinate[0][3];
- pieceCoordinate[2][3]=pieceCoordinate[0][2];
- //3<-2
- pieceCoordinate[1][2]=pieceCoordinate[1][1];
- pieceCoordinate[1][3]=pieceCoordinate[0][1];
- pieceCoordinate[0][3]=pieceCoordinate[0][0];
- pieceCoordinate[0][2]=pieceCoordinate[1][0];
- //2<-1
- pieceCoordinate[1][1]=pieceCoordinate[2][1];
- pieceCoordinate[0][1]=pieceCoordinate[2][0];
- pieceCoordinate[0][0]=pieceCoordinate[3][0];
- pieceCoordinate[1][0]=pieceCoordinate[3][1];
- //1<-0
- pieceCoordinate[2][1]=tempData1;
- pieceCoordinate[2][0]=tempData2;
- pieceCoordinate[3][0]=tempData3;
- pieceCoordinate[3][1]=tempData4;
- //0<-3(tempData)
- cycleNum--;
- }//end of while
- }//end of Transform
- public void display(){
- for(int i =0;i<4;i++){
- for(int j=0;j<4;j++){
- if(pieceCoordinate[i][j]) System.out.print("1 ");
- else System.out.print("0 ");
- }
- System.out.println();
- }
- }//end of display current block coordinate
- public boolean pieceCoordinateValue(int x,int y){
- return pieceCoordinate[x][y];
- }
- }//end of PiecePart class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement