2023-03-21 14:14:39 +01:00

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;
}
}