From 0f0fdfc047feecd1668353377291614c8f6c7c0b Mon Sep 17 00:00:00 2001
From: Paul RIPAULT <ripaultp@frene21.iut-infobio.priv.univ-lille1.fr>
Date: Wed, 2 Sep 2020 09:33:13 +0200
Subject: [PATCH] =?UTF-8?q?Interface=20avec=20menu=20fini,=20bug=20s=C3=A9?=
 =?UTF-8?q?lection=20d'unit=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/Interface.java | 90 ++++++++++++++++++++++-------------------
 src/main/Main.java      | 15 +++++--
 src/main/Scan.java      |  4 +-
 3 files changed, 62 insertions(+), 47 deletions(-)

diff --git a/src/main/Interface.java b/src/main/Interface.java
index bd594da..6dcde0a 100644
--- a/src/main/Interface.java
+++ b/src/main/Interface.java
@@ -4,62 +4,68 @@ import units.Unite;
 
 public class Interface {
 	private static int rep = 0;
-	public static boolean start() {
+	public static int start() {
 		System.out.println("Bienvenu sur Game of Crown"); 
 		System.out.println("Veuillez choisir l'une des trois options suivantes en tapant le numéro correspondant dans le terminal");
 		System.out.println("1: Commencer une partie");
 		System.out.println("2: Consulter les règles");
 		System.out.println("3: Quitter le jeu");
-		rep = Scan.scan(3);
-		if(rep==1) {
-			return true;
-		}else if(rep==2) {
-			System.out.println("Le but du jeu est de prendre la couronne situé sur une case aléatoire \ndu terrain et de la ramener dans son camp ou de détruire l'armée de \nson adversaire");
-		}else if(rep==3) {
-			return false;
-		}
-		return false;
+			rep = Scan.scan(3);
+			if(rep==2) {
+				System.out.println("\nLe but du jeu est de prendre la couronne situé sur une case aléatoire \ndu terrain et de la ramener dans son camp ou de détruire l'armée de \nson adversaire\n");
+			}
+			return rep;
 	}
 	public static void tourDeJeu(Plateau plateau, Joueur j1) {
 		rep =-1; 
 		Affichage.affichage(plateau);
 		System.out.println("Choissisez l'unité que vous voulez déplacer");
-		for(int i = 0; i< j1.getArmee().size(); i++) {
-			System.out.println(i+": "+ j1.getArmee().get(1).toString());
-		}
-		Unite u =j1.getArmee().get((Scan.scan(j1.getArmee().size())));
-		System.out.println("vous pouvez...");
-		if(u.getX()>0) {
-			if(plateau.getCase(u.getX()-1, u.getY()).getUnite()!=null){
-				System.out.println("1: Combattre l'unité au-dessus");
-			}else {
-				System.out.println("1: Se déplacer vers le haut");
+		if(j1.getArmee().size()!=0) {
+			for(int i = 0; i< j1.getArmee().size(); i++) {
+				System.out.println(i+1 +": "+ j1.getArmee().get(i).toString());
 			}
-		}
-		if(u.getX()<plateau.getPlateau().length*5) {
-			if(plateau.getCase(u.getX()+1, u.getY()).getUnite()!=null){
-				System.out.println("2: Combattre l'unité en bas");
-			}else {
-				System.out.println("2: Se déplacer vers le bas");
+			Unite u =j1.getArmee().get(Scan.scan(j1.getArmee().size()-1));
+			System.out.println("vous pouvez...");
+			if(u.getX()>0) {
+				if(plateau.getCase(u.getX()-1, u.getY()).getUnite()!=null){
+					System.out.println("1: Combattre l'unité au-dessus");
+				}else {
+					System.out.println("1: Se déplacer vers le haut");
+				}
 			}
-		}
-		if(u.getY()<plateau.getPlateau().length*5) {
-			if(plateau.getCase(u.getX(), u.getY()+1).getUnite()!=null){
-				System.out.println("3: Combattre l'unité à droite");
-			}else {
-				System.out.println("3: Se déplacer vers la droite");
+			if(u.getX()<plateau.getPlateau().length*5) {
+				if(plateau.getCase(u.getX()+1, u.getY()).getUnite()!=null){
+					System.out.println("2: Combattre l'unité en bas");
+				}else {
+					System.out.println("2: Se déplacer vers le bas");
+				}	
 			}
-		}
-		if(u.getY()>0) {
-			if(plateau.getCase(u.getX(), u.getY()-1).getUnite()!=null){
-				System.out.println("4: Combattre l'unité à gauche");
-			}else {
-				System.out.println("4: Se déplacer vers la gauche");
+			if(u.getY()<plateau.getPlateau().length*5) {
+				if(plateau.getCase(u.getX(), u.getY()+1).getUnite()!=null){
+					System.out.println("3: Combattre l'unité à droite");
+				}else {
+					System.out.println("3: Se déplacer vers la droite");
+				}
 			}
-		}
-		rep = Scan.scan(4);
-		if(rep==1) {
-			//u.moove(unitCase)
+			if(u.getY()>0) {
+				if(plateau.getCase(u.getX(), u.getY()-1).getUnite()!=null){
+					System.out.println("4: Combattre l'unité à gauche");
+				}else {
+					System.out.println("4: Se déplacer vers la gauche");
+				}
+			}
+			rep = Scan.scan(4);
+			if(rep==1) {
+				u.move('z');
+			}else if(rep==2) {
+				u.move('s');
+			}else if(rep==3) {
+				u.move('d');
+			}else if(rep==4) {
+				u.move('q');
+			}
+		}else {
+			System.out.println("Aucune unité disponible");
 		}
 	}
 }
diff --git a/src/main/Main.java b/src/main/Main.java
index 8c43cd4..bf06fc9 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -7,7 +7,7 @@ import units.Paysant;
 public class Main {
 	private static Joueur winner = new Joueur("Winner");
 	private int actionPoint;
-	
+	private static Plateau plateau = new Plateau();
 	public static void main(String[] args) {
 		/*Region[][] regions = new Region[6][6];
 		for(int i = 0; i<regions.length; i++) {
@@ -16,7 +16,7 @@ public class Main {
 			}
 		}*/
 		
-		Plateau plateau = new Plateau();
+		
 		int x = 11;
 		int y = 10;
 		plateau.getCase(x, y).setUnite(new Paysant(x, y, plateau, winner));
@@ -30,7 +30,16 @@ public class Main {
 	}
 	
 	public static void Menu () {
-		System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !");
+		int continuer= 2;
+		//System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !");
+		while(continuer != 3) {
+			while(continuer==2) {
+				continuer =Interface.start();
+			}
+			if(continuer !=3) continuer =2;
+			Interface.tourDeJeu(plateau, winner);
+			System.out.println(continuer+"");
+		}
 	}
 	public static char deplacement() {
 		Scanner sc = new Scanner(System.in);
diff --git a/src/main/Scan.java b/src/main/Scan.java
index e11ff9d..4eea18f 100644
--- a/src/main/Scan.java
+++ b/src/main/Scan.java
@@ -15,8 +15,8 @@ public class Scan {
 				System.out.println("Veuillez entrer un nombre entre 1 et " + nbOfQuestion);
 				sc.nextLine();
 			}
-		} while (res <= 0 || res > nbOfQuestion);		
-		sc.close();
+		} while (res <= 0 || res > nbOfQuestion);	
+		
 		return res;
 	}
 
-- 
GitLab