voir sa carte perso quand on emet une pression dessus

This commit is contained in:
Bastien NOEL 2020-05-12 18:00:58 +02:00
parent 697a35679c
commit d8df8f3833
6 changed files with 102 additions and 42 deletions

View File

@ -53,6 +53,11 @@ public class CarteLieu extends CarteEffet{
} }
} }
public CarteLieu getVoisin() {
return voisin;
}
public void setVoisin(CarteLieu cl) { public void setVoisin(CarteLieu cl) {
this.voisin = cl; this.voisin = cl;
} }

View File

@ -79,7 +79,7 @@ public class GestionnaireDePions {
translate.setByX(x); translate.setByX(x);
translate.setByY(y); translate.setByY(y);
translate.setDuration(Duration.millis(2000)); translate.setDuration(Duration.millis(20000));
translate.setNode(p); translate.setNode(p);
translate.play(); translate.play();
} }

View File

@ -1,6 +1,7 @@
package ihm.controller; package ihm.controller;
import carte.CarteEquipement; import carte.CarteEquipement;
import database.RessourceLoader;
import ihm.ImageViewEquipement; import ihm.ImageViewEquipement;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.control.Button; import javafx.scene.control.Button;
@ -28,33 +29,37 @@ public class JoueurIHM {
private GestionnaireDePions gestionnaireDePions; private GestionnaireDePions gestionnaireDePions;
private Color color; private Color color;
private PlateauController pc; private PlateauController pc;
private boolean estRevele = false;
public JoueurIHM(int i, Joueur joueur, Pane zoneJoueur, Color color, GridPane gridPaneVie, GridPane gridPaneLieux, PlateauController pc) {
public JoueurIHM(int i, Joueur joueur, Pane zoneJoueur, Color color, GridPane gridPaneVie, GridPane gridPaneLieux,
PlateauController pc /* , boolean carteVisible */ ) {
this.setPosition(i); this.setPosition(i);
this.setJoueur(joueur); this.setJoueur(joueur);
this.zoneJoueur = zoneJoueur; this.zoneJoueur = zoneJoueur;
this.color = color; this.color = color;
this.gestionnaireDePions = new GestionnaireDePions(this.color,gridPaneVie, gridPaneLieux); this.gestionnaireDePions = new GestionnaireDePions(this.color, gridPaneVie, gridPaneLieux);
this.pc = pc; this.pc = pc;
zoneJoueur.setBorder(new Border(new BorderStroke(color, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(5)))); zoneJoueur.setBorder(
new Border(new BorderStroke(color, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(5))));
String name = joueur.getNom(); String name = joueur.getNom();
setLabelJoueur(name); setLabelJoueur(name);
initRevealButton(); initRevealButton();
initCheckIdentity();
initZoneEquipement(); initZoneEquipement();
} }
private void initZoneEquipement() { private void initZoneEquipement() {
HBox hb = getPaneEquipement(); HBox hb = getPaneEquipement();
} }
private void initRevealButton() { private void initRevealButton() {
Button btn = getRevealButton(); Button btn = getRevealButton();
btn.setOnAction(x -> { btn.setOnAction(x -> {
this.joueur.reveal(); this.joueur.reveal();
ImageView iv = this.getCartePersonnage(); ImageView iv = this.getCartePersonnage();
System.out.println(this.joueur.getCartePersonnage()); System.out.println(this.joueur.getCartePersonnage());
@ -62,7 +67,10 @@ public class JoueurIHM {
GridPane gp = (GridPane) iv.getParent(); GridPane gp = (GridPane) iv.getParent();
iv.setImage(im); iv.setImage(im);
iv.fitHeightProperty().bind(gp.heightProperty()); iv.fitHeightProperty().bind(gp.heightProperty());
// initButtonEffect(btn);
btn.setDisable(true); btn.setDisable(true);
btn.setText("Utiliser Effet");
estRevele = true;
}); });
} }
@ -70,34 +78,75 @@ public class JoueurIHM {
Pane p = (Pane) zoneJoueur.getChildren().get(2); Pane p = (Pane) zoneJoueur.getChildren().get(2);
return (Button) p.getChildren().get(1); return (Button) p.getChildren().get(1);
} }
private void initCheckIdentity() {
ImageView iv = getCartePersonnage();
iv.setOnMousePressed(press -> {
if (estRevele == false) {
Image im = this.pc.getImageCarte(this.joueur.getCartePersonnage());
GridPane gp = (GridPane) iv.getParent();
iv.setImage(im);
iv.fitHeightProperty().bind(gp.heightProperty());
iv.fitHeightProperty().bind(gp.heightProperty());
}
});
iv.setOnMouseReleased(release -> {
if (estRevele == false) {
Image im = this.pc.getImageDosCarte(RessourceLoader.DOS_PERSONNAGE);
GridPane gp = (GridPane) iv.getParent();
iv.setImage(im);
iv.fitHeightProperty().bind(gp.heightProperty());
iv.fitHeightProperty().bind(gp.heightProperty());
}
});
}
public ImageView getCartePersonnage() { public ImageView getCartePersonnage() {
Pane p = (Pane) zoneJoueur.getChildren().get(2); Pane p = (Pane) zoneJoueur.getChildren().get(2);
return (ImageView) p.getChildren().get(0); return (ImageView) p.getChildren().get(0);
} }
public void initButtonEffect(Button btn) {
btn.setOnAction(click -> {
System.out.println(this.joueur.getCartePersonnage().getNom() + " va user de son pouvoir");
this.joueur.getCartePersonnage().utiliser();
System.out.println(this.joueur.getCartePersonnage().getNom() + " a réussi à utiliser son pouvoir");
btn.setDisable(true);
});
}
public AnchorPane getZoneJoueur() { public AnchorPane getZoneJoueur() {
return (AnchorPane) zoneJoueur.getChildren().get(1); return (AnchorPane) zoneJoueur.getChildren().get(1);
} }
public void setZoneJoueur(Pane p) { public void setZoneJoueur(Pane p) {
AnchorPane ap = (AnchorPane) zoneJoueur.getChildren().get(1); AnchorPane ap = (AnchorPane) zoneJoueur.getChildren().get(1);
ap.getChildren().setAll(p); ap.getChildren().setAll(p);
//ap.prefWidthProperty().bind(ap.widthProperty()); // ap.prefWidthProperty().bind(ap.widthProperty());
//ap.prefHeightProperty().bind(ap.heightProperty()); // ap.prefHeightProperty().bind(ap.heightProperty());
AnchorPane.setBottomAnchor(p,0.0); AnchorPane.setBottomAnchor(p, 0.0);
AnchorPane.setLeftAnchor(p,0.0); AnchorPane.setLeftAnchor(p, 0.0);
AnchorPane.setRightAnchor(p,0.0); AnchorPane.setRightAnchor(p, 0.0);
AnchorPane.setTopAnchor(p,0.0); AnchorPane.setTopAnchor(p, 0.0);
} }
public Label getLabelJoueur() { public Label getLabelJoueur() {
return (Label) zoneJoueur.getChildren().get(0); return (Label) zoneJoueur.getChildren().get(0);
} }
public void setLabelJoueur(String name) { public void setLabelJoueur(String name) {
Label label = getLabelJoueur(); Label label = getLabelJoueur();
label.setText(name); label.setText(name);
@ -118,25 +167,24 @@ public class JoueurIHM {
public void setJoueur(Joueur joueur) { public void setJoueur(Joueur joueur) {
this.joueur = joueur; this.joueur = joueur;
} }
public void deplacerPionVie(int damage) { public void deplacerPionVie(int damage) {
this.gestionnaireDePions.deplacerPionVie(damage); this.gestionnaireDePions.deplacerPionVie(damage);
} }
public void replacerPionLieu() { public void replacerPionLieu() {
this.gestionnaireDePions.deplacerPionLieux(this.joueur); this.gestionnaireDePions.deplacerPionLieux(this.joueur);
} }
public void choisir() { public void choisir() {
} }
public void resetZoneJoueur() { public void resetZoneJoueur() {
this.getZoneJoueur().getChildren().setAll(); this.getZoneJoueur().getChildren().setAll();
} }
public HBox getPaneEquipement(){ public HBox getPaneEquipement() {
ScrollPane sp = (ScrollPane) this.zoneJoueur.getChildren().get(3); ScrollPane sp = (ScrollPane) this.zoneJoueur.getChildren().get(3);
AnchorPane p = (AnchorPane) sp.getContent(); AnchorPane p = (AnchorPane) sp.getContent();
return (HBox) p.getChildren().get(0); return (HBox) p.getChildren().get(0);
@ -147,21 +195,20 @@ public class JoueurIHM {
ImageViewEquipement ive = new ImageViewEquipement(e); ImageViewEquipement ive = new ImageViewEquipement(e);
hb.getChildren().add(new ImageViewEquipement(e)); hb.getChildren().add(new ImageViewEquipement(e));
ive.fitHeightProperty().bind(hb.heightProperty()); ive.fitHeightProperty().bind(hb.heightProperty());
} }
public void retirerEquipement(CarteEquipement e) { public void retirerEquipement(CarteEquipement e) {
HBox hb = getPaneEquipement(); HBox hb = getPaneEquipement();
for(Node n : hb.getChildren()) { for (Node n : hb.getChildren()) {
if(n instanceof ImageViewEquipement) { if (n instanceof ImageViewEquipement) {
ImageViewEquipement ive = (ImageViewEquipement) n; ImageViewEquipement ive = (ImageViewEquipement) n;
if(ive.contains(e)) { if (ive.contains(e)) {
hb.getChildren().remove(ive); hb.getChildren().remove(ive);
} }
} }
} }
} }
public String getNom() { public String getNom() {

View File

@ -474,6 +474,11 @@ public class PlateauController implements Initializable {
BufferedImage bi = this.mapRessourcesCartes.get(carte); BufferedImage bi = this.mapRessourcesCartes.get(carte);
return RessourceLoader.toJavaFX(bi); return RessourceLoader.toJavaFX(bi);
} }
public Image getImageDosCarte(String s) {
BufferedImage bi = this.mapRessourcesDosCartes.get(s);
return RessourceLoader.toJavaFX(bi);
}
public void ajouterEquipement(Joueur j, CarteEquipement e) { public void ajouterEquipement(Joueur j, CarteEquipement e) {

View File

@ -41,5 +41,11 @@ public class Charles extends CartePersonnage{
} }
public void utiliser() { public void utiliser() {
/*
System.out.println("vie avant : " + this.getJoueur().getCartePersonnage().getPv());
this.getJoueur().setStat("HP", this.getJoueur().getStat("HP") - 2);
System.out.println("vie apres : " + this.getJoueur().getCartePersonnage().getPv());
*/
} }
} }

View File

@ -26,11 +26,6 @@ public class Emi extends CartePersonnage{
this.setCondition(new WinConditionHunter()); this.setCondition(new WinConditionHunter());
} }
public void deplacer() { public void deplacer() {
@ -38,5 +33,7 @@ public class Emi extends CartePersonnage{
public void utiliser() { public void utiliser() {
this.getJoueur().deplacer(this.getJoueur().getCarteLieu().getVoisin());
} }
} }