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 Point coordinates;
|
||||||
private CarteLieu voisin;
|
private CarteLieu voisin;
|
||||||
|
|
||||||
|
public CarteLieu(Point point) {
|
||||||
|
this("","",point);
|
||||||
|
}
|
||||||
|
|
||||||
public CarteLieu(String nom, String description, Point p) {
|
public CarteLieu(String nom, String description, Point p) {
|
||||||
super(nom, description);
|
super(nom, description);
|
||||||
this.coordinates = p;
|
this.coordinates = p;
|
||||||
this.listeJoueurs = new ArrayList<Joueur>();
|
this.listeJoueurs = new ArrayList<Joueur>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
* @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 java.awt.Point;
|
||||||
|
|
||||||
|
import carte.CartePiochable.Type;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.Pioche;
|
import main.Pioche;
|
||||||
|
|
||||||
@ -15,19 +16,34 @@ public class CarteLieuType extends CarteLieu{
|
|||||||
private CartePiochable.Type type;
|
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) {
|
public CarteLieuType(CartePiochable.Type type,String name, String description ,Point coordinates,Pioche pioche) {
|
||||||
super(name , description , coordinates);
|
super(name , description , coordinates);
|
||||||
this.type = type;
|
this.setType(type);
|
||||||
this.pioche = pioche;
|
this.pioche = pioche;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||||
*/
|
*/
|
||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
|
|
||||||
CartePiochable carte = pioche.piocher();
|
CartePiochable carte = pioche.piocher();
|
||||||
carte.utiliser(j);
|
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;
|
package database;
|
||||||
|
|
||||||
|
import java.awt.Point;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
import carte.CarteEquipementStat;
|
import carte.CarteEquipementStat;
|
||||||
|
import carte.CarteLieu;
|
||||||
|
import carte.CarteLieuMultiple;
|
||||||
|
import carte.CarteLieuType;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
import condition.ConditionClassPersonnage;
|
import condition.ConditionClassPersonnage;
|
||||||
import condition.ConditionEquipe;
|
import condition.ConditionEquipe;
|
||||||
@ -21,9 +25,6 @@ import effet.action.ActionMultiple;
|
|||||||
import effet.action.ActionReveal;
|
import effet.action.ActionReveal;
|
||||||
import effet.action.ActionVoler;
|
import effet.action.ActionVoler;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.TypeLumiere;
|
|
||||||
import main.TypeTenebre;
|
|
||||||
import main.TypeVision;
|
|
||||||
import personnage.Allie;
|
import personnage.Allie;
|
||||||
import personnage.Bob;
|
import personnage.Bob;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
@ -44,6 +45,7 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
//Ange gardien
|
//Ange gardien
|
||||||
try {
|
try {
|
||||||
|
/*
|
||||||
DatabaseManager.queryInsertObject(2,new CartePiochable(CartePiochable.Type.LUMIERE,
|
DatabaseManager.queryInsertObject(2,new CartePiochable(CartePiochable.Type.LUMIERE,
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
|
||||||
|
|
||||||
@ -237,10 +239,47 @@ public class CreatingCardsTest {
|
|||||||
DatabaseManager.queryInsertObject(55,new LoupGarou());
|
DatabaseManager.queryInsertObject(55,new LoupGarou());
|
||||||
DatabaseManager.queryInsertObject(56,new Metamorphe());
|
DatabaseManager.queryInsertObject(56,new Metamorphe());
|
||||||
DatabaseManager.queryInsertObject(57,new Vampire());
|
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) {
|
} catch (IOException | SQLException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,6 +85,8 @@ public class DatabaseManager {
|
|||||||
table = QueryGenerator.getTable("CartesPersonnage");
|
table = QueryGenerator.getTable("CartesPersonnage");
|
||||||
} else if(id <= 61) {
|
} else if(id <= 61) {
|
||||||
table = QueryGenerator.getTable("CartesDos");
|
table = QueryGenerator.getTable("CartesDos");
|
||||||
|
} else if(id <= 67) {
|
||||||
|
table = QueryGenerator.getTable("CartesLieu");
|
||||||
}
|
}
|
||||||
|
|
||||||
String query = null;
|
String query = null;
|
||||||
|
@ -5,12 +5,15 @@ import java.io.ByteArrayInputStream;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
import carte.Carte;
|
import carte.Carte;
|
||||||
|
import carte.CarteLieu;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
|
||||||
@ -32,16 +35,16 @@ public class RessourceLoader {
|
|||||||
private final int ID_DOS_TENEBRE= 59;
|
private final int ID_DOS_TENEBRE= 59;
|
||||||
private final int ID_DOS_VISION= 61;
|
private final int ID_DOS_VISION= 61;
|
||||||
|
|
||||||
private Map<String, Map<Carte, Image>> ressourcesCartes;
|
private Map<Carte, Image> ressourcesCartes;
|
||||||
private Map<String, Image> ressourcesDosCartes;
|
private Map<String, Image> ressourcesDosCartes;
|
||||||
|
|
||||||
|
|
||||||
public RessourceLoader() {
|
public RessourceLoader() {
|
||||||
this.ressourcesCartes = new HashMap<String, Map<Carte,Image>>();
|
this.ressourcesCartes = new HashMap<Carte,Image>();
|
||||||
this.ressourcesDosCartes = new HashMap<String, 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();
|
Table t = new Table();
|
||||||
Map<Integer, Carte> cartes = new HashMap<Integer,Carte>();
|
Map<Integer, Carte> cartes = new HashMap<Integer,Carte>();
|
||||||
@ -60,7 +63,7 @@ public class RessourceLoader {
|
|||||||
return cartes;
|
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>();
|
Map<Integer, Carte> cartesType = new HashMap<Integer, Carte>();
|
||||||
|
|
||||||
@ -80,7 +83,7 @@ public class RessourceLoader {
|
|||||||
return cartesType;
|
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>();
|
Map<Integer, Carte> cartesPersonnage = new HashMap<Integer, Carte>();
|
||||||
|
|
||||||
@ -102,15 +105,14 @@ public class RessourceLoader {
|
|||||||
return is.readObject();
|
return is.readObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Image loadImage(int id) throws IOException {
|
private Image loadImage(int id) throws IOException {
|
||||||
String name = ""+id+".png";
|
String name = ""+id+".png";
|
||||||
String url = "ressources/cartes/"+name;
|
String url = "ressources/cartes/"+name;
|
||||||
System.out.println(url);
|
|
||||||
Image picture = ImageIO.read(new File(url));
|
Image picture = ImageIO.read(new File(url));
|
||||||
return picture;
|
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>();
|
Map<Carte, Image> mapCarteImage = new HashMap<Carte, Image>();
|
||||||
|
|
||||||
@ -123,8 +125,7 @@ public class RessourceLoader {
|
|||||||
|
|
||||||
return mapCarteImage;
|
return mapCarteImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void loadRessources() {
|
public void loadRessources() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -134,17 +135,14 @@ public class RessourceLoader {
|
|||||||
Map<Integer, Carte> mapL = getMapType(CartePiochable.Type.LUMIERE, cartes);
|
Map<Integer, Carte> mapL = getMapType(CartePiochable.Type.LUMIERE, cartes);
|
||||||
Map<Integer, Carte> mapV = getMapType(CartePiochable.Type.VISION, cartes);
|
Map<Integer, Carte> mapV = getMapType(CartePiochable.Type.VISION, cartes);
|
||||||
Map<Integer, Carte> mapP = getMapPersonnage(cartes);
|
Map<Integer, Carte> mapP = getMapPersonnage(cartes);
|
||||||
|
/*
|
||||||
Map<Carte, Image> mapIT = getMapImageCarte(mapT);
|
Map<Carte, Image> mapIT = getMapImageCarte(mapT);
|
||||||
Map<Carte, Image> mapIL = getMapImageCarte(mapT);
|
Map<Carte, Image> mapIL = getMapImageCarte(mapL);
|
||||||
Map<Carte, Image> mapIV = getMapImageCarte(mapT);
|
Map<Carte, Image> mapIV = getMapImageCarte(mapV);
|
||||||
Map<Carte, Image> mapIP = getMapImageCarte(mapT);
|
Map<Carte, Image> mapIP = getMapImageCarte(mapP);
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.ressourcesCartes = (getMapImageCarte(cartes));
|
||||||
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.ressourcesDosCartes.put(DOS_TENEBRE, loadImage(ID_DOS_TENEBRE));
|
this.ressourcesDosCartes.put(DOS_TENEBRE, loadImage(ID_DOS_TENEBRE));
|
||||||
this.ressourcesDosCartes.put(DOS_LUMIERE, loadImage(ID_DOS_LUMIERE));
|
this.ressourcesDosCartes.put(DOS_LUMIERE, loadImage(ID_DOS_LUMIERE));
|
||||||
@ -155,11 +153,59 @@ public class RessourceLoader {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public List<Carte> getCartes() {
|
||||||
RessourceLoader rl = new RessourceLoader();
|
return new ArrayList<Carte>(this.ressourcesCartes.keySet());
|
||||||
rl.loadRessources();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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();
|
List<CarteEquipement> equipements = j2.getEquipements();
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
CarteEquipement equipement = j1.choisir(equipements);
|
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||||
|
|
||||||
j1.voler(j2,equipement);
|
j1.voler(j2,equipement);
|
||||||
}else {
|
}else {
|
||||||
@ -46,7 +46,7 @@ public class ActionVoler extends Action{
|
|||||||
List<CarteEquipement> equipements = j1.getEquipements();
|
List<CarteEquipement> equipements = j1.getEquipements();
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
CarteEquipement equipement = j1.choisir(equipements);
|
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||||
|
|
||||||
j2.voler(j1,equipement);
|
j2.voler(j1,equipement);
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ public class Main extends Application {
|
|||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = fxmlLoader.load();
|
Pane root = fxmlLoader.load();
|
||||||
|
|
||||||
primaryStage.setTitle("Shadow Hunters");
|
primaryStage.setTitle("Shadow Hunters");
|
||||||
primaryStage.setScene(new Scene(root));
|
primaryStage.setScene(new Scene(root));
|
||||||
primaryStage.centerOnScreen();
|
primaryStage.centerOnScreen();
|
||||||
@ -35,8 +35,13 @@ public class Main extends Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
//System.err.close();
|
|
||||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
|
/*
|
||||||
|
RessourceLoader rl = new RessourceLoader();
|
||||||
|
rl.loadRessources();
|
||||||
|
gj.setRessourceLoader(rl);
|
||||||
|
*/
|
||||||
launch(args);
|
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;
|
package ihm.controller;
|
||||||
|
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
|
import javafx.animation.TranslateTransition;
|
||||||
import javafx.scene.layout.FlowPane;
|
import javafx.scene.layout.FlowPane;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.util.Duration;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public class GestionnaireDePions {
|
public class GestionnaireDePions {
|
||||||
@ -33,9 +35,18 @@ public class GestionnaireDePions {
|
|||||||
FlowPane fpAncient = (FlowPane) nAncient.getChildren().get(0);
|
FlowPane fpAncient = (FlowPane) nAncient.getChildren().get(0);
|
||||||
fpAncient.getChildren().remove(pionVie);
|
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);
|
StackPane nNew = (StackPane) gp.getChildren().get(damage);
|
||||||
FlowPane fpNew = (FlowPane) nNew.getChildren().get(0);
|
FlowPane fpNew = (FlowPane) nNew.getChildren().get(0);
|
||||||
|
|
||||||
fpNew.getChildren().add(pionVie);
|
fpNew.getChildren().add(pionVie);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deplacerPionLieux(Joueur j) {
|
public void deplacerPionLieux(Joueur j) {
|
||||||
@ -56,9 +67,21 @@ public class GestionnaireDePions {
|
|||||||
|
|
||||||
StackPane sp = (StackPane) hbox.getChildren().get(indexCL%2);
|
StackPane sp = (StackPane) hbox.getChildren().get(indexCL%2);
|
||||||
FlowPane fp = (FlowPane) sp.getChildren().get(0);
|
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) {
|
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||||
/*JoueurIHM jIHM = getJoueurIHM(joueur);
|
JoueurIHM jIHM = getJoueurIHM(joueur);
|
||||||
jIHM.deplacerPionVie(damage);*/
|
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">
|
<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>
|
<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>
|
<children>
|
||||||
<ImageView fx:id="titre" fitHeight="190.0" fitWidth="528.0" pickOnBounds="true" preserveRatio="true">
|
<ImageView fx:id="titre" fitHeight="190.0" fitWidth="528.0" pickOnBounds="true" preserveRatio="true">
|
||||||
<VBox.margin>
|
<VBox.margin>
|
||||||
<Insets top="-200.0" />
|
<Insets bottom="50.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</ImageView>
|
</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>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
<VBox.margin>
|
|
||||||
<Insets top="100.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Button>
|
</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>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
<VBox.margin>
|
|
||||||
<Insets top="50.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Button>
|
</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>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
<VBox.margin>
|
|
||||||
<Insets top="50.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Button>
|
</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>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
<VBox.margin>
|
|
||||||
<Insets top="50.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Button>
|
</Button>
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
|
@ -8,6 +8,7 @@ import java.util.concurrent.Callable;
|
|||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.FutureTask;
|
import java.util.concurrent.FutureTask;
|
||||||
|
|
||||||
|
import database.RessourceLoader;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import ihm.controller.PlateauController;
|
import ihm.controller.PlateauController;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
@ -17,6 +18,8 @@ public class GestionnaireJeu {
|
|||||||
private static GestionnaireJeu gj;
|
private static GestionnaireJeu gj;
|
||||||
|
|
||||||
private Map<Integer, Joueur> mapJoueurs;
|
private Map<Integer, Joueur> mapJoueurs;
|
||||||
|
|
||||||
|
private RessourceLoader ressourceLoader;
|
||||||
|
|
||||||
private static Plateau plateau;
|
private static Plateau plateau;
|
||||||
private static PlateauController pc;
|
private static PlateauController pc;
|
||||||
@ -38,15 +41,6 @@ public class GestionnaireJeu {
|
|||||||
public void lancerPartie() {
|
public void lancerPartie() {
|
||||||
plateau.start();
|
plateau.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void jouer(Configuration c) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Configuration lancerConfiguration() {
|
|
||||||
//TODO
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
||||||
return joueurs.get(0);
|
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) {
|
public boolean choisir(Joueur joueur) {
|
||||||
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
@ -132,8 +133,8 @@ public class GestionnaireJeu {
|
|||||||
for(Joueur j : mapJoueurs.values()) {
|
for(Joueur j : mapJoueurs.values()) {
|
||||||
joueurs.add(j);
|
joueurs.add(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
plateau = new Plateau(joueurs);
|
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() {
|
public static void endGame() {
|
||||||
plateau.stop();
|
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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.CarteLieu;
|
import carte.Carte;
|
||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
|
import carte.CarteLieu;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
import personnage.CartePersonnage.Equipe;
|
import personnage.CartePersonnage.Equipe;
|
||||||
@ -64,6 +65,9 @@ public class Joueur {
|
|||||||
return this.cartePersonnage.getEquipe();
|
return this.cartePersonnage.getEquipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void changeStat(String key, int valeur) {
|
||||||
|
this.stats.put(key, valeur);
|
||||||
|
}
|
||||||
public void setStat(String key, int valeur) {
|
public void setStat(String key, int valeur) {
|
||||||
this.stats.put(key, valeur);
|
this.stats.put(key, valeur);
|
||||||
updateVictoirePlateau();
|
updateVictoirePlateau();
|
||||||
@ -87,10 +91,10 @@ public class Joueur {
|
|||||||
private void updateVie() {
|
private void updateVie() {
|
||||||
int damage = damageTaken();
|
int damage = damageTaken();
|
||||||
this.plateau.updateVieJoueur(this, damage);
|
this.plateau.updateVieJoueur(this, damage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int damageTaken() {
|
public int damageTaken() {
|
||||||
|
System.out.println(this.cartePersonnage.getPv()+ " "+this.getStat(PLAYER_HP));
|
||||||
return 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);
|
j2.gestionnaireEquipements.retirer(equipement);
|
||||||
this.gestionnaireEquipements.ajouter(equipement); }
|
this.gestionnaireEquipements.ajouter(equipement); }
|
||||||
|
|
||||||
public CarteEquipement choisir(List<CarteEquipement> equipements) {
|
public Object choisir(List<?> equipements) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,6 +197,7 @@ public class Joueur {
|
|||||||
|
|
||||||
public void setCartePersonnage(CartePersonnage cp) {
|
public void setCartePersonnage(CartePersonnage cp) {
|
||||||
this.cartePersonnage = cp;
|
this.cartePersonnage = cp;
|
||||||
|
this.changeStat(PLAYER_HP, cp.getPv());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlateau(Plateau plateau2) {
|
public void setPlateau(Plateau plateau2) {
|
||||||
|
@ -9,26 +9,22 @@ import carte.CartePiochable;
|
|||||||
public class Pioche {
|
public class Pioche {
|
||||||
|
|
||||||
private Stack<CartePiochable> cartesPiochables;
|
private Stack<CartePiochable> cartesPiochables;
|
||||||
private CartePiochable.Type type;
|
|
||||||
|
|
||||||
public Pioche(List<CartePiochable> cartesPiochables) {
|
public Pioche(List<CartePiochable> list1) {
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public Pioche(CartePiochable.Type type, List<CartePiochable> list1) {
|
|
||||||
super();
|
super();
|
||||||
this.type = type;
|
|
||||||
this.cartesPiochables = new Stack<CartePiochable>();
|
this.cartesPiochables = new Stack<CartePiochable>();
|
||||||
this.cartesPiochables.addAll(cartesPiochables);
|
this.cartesPiochables.addAll(list1);
|
||||||
melanger();
|
melanger();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void melanger()
|
public void melanger()
|
||||||
{
|
{
|
||||||
Collections.shuffle(cartesPiochables);
|
Collections.shuffle(cartesPiochables);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CartePiochable piocher() {
|
public CartePiochable piocher() {
|
||||||
return cartesPiochables.pop();
|
return cartesPiochables.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,12 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import carte.Carte;
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
|
import carte.CarteLieuMultiple;
|
||||||
import carte.CarteLieuType;
|
import carte.CarteLieuType;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
|
import database.RessourceLoader;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import effet.EffetChoisirCible;
|
import effet.EffetChoisirCible;
|
||||||
import effet.EffetChoisirEffet;
|
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 {
|
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");
|
System.out.println("Vous passez a "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
Thread.sleep(2000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
System.out.println("\n");
|
System.out.println("\n");
|
||||||
|
|
||||||
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
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.");
|
System.out.println("Il n'y a personne a attaquer.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
|
||||||
Thread.sleep(2000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
@ -69,8 +69,8 @@ class PlateauTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Pioche piocheLumiere = new Pioche(CartePiochable.Type.LUMIERE,list1);
|
Pioche piocheLumiere = new Pioche(list1);
|
||||||
Pioche piocheTenebre = new Pioche(CartePiochable.Type.TENEBRE,list2);
|
Pioche piocheTenebre = new Pioche(list2);
|
||||||
|
|
||||||
|
|
||||||
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
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