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) {
this.voisin = cl;
}

View File

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

View File

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

View File

@ -474,6 +474,11 @@ public class PlateauController implements Initializable {
BufferedImage bi = this.mapRessourcesCartes.get(carte);
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) {

View File

@ -41,5 +41,11 @@ public class Charles extends CartePersonnage{
}
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());
}
public void deplacer() {
@ -38,5 +33,7 @@ public class Emi extends CartePersonnage{
public void utiliser() {
this.getJoueur().deplacer(this.getJoueur().getCarteLieu().getVoisin());
}
}