diff --git a/src/main/Affichage.java b/src/main/Affichage.java index dcdcc1cee10c028de8c2c6ce60bf69d5e93cf3c6..2419afa8c96b0f63547e052b61046b2a3fe29850 100644 --- a/src/main/Affichage.java +++ b/src/main/Affichage.java @@ -1,7 +1,7 @@ package main; public class Affichage { - public static void affichage(Plateau plateau){ + public void affichage(Plateau plateau){ for(int i=0; i< plateau.getPlateau().length*5; i++) { diff --git a/src/main/Interface.java b/src/main/Interface.java index e4ac55e248668c50a79a15a61b5f092552af9eb8..031edd296289f6cf0e943c9826d0ee8eb3c6e6af 100644 --- a/src/main/Interface.java +++ b/src/main/Interface.java @@ -3,59 +3,33 @@ package main; import units.Unite; public class Interface { + private static Affichage a = new Affichage(); private static int rep = 0; - public static void 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) { - - }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) { - - } + 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); + a.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(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()<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.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(j1.getArmee().size()!=0) { + for(int i = 0; i< j1.getArmee().size(); i++) { + System.out.println(i+1 +": "+ j1.getArmee().get(i).toString()); } + Unite u =j1.getArmee().get(Scan.scan(j1.getArmee().size())-1); + u.move(Main.deplacement()); + a.affichage(plateau); + }else { + System.out.println("Aucune unité disponible"); } - rep = Scan.scan(4); } } diff --git a/src/main/Main.java b/src/main/Main.java index 9dd3e40e0249ddffabee76ad1f674a58015694b2..cdc75ac29f8eba4f9c97542bfe5ef4a46328f095 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -7,8 +7,11 @@ import units.Paysant; public class Main { private static Joueur winner = new Joueur("Winner"); private int actionPoint; + static Main m = new Main(); public static void main(String[] args) { + Affichage a = new Affichage(); + /* * Region[][] regions = new Region[6][6]; for(int i = 0; i<regions.length; i++) * { for(int j = 0; j<regions[i].length; j++) { regions[i][j] = new Region(); } @@ -23,22 +26,30 @@ public class Main { plateau.getCase(x, y).setUnite(new Paysant(x, y, plateau, winner)); winner.getArmee().get(0).getPlateau().getRegion(0,0).changeToCamp(); - Affichage.affichage(plateau); - while(y<30) { - winner.getArmee().get(0).move(deplacement()); + a.affichage(plateau); + /*while(y<30) { + winner.getArmee().get(0).move(deplacement());*/ System.out.println('\n'); //winner.getArmee().get(0).teleporte(); - Affichage.affichage(plateau); - } - Menu(); + a.affichage(plateau); + plateau.getCase(12, 0); - Affichage.affichage(plateau); - //Menu(); + a.affichage(plateau); + m.menu(plateau); } - - public static void Menu() { - System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !"); + + public void menu (Plateau plateau) { + int continuer= 2; + while(continuer != 3) { + while(continuer==2) { + continuer =Interface.start(); + } + if(continuer !=3) { + continuer =2; + m.game(new Joueur[]{winner,null}, plateau); + } + } } public static char deplacement() { @@ -51,19 +62,21 @@ public class Main { return sc.next().charAt(0); } - private Joueur Game(Joueur[] joueurs) { + private Joueur game(Joueur[] joueurs, Plateau plateau) { boolean gameEnd = false; - while (gameEnd) { + while (!gameEnd) { for (Joueur currentPlayer : joueurs) { setActionPoint(currentPlayer); - Tour(currentPlayer, actionPoint); + Tour(currentPlayer, actionPoint, plateau); } } return getWinner(); } - public void Tour(Joueur currentPlayer, int actionPoint) { - + public void Tour(Joueur currentPlayer, int actionPoint, Plateau plateau) { + for(int i =0; i<actionPoint; i++) { + Interface.tourDeJeu(plateau, currentPlayer); + } } public void setActionPoint(int actionPoint) { @@ -78,6 +91,7 @@ public class Main { return this.actionPoint; } + public void setWinner(Joueur winner) { this.winner = winner; } diff --git a/src/main/Scan.java b/src/main/Scan.java index 75f8fcbf3b06bd6160dd1c205bfa1a5285b9ea71..70fa095bd65d91c5beacfda97402ef36453ee852 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; } }