Commit 6ec8ca0d authored by babablaze's avatar babablaze

3~CCMerge branch 'master' of https://gitlab.univ-nantes.fr/E177915L/projet-2020

none
parents 5ff6e635 6637f130
......@@ -21,12 +21,15 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
private ArrayList<CarteLieu> carteJouer;
private CarteTraque carteTraqueJouer;
private Plateau plateau;
public ServeurNotAlone(ArrayList<String> listPlayer) {
plateau = new Plateau(listPlayer.size());
carteJouer = new ArrayList<>();
carteJouer = new ArrayList<CarteLieu>();
carteTraqueJouer = new CarteTraque("","",0,null);
Random random = new Random();
int rand = random.nextInt(listPlayer.size());
......@@ -96,6 +99,17 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
return null;
}
private CarteTraque retournerCarteTraque(String nom){
int i = 0;
while(i <= creature.getCarteTraque().size()){
if(creature.getCarteTraque().get(i).getNom().compareTo(nom) == 0){
return creature.getCarteTraque().get(i);
}
i++;
}
return null;
}
private Traque retournerTraque(String nom){
int i = 0;
while(i <= traques.size()){
......@@ -152,22 +166,20 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
case 9:
System.out.println("Taper 1 si vous voulez que vous ou un autre joueur récupère un pion volonté, et 2 si vous voulez piocher une carte survie");
int choix = sc.nextInt();
switch (choix){
case 1:
System.out.println("Taper moi si vous voulez récupérer un pion volonté ou le nom du joueur qui va récupérer le pion volonté");
String joueur = sc.nextLine();
if(joueur.compareTo("moi") == 0){
if(traque.getPionVolonte() < 3){
traque.setPionVolonte(traque.getPionVolonte() +1);
}
}else{
if(Objects.requireNonNull(retournerTraque(joueur)).getPionVolonte() < 3){
Objects.requireNonNull(retournerTraque(joueur)).setPionVolonte(retournerTraque(joueur).getPionVolonte() +1);
}
if (choix == 1) {
System.out.println("Taper moi si vous voulez récupérer un pion volonté ou le nom du joueur qui va récupérer le pion volonté");
String joueur = sc.nextLine();
if (joueur.compareTo("moi") == 0) {
if (traque.getPionVolonte() < 3) {
traque.setPionVolonte(traque.getPionVolonte() + 1);
}
} else {
if (Objects.requireNonNull(retournerTraque(joueur)).getPionVolonte() < 3) {
Objects.requireNonNull(retournerTraque(joueur)).setPionVolonte(Objects.requireNonNull(retournerTraque(joueur)).getPionVolonte() + 1);
}
break;
case 2:
traque.getCarteSurvie().add(piocherCarteSurvie());
}
} else {
traque.getCarteSurvie().add(piocherCarteSurvie());
}
System.out.println("L'effet : "+carte.getPouvoir()+" à bien été effectué");
break;
......@@ -181,6 +193,21 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
return "";
}
private void perdePionVolonte(Traque traque){
traque.setPionVolonte(traque.getPionVolonte() -1);
if(traque.getPionVolonte() <= 0){
traque.setPionVolonte(3);
avancerPionAssimilation();
}
}
public CarteTraque choisirCarteTraque(){
Scanner sc = new Scanner(System.in);
System.out.println("Veuillez choisir une de vos cartes traques");
return retournerCarteTraque(sc.nextLine());
}
public void phase1(){
int i = 0;
String action = "";
......@@ -204,12 +231,14 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
}
public void phase2(){
//TODO a refaire
Scanner sc = new Scanner(System.in);
String carte1 = "";
CarteLieu c1;
CarteLieu c2;
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)");
reponse = sc.nextLine();
......@@ -264,22 +293,47 @@ public class ServeurNotAlone implements ServeurNotAloneInterface {
}
public void phase3(){
// si le traque explore un lieu ou se trouve aucun jeton
// si le traque explore un lieu ou se trouve le jeton creature
// si le traque explore un lieu ou se trouve le jeton cible
// si le traque explore un lieu ou se trouve le jeton artemia
Scanner sc = new Scanner(System.in);
boolean jetonCreatureActive = false;
for (int i=0; i <= carteJouer.size(); i++){
if (creature.getJetonCreature().getPosition().contains(carteJouer.get(i))){
perdePionVolonte(traques.get(i));
jetonCreatureActive = true;
}else if(creature.getJetonCible().getPosition().contains(carteJouer.get(i))){
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*/"") != 0) {
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 ?");
traques.get(i).defausseCarte(retournerCarteLieu(sc.nextLine()));
}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*/"") != 0) {
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");
}
}
}
}
if(jetonCreatureActive){
avancerPionAssimilation();
}
}
public void phase4(){
......
......@@ -105,7 +105,6 @@ public class Traque extends Joueur{
i++;
}
}
return null;
}
}
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