diff --git a/src/carte/CarteCondition.java b/src/carte/CarteCondition.java index 78a0dd9..313e6e4 100644 --- a/src/carte/CarteCondition.java +++ b/src/carte/CarteCondition.java @@ -12,8 +12,15 @@ public abstract class CarteCondition extends CarteEffet{ private Condition condition; + + /* + * @param j le joueur utilisant son effet + */ + @Override public void utiliser(Joueur j) { - super.utiliser(j); + if(this.condition.isTrue(j)) { + super.utiliser(j); + } } public Condition getCondition() { @@ -23,6 +30,4 @@ public abstract class CarteCondition extends CarteEffet{ public void setCondition(Condition condition) { this.condition = condition; } - - } diff --git a/src/carte/CarteEffet.java b/src/carte/CarteEffet.java index 91854d0..f3a235d 100644 --- a/src/carte/CarteEffet.java +++ b/src/carte/CarteEffet.java @@ -5,19 +5,18 @@ import effet.Effet; public abstract class CarteEffet extends Carte{ + private Effet effet; + public CarteEffet(String nom, String description) { super(nom, description); } - - private Effet effet; - /* * @param j Appel la méthode utiliser de effet sur le joueur j */ public void utiliser(Joueur j) { - effet.utiliser(j); + this.effet.utiliser(j); } public void setEffet(Effet e) { diff --git a/src/carte/CarteLieu.java b/src/carte/CarteLieu.java index 9f664e8..841b8af 100644 --- a/src/carte/CarteLieu.java +++ b/src/carte/CarteLieu.java @@ -9,8 +9,6 @@ import main.Joueur; public class CarteLieu extends CarteEffet{ - - private List listeJoueurs; private Point coordinates; private CarteLieu voisin; @@ -20,7 +18,10 @@ public class CarteLieu extends CarteEffet{ this.coordinates = p; this.listeJoueurs = new ArrayList(); } - + + /* + * @param j Appel la méthode utiliser de effet sur le joueur j + */ public void utiliser(Joueur j) { this.getEffet().utiliser(j); diff --git a/src/carte/CarteLieuType.java b/src/carte/CarteLieuType.java index 9e0d7ec..8940fc9 100644 --- a/src/carte/CarteLieuType.java +++ b/src/carte/CarteLieuType.java @@ -16,6 +16,9 @@ public class CarteLieuType extends CarteLieu{ this.pioche = pioche; } + /* + * @param j Appel la méthode utiliser de effet sur le joueur j + */ public void utiliser(Joueur j) { CartePiochable carte = pioche.piocher(); diff --git a/src/carte/CartePiochable.java b/src/carte/CartePiochable.java index a742530..19c3cc2 100644 --- a/src/carte/CartePiochable.java +++ b/src/carte/CartePiochable.java @@ -10,7 +10,10 @@ public class CartePiochable extends CarteCondition{ super(nom, description); // TODO Auto-generated constructor stub } - + + /* + * @param j Appel la méthode utiliser de effet sur le joueur j + */ public void utiliser(Joueur j) { super.utiliser(j); } diff --git a/src/carte/Equipement.java b/src/carte/Equipement.java index 15531cd..00443e0 100644 --- a/src/carte/Equipement.java +++ b/src/carte/Equipement.java @@ -4,7 +4,7 @@ import main.Joueur; import main.Type; -public class Equipement extends CartePiochable{ +public abstract class Equipement extends CartePiochable{ public Equipement(String nom, String description) { @@ -13,6 +13,11 @@ public class Equipement extends CartePiochable{ } public void utiliser(Joueur j) { - + if(!j.getEquipements().contains(this)) { + j.ajouterEquipement(this); + } + super.utiliser(j); } + + public abstract void reverse(Joueur j); } diff --git a/src/carte/EquipementStat.java b/src/carte/EquipementStat.java new file mode 100644 index 0000000..e169ae2 --- /dev/null +++ b/src/carte/EquipementStat.java @@ -0,0 +1,17 @@ +package carte; + +import effet.action.ActionAltererStatistiquesJoueur; +import main.Joueur; + +public class EquipementStat extends Equipement{ + + public EquipementStat(String nom, String description) { + super(nom, description); + } + + @Override + public void reverse(Joueur j) { + ActionAltererStatistiquesJoueur action = ((ActionAltererStatistiquesJoueur) this.getEffet().getAction()).getReverseAction(); + action.affecte(j, j); + } +} diff --git a/src/condition/Condition.java b/src/condition/Condition.java index 6553990..2b0d1bb 100644 --- a/src/condition/Condition.java +++ b/src/condition/Condition.java @@ -2,7 +2,8 @@ package condition; import main.Joueur; -public abstract class Condition { - - public abstract boolean isTrue(Joueur joueur); +public class Condition { + public boolean isTrue(Joueur joueur) { + return true; + } } diff --git a/src/effet/EffetChoisirCible.java b/src/effet/EffetChoisirCible.java index 77026ea..c363d73 100644 --- a/src/effet/EffetChoisirCible.java +++ b/src/effet/EffetChoisirCible.java @@ -12,7 +12,7 @@ public class EffetChoisirCible extends Effet{ @Override public void utiliser(Joueur joueur) { - Joueur j2 = joueur.choisirTous(); + Joueur j2 = joueur.choisiParmisTous(); Action action = this.getAction(); action.affecte(joueur, j2); diff --git a/src/effet/action/ActionAltererStatistiquesJoueur.java b/src/effet/action/ActionAltererStatistiquesJoueur.java index 597bf71..3b5dff7 100644 --- a/src/effet/action/ActionAltererStatistiquesJoueur.java +++ b/src/effet/action/ActionAltererStatistiquesJoueur.java @@ -2,13 +2,10 @@ package effet.action; import main.Joueur; public class ActionAltererStatistiquesJoueur extends Action{ - - private String key; private int valeur; private boolean ajouter; - /** * Constructeur ActionAltererStatistiquesJoueur * @param key Le clé qui correspond à la valeur à modifier @@ -24,16 +21,15 @@ public class ActionAltererStatistiquesJoueur extends Action{ * ActionAltererStatistiquesJoueur("PV", 2, false) *
* Change les PV's du joueur à 2 - * */ + public ActionAltererStatistiquesJoueur(String key, int valeur, boolean ajouter) { this.key = key; this.valeur = valeur; this.ajouter = ajouter; } - - + /** * Lance l'action de modification de statistiques * @param j1 Le joueur qui modifie @@ -44,12 +40,13 @@ public class ActionAltererStatistiquesJoueur extends Action{ { if(ajouter) { - j2.setStat(key, j2.getStat(key)+valeur); + j2.addToStat(key, valeur); }else { j2.setStat(key, valeur); } } - - + public ActionAltererStatistiquesJoueur getReverseAction() { + return new ActionAltererStatistiquesJoueur(key, -valeur, true); + } } diff --git a/src/effet/action/ActionVoler.java b/src/effet/action/ActionVoler.java index 58512f7..31cf7aa 100644 --- a/src/effet/action/ActionVoler.java +++ b/src/effet/action/ActionVoler.java @@ -1,6 +1,8 @@ package effet.action; -import main.Equipement; +import java.util.List; + +import carte.Equipement; import main.Joueur; public class ActionVoler extends Action{ @@ -15,7 +17,7 @@ public class ActionVoler extends Action{ @Override public void affecte(Joueur j1, Joueur j2) { - Equipement[] equipements = j2.getEquipements(); + List equipements = j2.getEquipements(); // J1 choisit quel équipement voler Equipement equipement = j1.choisir(equipements); diff --git a/src/ihm/Main.java b/src/ihm/Main.java index bee5032..b357b46 100644 --- a/src/ihm/Main.java +++ b/src/ihm/Main.java @@ -10,7 +10,7 @@ import javafx.stage.Stage; public class Main extends Application{ @Override public void start(Stage primaryStage) throws Exception{ - Parent root = FXMLLoader.load(getClass().getResource("ressources/Menu.fxml")); + Parent root = FXMLLoader.load(getClass().getResource("ressources/jouerSonTour6.fxml")); primaryStage.setTitle("Shadow Hunters"); primaryStage.setScene(new Scene(root)); primaryStage.show(); diff --git a/src/ihm/controller/JouerSonTour1Controller.java b/src/ihm/controller/JouerSonTour1Controller.java new file mode 100644 index 0000000..57571b9 --- /dev/null +++ b/src/ihm/controller/JouerSonTour1Controller.java @@ -0,0 +1,26 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.Pane; + +public class JouerSonTour1Controller implements Initializable{ + @FXML private Pane rootPane; + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + + } + @FXML + public void lancerDes(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour2.fxml")); + rootPane.getChildren().setAll(pane); + } +} diff --git a/src/ihm/controller/JouerSonTour2Controller.java b/src/ihm/controller/JouerSonTour2Controller.java new file mode 100644 index 0000000..f0fceec --- /dev/null +++ b/src/ihm/controller/JouerSonTour2Controller.java @@ -0,0 +1,37 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.Pane; + +public class JouerSonTour2Controller implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + @FXML + public void ignorerEtape(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour3.fxml")); + rootPane.getChildren().setAll(pane); + + } + @FXML + public void capaciteLieu(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour5.fxml")); + rootPane.getChildren().setAll(pane); + + } + +} diff --git a/src/ihm/controller/JouerSonTour3Controller.java b/src/ihm/controller/JouerSonTour3Controller.java new file mode 100644 index 0000000..413a964 --- /dev/null +++ b/src/ihm/controller/JouerSonTour3Controller.java @@ -0,0 +1,35 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; + +public class JouerSonTour3Controller implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + System.out.println("nulle"); + } + + @FXML + public void choixJoueur(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour4.fxml")); + rootPane.getChildren().setAll(pane); + + } + @FXML + public void equipementVole(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour5.fxml")); + rootPane.getChildren().setAll(pane); + + } +} diff --git a/src/ihm/controller/JouerSonTour4Controller.java b/src/ihm/controller/JouerSonTour4Controller.java new file mode 100644 index 0000000..e654473 --- /dev/null +++ b/src/ihm/controller/JouerSonTour4Controller.java @@ -0,0 +1,19 @@ +package ihm.controller; + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.layout.Pane; + +public class JouerSonTour4Controller implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/ihm/controller/JouerSonTour5Controller.java b/src/ihm/controller/JouerSonTour5Controller.java new file mode 100644 index 0000000..4370c22 --- /dev/null +++ b/src/ihm/controller/JouerSonTour5Controller.java @@ -0,0 +1,29 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; + +public class JouerSonTour5Controller implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + @FXML + public void equipementVole(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouerSonTour6.fxml")); + rootPane.getChildren().setAll(pane); + + } + +} diff --git a/src/ihm/controller/JouerSonTour6Controller.java b/src/ihm/controller/JouerSonTour6Controller.java new file mode 100644 index 0000000..ff0d29f --- /dev/null +++ b/src/ihm/controller/JouerSonTour6Controller.java @@ -0,0 +1,35 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; + +public class JouerSonTour6Controller implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + @FXML + public void piocherVision(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouer_Son_Tour_piocher_vision.fxml")); + rootPane.getChildren().setAll(pane); + + } + @FXML + public void piocherTenebre(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouer_Son_Tour_piocher_lum_et_ten.fxml")); + rootPane.getChildren().setAll(pane); + + } +} diff --git a/src/ihm/controller/JouerSonTourDonnerVisionController.java b/src/ihm/controller/JouerSonTourDonnerVisionController.java new file mode 100644 index 0000000..0e05337 --- /dev/null +++ b/src/ihm/controller/JouerSonTourDonnerVisionController.java @@ -0,0 +1,29 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; + +public class JouerSonTourDonnerVisionController implements Initializable{ + @FXML private Pane rootPane; + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + @FXML + public void attaquer(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouer_Son_Tour_recevoir_blessure.fxml")); + rootPane.getChildren().setAll(pane); + + } + + +} diff --git a/src/ihm/controller/PiocherLumiereTenebreController.java b/src/ihm/controller/PiocherLumiereTenebreController.java new file mode 100644 index 0000000..f1afaeb --- /dev/null +++ b/src/ihm/controller/PiocherLumiereTenebreController.java @@ -0,0 +1,19 @@ +package ihm.controller; + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.layout.Pane; + +public class PiocherLumiereTenebreController implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/ihm/controller/PiocherVisionController.java b/src/ihm/controller/PiocherVisionController.java new file mode 100644 index 0000000..4c9f460 --- /dev/null +++ b/src/ihm/controller/PiocherVisionController.java @@ -0,0 +1,28 @@ +package ihm.controller; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; + +public class PiocherVisionController implements Initializable{ + @FXML private Pane rootPane; + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + @FXML + public void voirCarte(MouseEvent mouseEvent) throws IOException{ + + Pane pane = FXMLLoader.load(getClass().getResource("../ressources/jouer_Son_Tour_donner_vision.fxml")); + rootPane.getChildren().setAll(pane); + + } + +} diff --git a/src/ihm/controller/RecevoirBlessureController.java b/src/ihm/controller/RecevoirBlessureController.java new file mode 100644 index 0000000..e7c373f --- /dev/null +++ b/src/ihm/controller/RecevoirBlessureController.java @@ -0,0 +1,19 @@ +package ihm.controller; + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.layout.Pane; + +public class RecevoirBlessureController implements Initializable{ + @FXML private Pane rootPane; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/ihm/ressources/Jouer_son_tour_donner_vision.fxml b/src/ihm/ressources/Jouer_son_tour_donner_vision.fxml index 37aa827..bbfc643 100644 --- a/src/ihm/ressources/Jouer_son_tour_donner_vision.fxml +++ b/src/ihm/ressources/Jouer_son_tour_donner_vision.fxml @@ -8,8 +8,7 @@ - - + @@ -17,7 +16,7 @@ -