Package General

Class PentominoBuilder

java.lang.Object
General.PentominoBuilder

public class PentominoBuilder
extends java.lang.Object
Class responsible for building the pentomino pieces and exporting them to a CSV file
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.util.ArrayList<int[][][]> database  
  • Constructor Summary

    Constructors 
    Constructor Description
    PentominoBuilder()  
  • Method Summary

    Modifier and Type Method Description
    static int[][][] eraseDuplicates​(int[][][] data)
    erase duplicates in a array of matrices the input matrix stays unchanged
    static int[][] eraseEmptySpace​(int[][] data)
    erase rows and columns that only exist of 0
    static int[][] horizontalInverse​(int[][] data)
    inverse the matrix horizontally it makes a copy, the input matrix stays unchanged
    static boolean isEqual​(int[][] data1, int[][] data2)
    check if 2 matrices are equal assuming they have the same size
    static void main​(java.lang.String[] args)  
    static int[][] makeBigger​(int[][] data, int size)
    expands a smaller than size*size matrix to a size*size matrix it makes a copy, the input matrix stays unchanged assuming that the input is smaller than size!!
    static void makeDatabase()
    make the database, created of the basicDatabase
    static int[][] moveToAbove​(int[][] data)
    move matrix to the left above corner doesn't make a copy!
    static int[][] rotate​(int[][] data, int rotation)
    rotate the matrix x amount of times over 90 degrees (assume that the matrix is a square!) it doesn't make a copy, so the return matrix doesn't have to be used
    static int[][] verticalInverse​(int[][] data)
    inverse the matrix vertically it makes a copy, the input matrix stays unchanged

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • database

      public static java.util.ArrayList<int[][][]> database
  • Constructor Details

  • Method Details

    • makeDatabase

      public static void makeDatabase()
      make the database, created of the basicDatabase
    • rotate

      public static int[][] rotate​(int[][] data, int rotation)
      rotate the matrix x amount of times over 90 degrees (assume that the matrix is a square!) it doesn't make a copy, so the return matrix doesn't have to be used
      Parameters:
      data - : the matrix
      rotation - : amount of rotation
      Returns:
      the rotated matrix
    • verticalInverse

      public static int[][] verticalInverse​(int[][] data)
      inverse the matrix vertically it makes a copy, the input matrix stays unchanged
      Parameters:
      data - : the matrix
      Returns:
      the inverted matrix
    • horizontalInverse

      public static int[][] horizontalInverse​(int[][] data)
      inverse the matrix horizontally it makes a copy, the input matrix stays unchanged
      Parameters:
      data - the matrix
      Returns:
      the inverted matrix
    • makeBigger

      public static int[][] makeBigger​(int[][] data, int size)
      expands a smaller than size*size matrix to a size*size matrix it makes a copy, the input matrix stays unchanged assuming that the input is smaller than size!!
      Parameters:
      data - : the matrix
      size - : the square size of the new matrix
      Returns:
      the size*size matrix
    • moveToAbove

      public static int[][] moveToAbove​(int[][] data)
      move matrix to the left above corner doesn't make a copy!
      Parameters:
      data - : the matrix
      Returns:
      the matrix
    • eraseDuplicates

      public static int[][][] eraseDuplicates​(int[][][] data)
      erase duplicates in a array of matrices the input matrix stays unchanged
      Parameters:
      data - the matrix
      Returns:
      the array of matrices without duplicates
    • isEqual

      public static boolean isEqual​(int[][] data1, int[][] data2)
      check if 2 matrices are equal assuming they have the same size
      Parameters:
      data1 - : first matrix
      data2 - : second matrix
      Returns:
      true if equal, false if not equal
    • eraseEmptySpace

      public static int[][] eraseEmptySpace​(int[][] data)
      erase rows and columns that only exist of 0
      Parameters:
      data - the matrix
      Returns:
      the shrinken matrix
    • main

      public static void main​(java.lang.String[] args) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException
      Throws:
      java.io.FileNotFoundException
      java.io.UnsupportedEncodingException