Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- boolean[][] blockA = {{true, false,false,false, false,false,false, true},{true, false,false,false, true,false,false, true}};
- boolean[][] blockB = {{true, false,false,false, false,false,false, true},{true, true,false,true, false,false,true, true}};
- boolean[][] blockC = {{true, false,false,false, false,false,true, true},{true, true,false,true, false,false,true, true}};
- boolean[][] blockD = {{true, true,false,false, false,false,false, true},{true, true,true,true, true,false,false, true}};
- boolean[][] blockE = {{true, true,false,false, false,false,true, true},{true, true,true,false, false,true,true, true}};
- boolean[][] blockF = {{true, false,false,false, false,true,true, true},{true, true,false,true, true,true,true, true}};
- boolean[][][] blockTotal = {blockA, blockB, blockC, blockD, blockE, blockF};
- int uL = 32;
- color trueGr = color(200, 200, 200);
- color falseGr = color(80, 80, 80);
- void setup() {
- size(1280, 720);
- background(40);
- //frameRate(30);
- boolean[][][] testVert = {blockA, blockB, blockC};
- boolean[][][] testHoriz = {blockD, blockE, blockF};
- // drawArray(createVertGroup(testVert), 1, 1, trueGr, falseGr);
- // drawArray(createHorizGroup(testVert), 10, 1, trueGr, falseGr);
- // drawArray(createVertGroup(testHoriz), 1, 10, trueGr, falseGr);
- // drawArray(createHorizGroup(testHoriz), 10, 10, trueGr, falseGr);
- }
- void draw() {
- // for(int i = 0; i < blockTotal.length; i++) {
- // drawArray(blockTotal[i], i*3 + 1, 1, color(200, 200, 200), color(80, 80, 80));
- // }
- }
- void drawArray(boolean[][] array, float xPos, float yPos, color trueColor, color falseColor){
- for (int i = 0; i < array.length; i++) {
- for (int j = 0; j < array[0].length; j++) {
- if(array[i][j])
- fill(trueColor);
- else
- fill(falseColor);
- rect((i + xPos)*uL, (j + yPos)*uL, uL, uL);
- }
- }
- }
- boolean[][] createVertGroup(boolean[][][] blockGroup) {
- boolean[][] vertGroup = new boolean[6][8];
- // for(int i = 0; i<3; i++) {
- // if(blockGroup[i].length != 2)
- // System.out.println("Error in createVertGroup: Block[" + i + "] is not 2 wide, but " + blockGroup[i].length );
- // if(blockGroup[i][0].length != 8)
- // System.out.println("Error in createVertGroup: Block[" + i + "] is not 8 tall, but " + blockGroup[i][0].length);
- // }
- for(int i = 0; i < blockGroup.length; i++){
- for(int j = 0; j < blockGroup[0].length; j++){
- vertGroup[i*blockGroup[i].length + j] = blockGroup[i][j];
- }
- }
- return vertGroup;
- }
- boolean[][] createHorizGroup(boolean[][][] blockGroup) {
- return pivot(createVertGroup(blockGroup));
- }
- boolean[][] pivot(boolean[][] array) {
- boolean[][] pivotedArray = new boolean[array[0].length][array.length];
- for(int i = 0; i < array[0].length; i++)
- for(int j = 0; j< array.length; j++)
- pivotedArray[i][j] = array[j][i];
- return pivotedArray;
- }
- boolean[] flip1D(boolean[] array) {
- boolean[] flippedArray = array.clone();
- for(int i = 0; i < flippedArray.length / 2; i++) {
- boolean temp = flippedArray[i];
- flippedArray[i] = flippedArray[flippedArray.length - i - 1];
- flippedArray[flippedArray.length - i - 1] = temp;
- }
- return flippedArray;
- }
- boolean[][] flip2D(boolean[][] array) {
- boolean[][] flippedArray = array.clone();
- for(int i = 0; i < flippedArray.length / 2; i++) {
- boolean[] temp = flip1D(flippedArray[i]);
- flippedArray[i] = flip1D(flippedArray[flippedArray.length - i - 1]);
- flippedArray[flippedArray.length - i - 1] = temp;
- }
- return flippedArray;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement