From 6095ac426bdd6f4ea8108597a661830fd325b756 Mon Sep 17 00:00:00 2001
From: r20004714 <andrianinarisaina-cy.RAKOTOARISOA@etu.univ-amu.fr>
Date: Fri, 18 Nov 2022 21:08:36 +0100
Subject: [PATCH] =?UTF-8?q?T=C3=A2che=209(12.1)=20:=20Cr=C3=A9ation=20de?=
 =?UTF-8?q?=20la=20classe=20ComputerPlayer,=20avec=20ses=20attributs=20(St?=
 =?UTF-8?q?ring=20name)=20et=20(Cell=20startCell)=20,sa=20m=C3=A9thode=20"?=
 =?UTF-8?q?public=20Color=20play()"=20et=20toutes=20les=20m=C3=A9thodes=20?=
 =?UTF-8?q?=C3=A0=20impl=C3=A9menter=20depuis=20l'interface=20Player.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/src/main/java/model/ComputerPlayer.java | 35 +++++++++++++++++++++
 app/src/main/java/model/FloodGame.java      |  4 +--
 app/src/main/java/model/HumanPlayer.java    |  6 ++--
 app/src/main/java/model/Player.java         |  6 ++--
 4 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 app/src/main/java/model/ComputerPlayer.java

diff --git a/app/src/main/java/model/ComputerPlayer.java b/app/src/main/java/model/ComputerPlayer.java
new file mode 100644
index 0000000..891d36f
--- /dev/null
+++ b/app/src/main/java/model/ComputerPlayer.java
@@ -0,0 +1,35 @@
+package model;
+import javafx.scene.paint.Color;
+
+public class ComputerPlayer implements Player{
+
+    String name ;
+    Cell startCell ;
+
+    //Demandée par l'exercice
+    //Cette méthode renverra une couleur qui correspond à celle choisie par le joueur
+    public Color play() {
+        return Player.getStartCell().getColor();
+    }
+
+    @Override
+    public void setName(String name) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public String getName() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    //Méthode de l'interface Player
+    public static Cell getStartCell() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public boolean isHuman() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+}
diff --git a/app/src/main/java/model/FloodGame.java b/app/src/main/java/model/FloodGame.java
index 818b547..b437847 100644
--- a/app/src/main/java/model/FloodGame.java
+++ b/app/src/main/java/model/FloodGame.java
@@ -61,10 +61,10 @@ public class FloodGame {
         // TODO
         Set<Cell> pendingCells = new HashSet();
         int Cellcount = 0 ;
-        pendingCells.add(this.player.getStartCell())  ;
+        pendingCells.add(Player.getStartCell())  ;
 
 
-        while (player.getStartCell().iterator().hasNext()) {
+        while (Player.getStartCell().iterator().hasNext()) {
             pendingCells.add(pendingCells.iterator().next()) ;
             Cellcount++;
         }
diff --git a/app/src/main/java/model/HumanPlayer.java b/app/src/main/java/model/HumanPlayer.java
index 65f9e1e..df47699 100644
--- a/app/src/main/java/model/HumanPlayer.java
+++ b/app/src/main/java/model/HumanPlayer.java
@@ -29,14 +29,12 @@ public class HumanPlayer implements Player {
         return this.name ;
     }
 
-    // Cette méthode retourne la cellule de départ qui a été attribué au joueur.
-    @Override
+    // Cette méthode returner la cellule de départ qui a été attribué au joueur.
     public Cell getStartCell() {
         return null;
     }
 
-    // Cette méthode détermine si ce joueur est contrôlé par un humain ou par l’ordinateur.
-
+    // Cette méthode determine si ce joueur est contrôlé par un humain ou par l’ordinateur.
     public boolean isHuman() {
         if (this.name == "player") return true ;
         else return false ;
diff --git a/app/src/main/java/model/Player.java b/app/src/main/java/model/Player.java
index cbe02a8..1fd458d 100644
--- a/app/src/main/java/model/Player.java
+++ b/app/src/main/java/model/Player.java
@@ -6,8 +6,10 @@ public interface Player {
     void setName(String name) ;       //Cette méthode permet de modifier le nom du joueur.
     String getName();                 //Cette méthode permet de récupérer le nom du joueur
 
-    //Donnée par le sujet
-    Cell getStartCell() ;            //Cette méthode retourne la cellule de départ qui a été attribué au joueur
+    // Cette méthode returner la cellule de départ qui a été attribué au joueur.
+    static Cell getStartCell() {
+        return null;
+    }
 
     //Méthode qui a déjà été fournie
     boolean isHuman();
-- 
GitLab