From 40e52b8e76902b99ee2dd49ec1b5cd906c9737c1 Mon Sep 17 00:00:00 2001 From: Hang <thi-hang.NGUYEN@etu.univ-amu.fr> Date: Wed, 9 Nov 2022 16:55:50 +0100 Subject: [PATCH] THN --- app/src/main/java/model/ArrayGrid.java | 2 +- app/src/main/java/model/CellGridIterator.java | 26 ++++++++----------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java index 93644e7..0ce83d7 100644 --- a/app/src/main/java/model/ArrayGrid.java +++ b/app/src/main/java/model/ArrayGrid.java @@ -33,6 +33,6 @@ public class ArrayGrid implements Grid{ } } public Iterator<Cell> iterator(){ - return new CellGridIterator(); + return new CellGridIterator(this); } } diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java index 4c79080..04199f3 100644 --- a/app/src/main/java/model/CellGridIterator.java +++ b/app/src/main/java/model/CellGridIterator.java @@ -2,29 +2,25 @@ package model; public class CellGridIterator implements Iterator<Cell>{ ArrayGrid grid; - Iterator<Cell> it=grid.iterator(); int indixRow; int indixColum; public CellGridIterator(ArrayGrid grid) { this.grid = grid; + this.indixColum=0; + this.indixRow=0; } - public SquareCell next() { - int i = 0; - while (i < grid.getNumberOfRows()) { - - while (it.hasNext()) { - return it.next(); - } - i++; + public Cell next() { + final Cell result = grid.getCell(indixRow, indixColum); + indixColum = (indixColum +1) % grid.getNumberOfColumns(); + if(indixColum == 0){ + indixRow++; } - } - public boolean hasNext( ){ - int n; - - if(n>= grid.getNumberOfColumns()|| n>= grid.getNumberOfRows()) return false; - + return result; } + public boolean hasNext(){ + return this.indixColum < this.grid.getNumberOfColumns() && indixRow < this.grid.getNumberOfRows(); + } } -- GitLab