Ajout constructeur de Plateau en s'appuyant de RessourceLoader
This commit is contained in:
parent
9fca28f7bb
commit
144ffd5434
@ -13,12 +13,18 @@ public class CarteLieu extends CarteEffet{
|
||||
private Point coordinates;
|
||||
private CarteLieu voisin;
|
||||
|
||||
public CarteLieu(Point point) {
|
||||
this("","",point);
|
||||
}
|
||||
|
||||
public CarteLieu(String nom, String description, Point p) {
|
||||
super(nom, description);
|
||||
this.coordinates = p;
|
||||
this.listeJoueurs = new ArrayList<Joueur>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||
*/
|
||||
|
35
src/carte/CarteLieuMultiple.java
Normal file
35
src/carte/CarteLieuMultiple.java
Normal file
@ -0,0 +1,35 @@
|
||||
package carte;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.util.List;
|
||||
|
||||
import carte.CartePiochable.Type;
|
||||
import main.Joueur;
|
||||
import main.Pioche;
|
||||
|
||||
public class CarteLieuMultiple extends CarteLieu{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -497959392470353155L;
|
||||
private List<Pioche> pioches;
|
||||
|
||||
|
||||
|
||||
public CarteLieuMultiple(Point point) {
|
||||
super("","",point);
|
||||
}
|
||||
/*
|
||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||
*/
|
||||
public void utiliser(Joueur j) {
|
||||
Pioche p = (Pioche) j.choisir(pioches);
|
||||
Carte c = p.piocher();
|
||||
c.utiliser(j);
|
||||
}
|
||||
|
||||
public void setPioches(List<Pioche> pioches) {
|
||||
this.pioches = pioches;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package carte;
|
||||
|
||||
import java.awt.Point;
|
||||
|
||||
import carte.CartePiochable.Type;
|
||||
import main.Joueur;
|
||||
import main.Pioche;
|
||||
|
||||
@ -15,19 +16,34 @@ public class CarteLieuType extends CarteLieu{
|
||||
private CartePiochable.Type type;
|
||||
|
||||
|
||||
public CarteLieuType(Type type, Point point) {
|
||||
super("","",point);
|
||||
this.setType(type);
|
||||
}
|
||||
|
||||
public CarteLieuType(CartePiochable.Type type,String name, String description ,Point coordinates,Pioche pioche) {
|
||||
super(name , description , coordinates);
|
||||
this.type = type;
|
||||
this.setType(type);
|
||||
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();
|
||||
carte.utiliser(j);
|
||||
}
|
||||
|
||||
public void setPioche(Pioche p) {
|
||||
this.pioche = p;
|
||||
}
|
||||
public CartePiochable.Type getType() {
|
||||
return type;
|
||||
}
|
||||
public void setType(CartePiochable.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,13 @@
|
||||
package database;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import carte.CarteEquipementStat;
|
||||
import carte.CarteLieu;
|
||||
import carte.CarteLieuMultiple;
|
||||
import carte.CarteLieuType;
|
||||
import carte.CartePiochable;
|
||||
import condition.ConditionClassPersonnage;
|
||||
import condition.ConditionEquipe;
|
||||
@ -21,9 +25,6 @@ import effet.action.ActionMultiple;
|
||||
import effet.action.ActionReveal;
|
||||
import effet.action.ActionVoler;
|
||||
import main.Joueur;
|
||||
import main.TypeLumiere;
|
||||
import main.TypeTenebre;
|
||||
import main.TypeVision;
|
||||
import personnage.Allie;
|
||||
import personnage.Bob;
|
||||
import personnage.CartePersonnage;
|
||||
@ -44,6 +45,7 @@ public class CreatingCardsTest {
|
||||
|
||||
//Ange gardien
|
||||
try {
|
||||
/*
|
||||
DatabaseManager.queryInsertObject(2,new CartePiochable(CartePiochable.Type.LUMIERE,
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
|
||||
|
||||
@ -237,10 +239,47 @@ public class CreatingCardsTest {
|
||||
DatabaseManager.queryInsertObject(55,new LoupGarou());
|
||||
DatabaseManager.queryInsertObject(56,new Metamorphe());
|
||||
DatabaseManager.queryInsertObject(57,new Vampire());
|
||||
|
||||
*/
|
||||
//62
|
||||
|
||||
|
||||
//CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.VISION,new Point(2,3));
|
||||
|
||||
DatabaseManager.queryInsertObject(62,new CarteLieuType(CartePiochable.Type.VISION,new Point(2,3)));
|
||||
|
||||
//63
|
||||
CarteLieu lieu2 = new CarteLieuType(CartePiochable.Type.TENEBRE,new Point(-1,8));
|
||||
|
||||
DatabaseManager.queryInsertObject(63,lieu2);
|
||||
|
||||
// 64
|
||||
CarteLieu lieu3 = new CarteLieu(new Point(-1,9));
|
||||
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
|
||||
|
||||
|
||||
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true))));
|
||||
|
||||
DatabaseManager.queryInsertObject(64,lieu3);
|
||||
// 65
|
||||
CarteLieu lieu4 = new CarteLieuType(CartePiochable.Type.LUMIERE,new Point(-1,6));
|
||||
|
||||
DatabaseManager.queryInsertObject(65,lieu4);
|
||||
|
||||
CarteLieu lieu5 = new CarteLieuMultiple(new Point(4,5));
|
||||
|
||||
DatabaseManager.queryInsertObject(66,lieu5);
|
||||
// 66
|
||||
CarteLieu lieu6 = new CarteLieu(new Point(-1,9));
|
||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||
|
||||
DatabaseManager.queryInsertObject(67,lieu6);
|
||||
|
||||
} catch (IOException | SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,6 +85,8 @@ public class DatabaseManager {
|
||||
table = QueryGenerator.getTable("CartesPersonnage");
|
||||
} else if(id <= 61) {
|
||||
table = QueryGenerator.getTable("CartesDos");
|
||||
} else if(id <= 67) {
|
||||
table = QueryGenerator.getTable("CartesLieu");
|
||||
}
|
||||
|
||||
String query = null;
|
||||
|
@ -5,12 +5,15 @@ import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import carte.Carte;
|
||||
import carte.CarteLieu;
|
||||
import carte.CartePiochable;
|
||||
import personnage.CartePersonnage;
|
||||
|
||||
@ -32,16 +35,16 @@ public class RessourceLoader {
|
||||
private final int ID_DOS_TENEBRE= 59;
|
||||
private final int ID_DOS_VISION= 61;
|
||||
|
||||
private Map<String, Map<Carte, Image>> ressourcesCartes;
|
||||
private Map<Carte, Image> ressourcesCartes;
|
||||
private Map<String, Image> ressourcesDosCartes;
|
||||
|
||||
|
||||
public RessourceLoader() {
|
||||
this.ressourcesCartes = new HashMap<String, Map<Carte,Image>>();
|
||||
this.ressourcesCartes = new HashMap<Carte,Image>();
|
||||
this.ressourcesDosCartes = new HashMap<String, Image>();
|
||||
}
|
||||
|
||||
private static Map<Integer, Carte> loadCards() throws ClassNotFoundException, IOException{
|
||||
private Map<Integer, Carte> loadCards() throws ClassNotFoundException, IOException{
|
||||
|
||||
Table t = new Table();
|
||||
Map<Integer, Carte> cartes = new HashMap<Integer,Carte>();
|
||||
@ -60,7 +63,7 @@ public class RessourceLoader {
|
||||
return cartes;
|
||||
}
|
||||
|
||||
private static Map<Integer, Carte> getMapType(CartePiochable.Type t, Map<Integer, Carte> cartes){
|
||||
private Map<Integer, Carte> getMapType(CartePiochable.Type t, Map<Integer, Carte> cartes){
|
||||
|
||||
Map<Integer, Carte> cartesType = new HashMap<Integer, Carte>();
|
||||
|
||||
@ -80,7 +83,7 @@ public class RessourceLoader {
|
||||
return cartesType;
|
||||
}
|
||||
|
||||
private static Map<Integer, Carte> getMapPersonnage(Map<Integer, Carte> cartes){
|
||||
private Map<Integer, Carte> getMapPersonnage(Map<Integer, Carte> cartes){
|
||||
|
||||
Map<Integer, Carte> cartesPersonnage = new HashMap<Integer, Carte>();
|
||||
|
||||
@ -102,15 +105,14 @@ public class RessourceLoader {
|
||||
return is.readObject();
|
||||
}
|
||||
|
||||
private static Image loadImage(int id) throws IOException {
|
||||
private Image loadImage(int id) throws IOException {
|
||||
String name = ""+id+".png";
|
||||
String url = "ressources/cartes/"+name;
|
||||
System.out.println(url);
|
||||
Image picture = ImageIO.read(new File(url));
|
||||
return picture;
|
||||
}
|
||||
|
||||
private static Map<Carte, Image> getMapImageCarte(Map<Integer, Carte> cartes) throws IOException{
|
||||
private Map<Carte, Image> getMapImageCarte(Map<Integer, Carte> cartes) throws IOException{
|
||||
|
||||
Map<Carte, Image> mapCarteImage = new HashMap<Carte, Image>();
|
||||
|
||||
@ -123,8 +125,7 @@ public class RessourceLoader {
|
||||
|
||||
return mapCarteImage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void loadRessources() {
|
||||
|
||||
try {
|
||||
@ -134,17 +135,14 @@ public class RessourceLoader {
|
||||
Map<Integer, Carte> mapL = getMapType(CartePiochable.Type.LUMIERE, cartes);
|
||||
Map<Integer, Carte> mapV = getMapType(CartePiochable.Type.VISION, cartes);
|
||||
Map<Integer, Carte> mapP = getMapPersonnage(cartes);
|
||||
|
||||
/*
|
||||
Map<Carte, Image> mapIT = getMapImageCarte(mapT);
|
||||
Map<Carte, Image> mapIL = getMapImageCarte(mapT);
|
||||
Map<Carte, Image> mapIV = getMapImageCarte(mapT);
|
||||
Map<Carte, Image> mapIP = getMapImageCarte(mapT);
|
||||
Map<Carte, Image> mapIL = getMapImageCarte(mapL);
|
||||
Map<Carte, Image> mapIV = getMapImageCarte(mapV);
|
||||
Map<Carte, Image> mapIP = getMapImageCarte(mapP);
|
||||
*/
|
||||
|
||||
|
||||
this.ressourcesCartes.put(CARTES_TENEBRE, mapIT);
|
||||
this.ressourcesCartes.put(CARTES_LUMIERE, mapIL);
|
||||
this.ressourcesCartes.put(CARTES_LUMIERE, mapIV);
|
||||
this.ressourcesCartes.put(CARTES_LUMIERE, mapIP);
|
||||
this.ressourcesCartes = (getMapImageCarte(cartes));
|
||||
|
||||
this.ressourcesDosCartes.put(DOS_TENEBRE, loadImage(ID_DOS_TENEBRE));
|
||||
this.ressourcesDosCartes.put(DOS_LUMIERE, loadImage(ID_DOS_LUMIERE));
|
||||
@ -155,11 +153,59 @@ public class RessourceLoader {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
RessourceLoader rl = new RessourceLoader();
|
||||
rl.loadRessources();
|
||||
|
||||
public List<Carte> getCartes() {
|
||||
return new ArrayList<Carte>(this.ressourcesCartes.keySet());
|
||||
}
|
||||
|
||||
|
||||
public static List<CartePiochable> getCartesType(CartePiochable.Type t, List<Carte> cartes){
|
||||
|
||||
List<CartePiochable> cartesType = new ArrayList<CartePiochable>();
|
||||
|
||||
for(Carte c : cartes) {
|
||||
|
||||
|
||||
if(c instanceof CartePiochable) {
|
||||
|
||||
CartePiochable carte = (CartePiochable) c;
|
||||
|
||||
CartePiochable.Type type = carte.getType();
|
||||
if(t == type) {
|
||||
cartesType.add(carte);
|
||||
}
|
||||
}
|
||||
}
|
||||
return cartesType;
|
||||
}
|
||||
|
||||
public static List<CarteLieu> getCartesType(List<Carte> cartes){
|
||||
|
||||
List<CarteLieu> cartesLieu = new ArrayList<CarteLieu>();
|
||||
|
||||
for(Carte c : cartes) {
|
||||
|
||||
if(c instanceof CarteLieu) {
|
||||
|
||||
CarteLieu carte = (CarteLieu) c;
|
||||
cartesLieu.add(carte);
|
||||
}
|
||||
}
|
||||
return cartesLieu;
|
||||
}
|
||||
|
||||
public static List<CartePersonnage> getCartesPersonnages(List<Carte> cartes) {
|
||||
List<CartePersonnage> cartesLieu = new ArrayList<CartePersonnage>();
|
||||
|
||||
for(Carte c : cartes) {
|
||||
|
||||
if(c instanceof CartePersonnage) {
|
||||
|
||||
CartePersonnage carte = (CartePersonnage) c;
|
||||
cartesLieu.add(carte);
|
||||
}
|
||||
}
|
||||
return cartesLieu;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class ActionVoler extends Action{
|
||||
List<CarteEquipement> equipements = j2.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement equipement = j1.choisir(equipements);
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||
|
||||
j1.voler(j2,equipement);
|
||||
}else {
|
||||
@ -46,7 +46,7 @@ public class ActionVoler extends Action{
|
||||
List<CarteEquipement> equipements = j1.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement equipement = j1.choisir(equipements);
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||
|
||||
j2.voler(j1,equipement);
|
||||
|
||||
|
@ -20,7 +20,7 @@ public class Main extends Application {
|
||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||
Pane root = fxmlLoader.load();
|
||||
|
||||
|
||||
primaryStage.setTitle("Shadow Hunters");
|
||||
primaryStage.setScene(new Scene(root));
|
||||
primaryStage.centerOnScreen();
|
||||
@ -35,8 +35,13 @@ public class Main extends Application {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
//System.err.close();
|
||||
|
||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||
/*
|
||||
RessourceLoader rl = new RessourceLoader();
|
||||
rl.loadRessources();
|
||||
gj.setRessourceLoader(rl);
|
||||
*/
|
||||
launch(args);
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package ihm;
|
||||
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.Pane;
|
||||
|
||||
public class ZoneJoueurThread extends Thread {
|
||||
|
||||
private boolean finished;
|
||||
|
||||
|
||||
|
||||
public ZoneJoueurThread(AnchorPane anchorPane, Pane pane) {
|
||||
this.finished = false;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
while(!finished) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,11 +1,13 @@
|
||||
package ihm.controller;
|
||||
|
||||
import carte.CarteLieu;
|
||||
import javafx.animation.TranslateTransition;
|
||||
import javafx.scene.layout.FlowPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.util.Duration;
|
||||
import main.Joueur;
|
||||
|
||||
public class GestionnaireDePions {
|
||||
@ -33,9 +35,18 @@ public class GestionnaireDePions {
|
||||
FlowPane fpAncient = (FlowPane) nAncient.getChildren().get(0);
|
||||
fpAncient.getChildren().remove(pionVie);
|
||||
|
||||
System.out.println(damage);
|
||||
if(damage < 0) {
|
||||
damage = 0;
|
||||
}else if(damage > gp.getChildren().size()-1) {
|
||||
damage = gp.getChildren().size()-1;
|
||||
}
|
||||
StackPane nNew = (StackPane) gp.getChildren().get(damage);
|
||||
FlowPane fpNew = (FlowPane) nNew.getChildren().get(0);
|
||||
|
||||
fpNew.getChildren().add(pionVie);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void deplacerPionLieux(Joueur j) {
|
||||
@ -56,9 +67,21 @@ public class GestionnaireDePions {
|
||||
|
||||
StackPane sp = (StackPane) hbox.getChildren().get(indexCL%2);
|
||||
FlowPane fp = (FlowPane) sp.getChildren().get(0);
|
||||
fp.getChildren().add(this.pionLieu);
|
||||
|
||||
|
||||
fp.getChildren().add(this.pionLieu);
|
||||
}
|
||||
|
||||
|
||||
public void animationDeplacer(double x, double y, Pion p) {
|
||||
|
||||
|
||||
TranslateTransition translate = new TranslateTransition();
|
||||
|
||||
translate.setByX(x);
|
||||
translate.setByY(y);
|
||||
translate.setDuration(Duration.millis(2000));
|
||||
translate.setNode(p);
|
||||
translate.play();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -291,8 +291,8 @@ public class PlateauController implements Initializable {
|
||||
}
|
||||
|
||||
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||
/*JoueurIHM jIHM = getJoueurIHM(joueur);
|
||||
jIHM.deplacerPionVie(damage);*/
|
||||
JoueurIHM jIHM = getJoueurIHM(joueur);
|
||||
jIHM.deplacerPionVie(damage);
|
||||
|
||||
}
|
||||
|
||||
|
@ -9,44 +9,32 @@
|
||||
|
||||
<AnchorPane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1280.0" styleClass="background" stylesheets="@style/plateau.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.MenuController">
|
||||
<children>
|
||||
<VBox alignment="CENTER" layoutX="-3.0" layoutY="-7.0" prefHeight="802.0" prefWidth="1290.0">
|
||||
<VBox alignment="CENTER" layoutX="-3.0" layoutY="-7.0" spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<children>
|
||||
<ImageView fx:id="titre" fitHeight="190.0" fitWidth="528.0" pickOnBounds="true" preserveRatio="true">
|
||||
<VBox.margin>
|
||||
<Insets top="-200.0" />
|
||||
<Insets bottom="50.0" />
|
||||
</VBox.margin>
|
||||
</ImageView>
|
||||
<Button mnemonicParsing="false" onMouseClicked="#commencerPartie" prefHeight="51.0" prefWidth="102.0" styleClass="bouton" text="%jouer">
|
||||
<Button mnemonicParsing="false" onMouseClicked="#commencerPartie" styleClass="bouton" text="%jouer">
|
||||
<font>
|
||||
<Font size="24.0" />
|
||||
</font>
|
||||
<VBox.margin>
|
||||
<Insets top="100.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
<Button layoutX="602.0" layoutY="480.0" mnemonicParsing="false" onMouseClicked="#ouvrirParametres" prefHeight="59.0" prefWidth="164.0" styleClass="bouton" text="Paramètres">
|
||||
<Button mnemonicParsing="false" onMouseClicked="#ouvrirParametres" styleClass="bouton" text="Paramètres">
|
||||
<font>
|
||||
<Font size="24.0" />
|
||||
</font>
|
||||
<VBox.margin>
|
||||
<Insets top="50.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onMouseClicked="#afficherRegle" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="%regles">
|
||||
<Button mnemonicParsing="false" onMouseClicked="#afficherRegle" styleClass="bouton" text="%regles">
|
||||
<font>
|
||||
<Font size="24.0" />
|
||||
</font>
|
||||
<VBox.margin>
|
||||
<Insets top="50.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onMouseClicked="#quitterLappli" prefHeight="48.0" prefWidth="108.0" styleClass="bouton" text="quitter">
|
||||
<Button mnemonicParsing="false" onMouseClicked="#quitterLappli" styleClass="bouton" text="Quitter">
|
||||
<font>
|
||||
<Font size="24.0" />
|
||||
</font>
|
||||
<VBox.margin>
|
||||
<Insets top="50.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
</children>
|
||||
</VBox>
|
||||
|
@ -8,6 +8,7 @@ import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.FutureTask;
|
||||
|
||||
import database.RessourceLoader;
|
||||
import effet.Effet;
|
||||
import ihm.controller.PlateauController;
|
||||
import javafx.application.Platform;
|
||||
@ -17,6 +18,8 @@ public class GestionnaireJeu {
|
||||
private static GestionnaireJeu gj;
|
||||
|
||||
private Map<Integer, Joueur> mapJoueurs;
|
||||
|
||||
private RessourceLoader ressourceLoader;
|
||||
|
||||
private static Plateau plateau;
|
||||
private static PlateauController pc;
|
||||
@ -38,15 +41,6 @@ public class GestionnaireJeu {
|
||||
public void lancerPartie() {
|
||||
plateau.start();
|
||||
}
|
||||
|
||||
public void jouer(Configuration c) {
|
||||
|
||||
}
|
||||
|
||||
public static Configuration lancerConfiguration() {
|
||||
//TODO
|
||||
return null;
|
||||
}
|
||||
|
||||
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
||||
return joueurs.get(0);
|
||||
@ -68,6 +62,13 @@ public class GestionnaireJeu {
|
||||
});
|
||||
}
|
||||
|
||||
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||
|
||||
Platform.runLater(() -> {
|
||||
pc.updateVieJoueur(joueur, damage);
|
||||
});
|
||||
}
|
||||
|
||||
public boolean choisir(Joueur joueur) {
|
||||
|
||||
Platform.runLater(() -> {
|
||||
@ -132,8 +133,8 @@ public class GestionnaireJeu {
|
||||
for(Joueur j : mapJoueurs.values()) {
|
||||
joueurs.add(j);
|
||||
}
|
||||
|
||||
plateau = new Plateau(joueurs);
|
||||
//plateau = new Plateau(joueurs,ressourceLoader.getCartes());
|
||||
|
||||
}
|
||||
|
||||
@ -151,15 +152,14 @@ public class GestionnaireJeu {
|
||||
|
||||
}
|
||||
|
||||
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||
pc.updateVieJoueur(joueur, damage);
|
||||
|
||||
}
|
||||
|
||||
public static void endGame() {
|
||||
plateau.stop();
|
||||
}
|
||||
|
||||
public void setRessourceLoader(RessourceLoader rl) {
|
||||
this.ressourceLoader = rl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -4,8 +4,9 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import carte.CarteLieu;
|
||||
import carte.Carte;
|
||||
import carte.CarteEquipement;
|
||||
import carte.CarteLieu;
|
||||
import effet.Effet;
|
||||
import personnage.CartePersonnage;
|
||||
import personnage.CartePersonnage.Equipe;
|
||||
@ -64,6 +65,9 @@ public class Joueur {
|
||||
return this.cartePersonnage.getEquipe();
|
||||
}
|
||||
|
||||
private void changeStat(String key, int valeur) {
|
||||
this.stats.put(key, valeur);
|
||||
}
|
||||
public void setStat(String key, int valeur) {
|
||||
this.stats.put(key, valeur);
|
||||
updateVictoirePlateau();
|
||||
@ -87,10 +91,10 @@ public class Joueur {
|
||||
private void updateVie() {
|
||||
int damage = damageTaken();
|
||||
this.plateau.updateVieJoueur(this, damage);
|
||||
|
||||
}
|
||||
|
||||
public int damageTaken() {
|
||||
System.out.println(this.cartePersonnage.getPv()+ " "+this.getStat(PLAYER_HP));
|
||||
return this.cartePersonnage.getPv() - this.getStat(PLAYER_HP);
|
||||
}
|
||||
|
||||
@ -130,7 +134,7 @@ public class Joueur {
|
||||
j2.gestionnaireEquipements.retirer(equipement);
|
||||
this.gestionnaireEquipements.ajouter(equipement); }
|
||||
|
||||
public CarteEquipement choisir(List<CarteEquipement> equipements) {
|
||||
public Object choisir(List<?> equipements) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -193,6 +197,7 @@ public class Joueur {
|
||||
|
||||
public void setCartePersonnage(CartePersonnage cp) {
|
||||
this.cartePersonnage = cp;
|
||||
this.changeStat(PLAYER_HP, cp.getPv());
|
||||
}
|
||||
|
||||
public void setPlateau(Plateau plateau2) {
|
||||
|
@ -9,26 +9,22 @@ import carte.CartePiochable;
|
||||
public class Pioche {
|
||||
|
||||
private Stack<CartePiochable> cartesPiochables;
|
||||
private CartePiochable.Type type;
|
||||
|
||||
public Pioche(List<CartePiochable> cartesPiochables) {
|
||||
|
||||
}
|
||||
|
||||
public Pioche(CartePiochable.Type type, List<CartePiochable> list1) {
|
||||
public Pioche(List<CartePiochable> list1) {
|
||||
super();
|
||||
this.type = type;
|
||||
this.cartesPiochables = new Stack<CartePiochable>();
|
||||
this.cartesPiochables.addAll(cartesPiochables);
|
||||
this.cartesPiochables.addAll(list1);
|
||||
melanger();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void melanger()
|
||||
{
|
||||
Collections.shuffle(cartesPiochables);
|
||||
}
|
||||
|
||||
public CartePiochable piocher() {
|
||||
public CartePiochable piocher() {
|
||||
return cartesPiochables.pop();
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,12 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import carte.Carte;
|
||||
import carte.CarteLieu;
|
||||
import carte.CarteLieuMultiple;
|
||||
import carte.CarteLieuType;
|
||||
import carte.CartePiochable;
|
||||
import database.RessourceLoader;
|
||||
import effet.Effet;
|
||||
import effet.EffetChoisirCible;
|
||||
import effet.EffetChoisirEffet;
|
||||
@ -121,6 +124,66 @@ public class Plateau extends Thread{
|
||||
|
||||
}
|
||||
|
||||
public Plateau(List<Joueur> joueurs, List<Carte> cartes) {
|
||||
|
||||
this.gj = GestionnaireJeu.getGestionnaireJeu();
|
||||
this.lieux = new ArrayList<>();
|
||||
this.stats = new HashMap<>();
|
||||
|
||||
this.joueurs = joueurs;
|
||||
|
||||
this.stats.put(NB_MORTS, 0);
|
||||
this.stats.put(NB_MORTS_NEUTRAL, 0);
|
||||
this.stats.put(NB_MORTS_HUNTER, 0);
|
||||
this.stats.put(NB_MORTS_SHADOW, 0);
|
||||
this.stats.put(PARTIE_FINIE, 0);
|
||||
this.stats.put(NB_HUNTERS, 0);
|
||||
this.stats.put(NB_SHADOWS, 0);
|
||||
this.stats.put(NB_NEUTRES, 0);
|
||||
|
||||
|
||||
joueurs.forEach(x -> x.setPlateau(this));
|
||||
|
||||
|
||||
List<CartePiochable> lumiere = RessourceLoader.getCartesType(CartePiochable.Type.LUMIERE, cartes);
|
||||
List<CartePiochable> tenebre = RessourceLoader.getCartesType(CartePiochable.Type.TENEBRE, cartes);
|
||||
List<CartePiochable> vision = RessourceLoader.getCartesType(CartePiochable.Type.VISION, cartes);
|
||||
|
||||
Map<CartePiochable.Type, List<CartePiochable>> map = new HashMap<CartePiochable.Type, List<CartePiochable>>();
|
||||
map.put(CartePiochable.Type.LUMIERE,lumiere);
|
||||
map.put(CartePiochable.Type.TENEBRE,tenebre);
|
||||
map.put(CartePiochable.Type.VISION,vision);
|
||||
|
||||
List<CarteLieu> lieux = RessourceLoader.getCartesType(cartes);
|
||||
|
||||
lieux.forEach(x -> {
|
||||
|
||||
if(x instanceof CarteLieuType) {
|
||||
CarteLieuType clt = (CarteLieuType)x;
|
||||
clt.setPioche(new Pioche(map.get(clt.getType())));
|
||||
}
|
||||
|
||||
if(x instanceof CarteLieuMultiple) {
|
||||
CarteLieuMultiple clm = (CarteLieuMultiple)x;
|
||||
|
||||
List<Pioche> lp = new ArrayList<Pioche>();
|
||||
lp.add(new Pioche(map.get(CartePiochable.Type.LUMIERE)));
|
||||
lp.add(new Pioche(map.get(CartePiochable.Type.TENEBRE)));
|
||||
lp.add(new Pioche(map.get(CartePiochable.Type.VISION)));
|
||||
clm.setPioches(lp);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
List<CartePersonnage> personnages = RessourceLoader.getCartesPersonnages(cartes);
|
||||
|
||||
try {
|
||||
initCartePersonnage(personnages);
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
setLieux(lieux);
|
||||
}
|
||||
|
||||
public void initCartePersonnage(List<CartePersonnage> cps) throws Exception {
|
||||
|
||||
@ -211,12 +274,7 @@ public class Plateau extends Thread{
|
||||
System.out.println("Vous passez a "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
||||
if(isPartieTerminee()) break;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
} catch (InterruptedException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
System.out.println("\n");
|
||||
|
||||
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
||||
@ -229,12 +287,6 @@ public class Plateau extends Thread{
|
||||
System.out.println("Il n'y a personne a attaquer.");
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
} catch (InterruptedException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
i++;
|
||||
|
@ -69,8 +69,8 @@ class PlateauTest {
|
||||
}
|
||||
|
||||
|
||||
Pioche piocheLumiere = new Pioche(CartePiochable.Type.LUMIERE,list1);
|
||||
Pioche piocheTenebre = new Pioche(CartePiochable.Type.TENEBRE,list2);
|
||||
Pioche piocheLumiere = new Pioche(list1);
|
||||
Pioche piocheTenebre = new Pioche(list2);
|
||||
|
||||
|
||||
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
||||
|
Loading…
x
Reference in New Issue
Block a user