Advertisement
Guest User

Untitled

a guest
May 24th, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.56 KB | None | 0 0
  1. boolean[][] blockA = {{true,  false,false,false,  false,false,false,  true},{true,  false,false,false,  true,false,false,  true}};
  2. boolean[][] blockB = {{true,  false,false,false,  false,false,false,  true},{true,  true,false,true,  false,false,true,  true}};
  3. boolean[][] blockC = {{true,  false,false,false,  false,false,true,  true},{true,  true,false,true,  false,false,true,  true}};
  4. boolean[][] blockD = {{true,  true,false,false,  false,false,false,  true},{true,  true,true,true,  true,false,false,  true}};
  5. boolean[][] blockE = {{true,  true,false,false,  false,false,true,  true},{true,  true,true,false,  false,true,true,  true}};
  6. boolean[][] blockF = {{true,  false,false,false,  false,true,true,  true},{true,  true,false,true,  true,true,true,  true}};
  7. boolean[][][] blockTotal = {blockA, blockB, blockC, blockD, blockE, blockF};
  8.  
  9. int uL = 32;
  10.  
  11. color trueGr = color(200, 200, 200);
  12. color falseGr = color(80, 80, 80);
  13.  
  14. void setup() {
  15.   size(1280, 720);
  16.   background(40);
  17.   //frameRate(30);
  18.  
  19.  
  20.  
  21.   boolean[][][] testVert = {blockA, blockB, blockC};
  22.   boolean[][][] testHoriz = {blockD, blockE, blockF};
  23. //  drawArray(createVertGroup(testVert), 1, 1, trueGr, falseGr);
  24. //  drawArray(createHorizGroup(testVert), 10, 1, trueGr, falseGr);
  25. //  drawArray(createVertGroup(testHoriz), 1, 10, trueGr, falseGr);
  26. //  drawArray(createHorizGroup(testHoriz), 10, 10, trueGr, falseGr);
  27.  
  28. }
  29.  
  30. void draw() {
  31. //  for(int i = 0; i < blockTotal.length; i++) {
  32. //    drawArray(blockTotal[i], i*3 + 1, 1, color(200, 200, 200), color(80, 80, 80));
  33. //  }
  34.  
  35. }
  36.  
  37. void drawArray(boolean[][] array, float xPos, float yPos, color trueColor, color falseColor){
  38.   for (int i = 0; i < array.length; i++) {
  39.     for (int j = 0; j < array[0].length; j++) {
  40.       if(array[i][j])
  41.         fill(trueColor);
  42.       else
  43.         fill(falseColor);
  44.       rect((i + xPos)*uL, (j + yPos)*uL, uL, uL);
  45.     }
  46.   }
  47. }
  48.  
  49. boolean[][] createVertGroup(boolean[][][] blockGroup) {
  50.   boolean[][] vertGroup = new boolean[6][8];
  51.  
  52. //  for(int i = 0; i<3; i++) {
  53. //    if(blockGroup[i].length != 2)
  54. //      System.out.println("Error in createVertGroup: Block[" + i + "] is not 2 wide, but " + blockGroup[i].length );
  55. //    if(blockGroup[i][0].length != 8)
  56. //      System.out.println("Error in createVertGroup: Block[" + i + "] is not 8 tall, but " + blockGroup[i][0].length);
  57. //  }
  58.  
  59.   for(int i = 0; i < blockGroup.length; i++){
  60.     for(int j = 0; j < blockGroup[0].length; j++){
  61.       vertGroup[i*blockGroup[i].length + j] = blockGroup[i][j];
  62.     }
  63.   }
  64.   return vertGroup;
  65. }
  66.  
  67. boolean[][] createHorizGroup(boolean[][][] blockGroup) {
  68.   return pivot(createVertGroup(blockGroup));
  69. }
  70.  
  71. boolean[][] pivot(boolean[][] array) {
  72.   boolean[][] pivotedArray = new boolean[array[0].length][array.length];
  73.   for(int i = 0; i < array[0].length; i++)
  74.     for(int j = 0; j< array.length; j++)
  75.       pivotedArray[i][j] = array[j][i];
  76.   return pivotedArray;
  77. }
  78.  
  79. boolean[] flip1D(boolean[] array) {
  80.   boolean[] flippedArray = array.clone();
  81.   for(int i = 0; i < flippedArray.length / 2; i++) {
  82.     boolean temp = flippedArray[i];
  83.     flippedArray[i] = flippedArray[flippedArray.length - i - 1];
  84.     flippedArray[flippedArray.length - i - 1] = temp;
  85.   }
  86.   return flippedArray;
  87. }
  88.  
  89. boolean[][] flip2D(boolean[][] array) {
  90.   boolean[][] flippedArray = array.clone();
  91.   for(int i = 0; i < flippedArray.length / 2; i++) {
  92.     boolean[] temp = flip1D(flippedArray[i]);
  93.     flippedArray[i] = flip1D(flippedArray[flippedArray.length - i - 1]);
  94.     flippedArray[flippedArray.length - i - 1] = temp;
  95.   }
  96.   return flippedArray;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement