Skip to content
Snippets Groups Projects
ArrayGrid.java 1.23 KiB
Newer Older
  • Learn to ignore specific revisions
  • SAIDI Hatim's avatar
    SAIDI Hatim committed
    package model;
    
    public class ArrayGrid implements Grid{
    
        private Cell[][] cells;
        private final  int numberOfRows ;
        private final int numberOfColumns ;
    
    
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
        public ArrayGrid(int numberOfRows,int numberOfColumns) {
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
            this.numberOfRows = numberOfRows;
            this.numberOfColumns = numberOfColumns;
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
            if (numberOfColumns <= 0 || numberOfRows <= 0) {
                throw new IllegalArgumentException();
                    }
            else {
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
                for (int j = 0; j < this.numberOfColumns; j++) {
                    for (int i = 0; i < this.numberOfRows; i++) {
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
                        cells[i][j] = new SquareCell();
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
                    }
                }
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
            }
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
        }
    
        public Cell getCell(int row, int column) {
            return this.cells[row][column];
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
        }
    
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
        public int getNumberOfRows(){
            return this.numberOfRows;
        }
        public int getNumberOfColumns(){
            return  this.numberOfColumns;
        }
    
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
        public void color(ColorGenerator colorGenerator){
            for (int j = 0; j < this.numberOfColumns; j++) {
                for (int i = 0; i < this.numberOfRows; i++) {
                   SquareCell cell = new SquareCell();
                   cells[i][j].setColor(colorGenerator.nextColor(cell));
                }
            }
    
    
        }
    
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
    
    
    SAIDI Hatim's avatar
    SAIDI Hatim committed
    }