44 lines
966 B
Java
44 lines
966 B
Java
package school_project;
|
|
|
|
|
|
/**
|
|
* Base class for everything that is a shape kind, like map and pieces
|
|
* it contain a matrix of boolean where the shape is defined by the true's
|
|
*/
|
|
public class Shape {
|
|
|
|
protected boolean[][] matrix;
|
|
protected int height, width;
|
|
|
|
public Shape() {
|
|
matrix = new boolean[0][0];
|
|
}
|
|
|
|
public Shape(boolean[][] matrix){
|
|
this.setShape(matrix);
|
|
}
|
|
|
|
public void setShape(boolean[][] matrix) throws IllegalArgumentException{
|
|
height = matrix.length;
|
|
width = matrix[0].length;
|
|
|
|
for (boolean[] row: matrix){
|
|
if(row.length != width){
|
|
throw new IllegalArgumentException("The argument should be a square matrix");
|
|
}
|
|
}
|
|
this.matrix = matrix;
|
|
}
|
|
|
|
public int getHeight() {
|
|
return height;
|
|
}
|
|
|
|
public int getWidth() {
|
|
return width;
|
|
}
|
|
|
|
public boolean[][] getShape() {
|
|
return matrix;
|
|
}
|
|
} |