Commit 13925436 authored by Anthony ROZEN's avatar Anthony ROZEN
Browse files

avancement implémentation

parent 85014f3f
......@@ -7,7 +7,6 @@ import fr.univnantes.alma.game.composant.GameVariable;
import fr.univnantes.alma.game.composant.Jeton.SymboleJeton;
import fr.univnantes.alma.game.composant.Joueur.Creature;
import fr.univnantes.alma.game.composant.Joueur.Traque;
import fr.univnantes.alma.game.composant.Pion.Pion;
import fr.univnantes.alma.game.composant.Plateau;
import jdk.internal.net.http.common.Pair;
......@@ -370,12 +369,21 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
return retournerCarteTraque(sc.nextLine());
}
private boolean effetLieuEstInutilisable(Traque traque){
if(carteTraqueJouer.getNom().compareTo("Cataclysme") == 0 || carteTraqueJouer.getNom().compareTo("Epidemie") == 0 || carteTraqueJouer.getNom().compareTo("Interferences") == 0 || carteTraqueJouer.getNom().compareTo("Mirage") == 0 || carteTraqueJouer.getNom().compareTo("Toxine") == 0){
/*
TODO regarder si la carte lieu choisie par le traque est inutilisable
*/
return true;
}else{
return false;
}
}
public void phase1(){
int i = 0;
String action = "";
int nbCarte = 0;
String action;
int nbCarte;
Scanner sc = new Scanner(System.in);
this.carteJouer.clear();
......@@ -398,11 +406,11 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
public void phase2(){
Scanner sc = new Scanner(System.in);
String carte1 = "";
String carte1;
CarteLieu c1;
CarteLieu c2;
String carte2 = "";
String reponse = "";
String carte2;
String reponse;
this.carteTraqueJouer = choisirCarteTraque();
System.out.println("Est ce que vous voulez poser le jeton CREATURE sur 2 cartes adjacente ? (OUI / NON)");
......@@ -473,14 +481,14 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
effetCarteTraque(carteTraqueJouer);
System.out.println("Taper 1 si vous voulez utiliser le pouvoir du lieu ou 2 si vous voulez reprendre en main 1 carte lieu au choix de votre défausse");
int choix = sc.nextInt();
if (choix == 1) {
effetCarteLieu(carteJouer.get(i), traques.get(i));
}else{
if(carteTraqueJouer.getPouvoir().compareTo(/*TODO fonction qui regarde si la carte Traque annule le pouvoir du lieu*/"") != 0) {
traques.get(i).reprendreCarte(1);
if (effetLieuEstInutilisable(traques.get(i))){
if (choix == 1) {
effetCarteLieu(carteJouer.get(i), traques.get(i));
}else{
System.out.println("L'effet de la carte Traque de la créature a annulé votre phase de jeu");
traques.get(i).reprendreCarte(1);
}
}else{
System.out.println("L'effet de la carte Traque de la créature a annulé votre phase de jeu");
}
}else if (creature.getJetonArtemia().getPosition().contains(carteJouer.get(i))){
System.out.println("Quel carte vous voulez défausser ?");
......@@ -488,14 +496,14 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
}else{
System.out.println("Taper 1 si vous voulez utiliser le pouvoir du lieu ou 2 si vous voulez reprendre en main 1 carte lieu au choix de votre défausse");
int choix = sc.nextInt();
if (choix == 1) {
effetCarteLieu(carteJouer.get(i), traques.get(i));
} else {
if(carteTraqueJouer.getPouvoir().compareTo(/*TODO fonction qui regarde si la carte Traque annule le pouvoir du lieu*/"") != 0) {
traques.get(i).reprendreCarte(1);
if (effetLieuEstInutilisable(traques.get(i))){
if (choix == 1) {
effetCarteLieu(carteJouer.get(i), traques.get(i));
}else{
System.out.println("L'effet de la carte Traque de la créature a annulé votre phase de jeu");
traques.get(i).reprendreCarte(1);
}
}else{
System.out.println("L'effet de la carte Traque de la créature a annulé votre phase de jeu");
}
}
}
......@@ -517,4 +525,29 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
}
avancerPionSecours();
}
public boolean victoire(){
if ((plateau.getPionSecours().getPosition() == 0) || (plateau.getPionAssimilation().getPosition() == 0)){
if(plateau.getPionSecours().getPosition() == 0){
System.out.println("Les Traqués ont gagnés la partie");
}else{
System.out.println("La Créature à gagné la partie");
}
return true;
}else{
return false;
}
}
public void jouerPartie(){
while (!victoire()){
phase1();
if(victoire()) break;
phase2();
if(victoire()) break;
phase3();
if(victoire()) break;
phase4();
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment