diff --git a/app/src/main/java/controller/GameController.java b/app/src/main/java/controller/GameController.java
index 6f9b1656942e7bbce990486299fc9cdf07b39c86..4c8d0e735b8ac2109d62443398b9d80caf88570c 100644
--- a/app/src/main/java/controller/GameController.java
+++ b/app/src/main/java/controller/GameController.java
@@ -138,8 +138,8 @@ public class GameController {
     @FXML
     public void setPlayerRandom() {
         // TODO
-        //  Player player = ... instantiate  a ComputerPlayer named "random" that follows the random strategy
-        //  game.setPlayer(player);
+//          Player player = ... instantiate  a ComputerPlayer named "random" that follows the random strategy
+//          game.setPlayer(player);
     }
     @FXML
     public void setPlayerRobin() {
diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java
index a68056add9934fd6c12b434b22757cb9623cffa4..12b9f15d1886ae64f51df9e57b71b48ae6ef22dc 100644
--- a/app/src/main/java/model/CellGridIterator.java
+++ b/app/src/main/java/model/CellGridIterator.java
@@ -3,38 +3,77 @@ package model;
 import java.util.Iterator;
 
 public class CellGridIterator implements Iterator<Cell> {
-    public ArrayGrid grid;
-    public int row;
-    public int column;
-
-    CellGridIterator(ArrayGrid grid) {
-    this.grid=grid;
-    this.row=0;
-    this.column=0;
+
+
+    private ArrayGrid grid;
+    private int PrvColmn;
+    private int PrvRow;
+    private int ActColmn;
+    private int ActRow;
+
+
+    CellGridIterator(ArrayGrid grid){
+
+        PrvRow=ActRow=0;
+        PrvColmn=ActColmn=0;
+        this.grid=grid;
+
+
+
     }
 
-    @Override
-    public boolean hasNext() {
-        if((this.row==grid.getNumberOfRows()-1 && this.column==grid.getNumberOfColumns()-1)) {
-            return false;
-        }
-        return true;
+
+
+
+
+
+    public
+    boolean hasNext ( ) {
+        return hasNextRow ()|| hasNextCol ();
+    }
+
+    public
+    Boolean hasNextCol (){
+
+
+        return !(grid.getNumberOfColumns ()==ActColmn);
+
     }
 
-    @Override
-    public Cell next() {
-        if (hasNext()) {
-            if (this.column >= 0 && this.column < grid.getNumberOfColumns()-1) {
-                this.column++;
-            } else if (this.column == grid.getNumberOfColumns()-1 && this.row < grid.getNumberOfRows()-1) {
-                this.column = 0;
-                this.row++;
-            }
-
-            return grid.getCell(row, column);
+    public Boolean hasNextRow(){
+
+
+        return !(grid.getNumberOfRows ()-1==this.ActRow);
+
+    }
+
+
+    public   Cell next ( ) {
+
+        if ( hasNextCol ( ) ) {
+            PrvColmn=ActColmn;
+            ActColmn++;
+            return grid.getCell (PrvRow,PrvColmn );
+
+
+        }
+        if ( hasNextRow ( ) ) {
+            ActRow++;
+
+            ActColmn=1;
+            PrvColmn=0;
+
+
+            PrvRow=ActRow;
+
+            return grid.getCell ( PrvRow , PrvColmn );
+
+
         }
         return null;
+
     }
 
 
+
 }
diff --git a/app/src/main/java/model/ComputerPlayer.java b/app/src/main/java/model/ComputerPlayer.java
index 71ba3804c464f0c8ad3ea74fe80aca497c8b9573..44226c099133ee376d4dcaaad86bb047306aafba 100644
--- a/app/src/main/java/model/ComputerPlayer.java
+++ b/app/src/main/java/model/ComputerPlayer.java
@@ -8,6 +8,7 @@ import java.util.List;
 public class ComputerPlayer implements Player{
     private    String name;
     private    Cell startCell;
+    private PlayStrategy strategy;
     ComputerPlayer(String name, Cell startCell){
         this.name=name;
         this.startCell=startCell;
@@ -16,8 +17,7 @@ public class ComputerPlayer implements Player{
     ComputerPlayer(String name, Cell startCell,PlayStrategy strategy){
         this.name=name;
         this.startCell=startCell;
-        strategy.play(startCell);
-
+        this.strategy=strategy;
     }
 
 
diff --git a/app/src/main/java/model/FloodGame.java b/app/src/main/java/model/FloodGame.java
index c9eb4bb25a1f66563bf7d6db19fe71e468652c75..5190aed02ab9eb6ed5715b6da67cddd823d33db1 100644
--- a/app/src/main/java/model/FloodGame.java
+++ b/app/src/main/java/model/FloodGame.java
@@ -56,13 +56,13 @@ public class FloodGame {
     }
 
     public boolean hasWon(Player player) {
-        if (Flooder.coloredArea(player.getStartCell()) == totalFloodingArea-1) {
+        if (Flooder.coloredArea(player.getStartCell()) == totalFloodingArea) {
             return true;
         }
         return false;
     }
     public boolean hasEnded(){
-        return (hasWon(player)||getPlayerScore(player)==1);
+        return (hasWon(player)||getPlayerScore(player)==0);
     }
 
 }