Demo Rey
This commit is contained in:
parent
d368228aab
commit
51b6e80e45
@ -18,7 +18,12 @@ public abstract class CarteCondition extends CarteEffet{
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
if(this.condition.isTrue(j)) {
|
if(this.condition != null) {
|
||||||
|
|
||||||
|
if(this.condition.isTrue(j)) {
|
||||||
|
super.utiliser(j);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
super.utiliser(j);
|
super.utiliser(j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,10 @@ public class CarteLieu extends CarteEffet{
|
|||||||
return this.coordinates;
|
return this.coordinates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ajouterJoueur(Joueur joueur) {
|
||||||
|
this.listeJoueurs.add(joueur);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,6 +21,4 @@ public class Main extends Application{
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
launch(args);
|
launch(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
package ihm;
|
package ihm;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.Window.Type;
|
|
||||||
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
|
|
||||||
import javafx.embed.swing.JFXPanel;
|
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
@ -66,10 +61,6 @@ public class PopUp{
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void display() {
|
public void display() {
|
||||||
@ -78,8 +69,6 @@ public class PopUp{
|
|||||||
|
|
||||||
popup.showAndWait();
|
popup.showAndWait();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
75
src/ihm/PopUpBoolean.java
Normal file
75
src/ihm/PopUpBoolean.java
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package ihm;
|
||||||
|
|
||||||
|
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.Parent;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.stage.Modality;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import javafx.stage.StageStyle;
|
||||||
|
|
||||||
|
public class PopUpBoolean {
|
||||||
|
|
||||||
|
|
||||||
|
@FXML private Pane rootPane;
|
||||||
|
private Scene scene;
|
||||||
|
private Stage popup;
|
||||||
|
public static boolean result;
|
||||||
|
private double xOffSet = 0;
|
||||||
|
private double yOffSet = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public PopUpBoolean (Parent p, String titre) {
|
||||||
|
|
||||||
|
|
||||||
|
popup = new Stage();
|
||||||
|
|
||||||
|
popup.initModality(Modality.WINDOW_MODAL);
|
||||||
|
|
||||||
|
popup.initStyle(StageStyle.UNDECORATED);
|
||||||
|
|
||||||
|
popup.setTitle(titre);
|
||||||
|
|
||||||
|
scene = new Scene(p);
|
||||||
|
|
||||||
|
p.setOnMousePressed(new EventHandler<MouseEvent>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(MouseEvent event){
|
||||||
|
|
||||||
|
xOffSet = event.getSceneX();
|
||||||
|
yOffSet = event.getSceneY();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
p.setOnMouseDragged(new EventHandler<MouseEvent>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(MouseEvent event){
|
||||||
|
|
||||||
|
popup.setX(event.getScreenX() - xOffSet);
|
||||||
|
popup.setY(event.getScreenY() - yOffSet);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean display() {
|
||||||
|
|
||||||
|
popup.setScene(scene);
|
||||||
|
|
||||||
|
popup.showAndWait();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
45
src/ihm/controller/ChoisirBoolean.java
Normal file
45
src/ihm/controller/ChoisirBoolean.java
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package ihm.controller;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import ihm.PopUpBoolean;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.Node;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
public class ChoisirBoolean implements Initializable{
|
||||||
|
@FXML private Pane rootPane;
|
||||||
|
|
||||||
|
@FXML private Button ouiButton;
|
||||||
|
@FXML private Button nonButton;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
|
||||||
|
}
|
||||||
|
@FXML
|
||||||
|
public void choixOui(MouseEvent mouseEvent) throws IOException{
|
||||||
|
PopUpBoolean.result = true;
|
||||||
|
final Node source = (Node) mouseEvent.getSource();
|
||||||
|
final Stage stage = (Stage) source.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void choixNon(MouseEvent mouseEvent) throws IOException{
|
||||||
|
|
||||||
|
PopUpBoolean.result = false;
|
||||||
|
final Node source = (Node) mouseEvent.getSource();
|
||||||
|
final Stage stage = (Stage) source.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
@ -28,6 +28,7 @@ public class MenuController implements Initializable{
|
|||||||
input = new FileInputStream("src\\ihm\\ressources\\img\\logo.png");
|
input = new FileInputStream("src\\ihm\\ressources\\img\\logo.png");
|
||||||
Image image = new Image(input);
|
Image image = new Image(input);
|
||||||
titre.setImage(image);
|
titre.setImage(image);
|
||||||
|
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -35,7 +36,7 @@ public class MenuController implements Initializable{
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void commencerPartie(MouseEvent mouseEvent) throws IOException{
|
public void commencerPartie(MouseEvent mouseEvent) throws IOException{
|
||||||
System.out.println("Passage à l'écran de choix des joueurs");
|
System.out.println("Passage <EFBFBD> l'<27>cran de choix des joueurs");
|
||||||
AnchorPane pane = FXMLLoader.load(getClass().getResource("../ressources/Choix_joueur.fxml"));
|
AnchorPane pane = FXMLLoader.load(getClass().getResource("../ressources/Choix_joueur.fxml"));
|
||||||
Scene scene = new Scene(pane);
|
Scene scene = new Scene(pane);
|
||||||
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
||||||
|
@ -4,20 +4,21 @@ package ihm.controller;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import ihm.Couple;
|
|
||||||
|
|
||||||
import ihm.PopUp;
|
import ihm.PopUp;
|
||||||
|
import ihm.PopUpBoolean;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.VBox;
|
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import main.GestionnaireJeu;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.View;
|
import main.View;
|
||||||
|
|
||||||
@ -45,6 +46,11 @@ public class PlateauController implements Initializable {
|
|||||||
@Override
|
@Override
|
||||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
//initialisation des attributs des joueurs
|
//initialisation des attributs des joueurs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.vboxJoueur.add(joueur1);
|
this.vboxJoueur.add(joueur1);
|
||||||
this.vboxJoueur.add(joueur2);
|
this.vboxJoueur.add(joueur2);
|
||||||
this.vboxJoueur.add(joueur3);
|
this.vboxJoueur.add(joueur3);
|
||||||
@ -105,6 +111,17 @@ public class PlateauController implements Initializable {
|
|||||||
popup.display();
|
popup.display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean choisir(Joueur j) throws IOException {
|
||||||
|
|
||||||
|
FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/choisirBoolean.fxml"));
|
||||||
|
Parent root = loader.load();
|
||||||
|
|
||||||
|
PopUpBoolean popup = new PopUpBoolean(root, "Consulter sa carte");
|
||||||
|
return popup.display();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Permet de consulter sa carte perssonage en cas d'oublie
|
* Permet de consulter sa carte perssonage en cas d'oublie
|
||||||
*
|
*
|
||||||
@ -122,8 +139,9 @@ public class PlateauController implements Initializable {
|
|||||||
popup.display();
|
popup.display();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showInformation(HashMap<Integer, Couple> j) {
|
public void showInformation(Map<Integer, Joueur> j) {
|
||||||
System.out.println("\tplacement des joueurs");
|
System.out.println("\tplacement des joueurs");
|
||||||
|
|
||||||
for (int i=0; i<this.vboxJoueur.size(); i++) {
|
for (int i=0; i<this.vboxJoueur.size(); i++) {
|
||||||
if (j.get(i) != null)
|
if (j.get(i) != null)
|
||||||
nomJoueur.get(i).setText(j.get(i).getNom());
|
nomJoueur.get(i).setText(j.get(i).getNom());
|
||||||
|
@ -5,6 +5,7 @@ import java.net.URL;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import ihm.Couple;
|
import ihm.Couple;
|
||||||
@ -21,9 +22,11 @@ import javafx.scene.control.CheckBox;
|
|||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.BorderPane;
|
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
import main.Configuration;
|
||||||
|
import main.GestionnaireJeu;
|
||||||
|
import main.Joueur;
|
||||||
|
|
||||||
public class PlayersController implements Initializable{
|
public class PlayersController implements Initializable{
|
||||||
|
|
||||||
@ -114,12 +117,20 @@ public class PlayersController implements Initializable{
|
|||||||
|
|
||||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/Plateau.fxml"));
|
FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/Plateau.fxml"));
|
||||||
Parent root = loader.load();
|
Parent root = loader.load();
|
||||||
|
|
||||||
|
|
||||||
PlateauController pc = loader.getController();
|
PlateauController pc = loader.getController();
|
||||||
pc.showInformation(joueurs);
|
GestionnaireJeu.setPlateauController(pc);
|
||||||
|
GestionnaireJeu.setConfiguration(new Configuration(this.joueurs));
|
||||||
|
Map<Integer, Joueur> map = GestionnaireJeu.getJoueursMap(new Configuration(this.joueurs));
|
||||||
|
|
||||||
|
|
||||||
|
pc.showInformation(map);
|
||||||
Scene scene = new Scene(root);
|
Scene scene = new Scene(root);
|
||||||
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
||||||
appStage.setScene(scene);
|
appStage.setScene(scene);
|
||||||
appStage.show();
|
appStage.show();
|
||||||
|
GestionnaireJeu.lancerPartie();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
23
src/ihm/ressources/choisirBoolean.fxml
Normal file
23
src/ihm/ressources/choisirBoolean.fxml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.Button?>
|
||||||
|
<?import javafx.scene.control.Label?>
|
||||||
|
<?import javafx.scene.layout.Pane?>
|
||||||
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
<Pane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="414.0" prefWidth="535.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
|
||||||
|
<children>
|
||||||
|
<Label layoutX="21.0" layoutY="39.0" text="Voulez vous faire cette action ?">
|
||||||
|
<font>
|
||||||
|
<Font size="36.0" />
|
||||||
|
</font>
|
||||||
|
</Label>
|
||||||
|
<Button fx:id="ouiButton" layoutX="45.0" layoutY="257.0" mnemonicParsing="false" onMouseClicked="#choixOui" prefHeight="82.0" prefWidth="157.0" text="Oui" />
|
||||||
|
<Label layoutX="202.0" layoutY="99.0">
|
||||||
|
<font>
|
||||||
|
<Font size="36.0" />
|
||||||
|
</font>
|
||||||
|
</Label>
|
||||||
|
<Button fx:id="nonButton" layoutX="333.0" layoutY="257.0" mnemonicParsing="false" onMouseClicked="#choixNon" prefHeight="82.0" prefWidth="157.0" text="Non" />
|
||||||
|
</children>
|
||||||
|
</Pane>
|
@ -1,34 +1,38 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.Map;
|
||||||
|
|
||||||
import ihm.Couple;
|
import ihm.Couple;
|
||||||
|
|
||||||
public class Configuration {
|
public class Configuration {
|
||||||
private int nombreJoueurs;
|
|
||||||
private int nombreJoueursHumains;
|
|
||||||
private HashMap<Integer, Couple> nomsJoueurs;
|
private HashMap<Integer, Couple> nomsJoueurs;
|
||||||
|
|
||||||
//TODO : attribut pour prendre en compte si jeu est normal ou demarrage rapide?
|
//TODO : attribut pour prendre en compte si jeu est normal ou demarrage rapide?
|
||||||
|
|
||||||
public Configuration (HashMap<Integer, Couple> nomsJoueurs,int nj, int njh) {
|
public Configuration (HashMap<Integer, Couple> nomsJoueurs) {
|
||||||
this.nomsJoueurs = nomsJoueurs;
|
this.nomsJoueurs = nomsJoueurs;
|
||||||
nombreJoueurs = nj;
|
|
||||||
nombreJoueursHumains = njh;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getNombreJoueurs() {
|
public Map<Integer,Joueur> toJoueurs() {
|
||||||
return nombreJoueurs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getNombreJoueursHumains() {
|
Map<Integer, Joueur> joueurs = new HashMap<Integer, Joueur>();
|
||||||
return nombreJoueursHumains;
|
|
||||||
}
|
for(Integer i : nomsJoueurs.keySet()) {
|
||||||
|
|
||||||
|
Couple c = nomsJoueurs.get(i);
|
||||||
|
|
||||||
|
if(c.isIa()) {
|
||||||
|
joueurs.put(i,new JoueurVirtuel(c.getNom()));
|
||||||
|
}else {
|
||||||
|
joueurs.put(i,new Joueur(c.getNom()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return joueurs;
|
||||||
|
|
||||||
public List<Joueur> toJoueurs() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,26 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.sun.tools.javac.Main;
|
import com.sun.tools.javac.Main;
|
||||||
|
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
|
import ihm.controller.PlateauController;
|
||||||
|
import ihm.controller.PlayersController;
|
||||||
|
|
||||||
public class GestionnaireJeu {
|
public class GestionnaireJeu {
|
||||||
|
|
||||||
|
|
||||||
private static GestionnaireJeu gj;
|
private static GestionnaireJeu gj;
|
||||||
private Plateau plateau;
|
|
||||||
|
private View view;
|
||||||
|
|
||||||
|
private static Plateau plateau;
|
||||||
|
private static PlateauController pc;
|
||||||
|
|
||||||
private GestionnaireJeu() {}
|
private GestionnaireJeu() {}
|
||||||
|
|
||||||
@ -35,12 +45,8 @@ public class GestionnaireJeu {
|
|||||||
return plateau;
|
return plateau;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlateau(Plateau plateau) {
|
|
||||||
this.plateau = plateau;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void lancerPartie() {
|
public static void lancerPartie() {
|
||||||
|
plateau.jeu();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void jouer(Configuration c) {
|
public void jouer(Configuration c) {
|
||||||
@ -53,29 +59,46 @@ public class GestionnaireJeu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
||||||
return joueur;
|
return joueurs.get(0);
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
|
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
|
||||||
// TODO Auto-generated method stub
|
return effets[0];
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirAdjacents(Joueur joueur, List<Joueur> joueurs) {
|
public Joueur choisirAdjacents(Joueur joueur, List<Joueur> joueurs) {
|
||||||
// TODO Auto-generated method stub
|
return joueurs.get(0);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean choisir(Joueur joueur) {
|
public boolean choisir(Joueur joueur) {
|
||||||
// TODO Auto-generated method stub
|
try {
|
||||||
|
return pc.choisir(joueur);
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setConfiguration(Configuration c) {
|
public static void setConfiguration(Configuration c) {
|
||||||
|
|
||||||
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
|
|
||||||
|
for(Joueur j : c.toJoueurs().values()) {
|
||||||
|
joueurs.add(j);
|
||||||
|
}
|
||||||
|
|
||||||
|
plateau = new Plateau(joueurs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<Integer, Joueur> getJoueursMap(Configuration c) {
|
||||||
|
return c.toJoueurs();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setPlateauController(PlateauController pc2) {
|
||||||
|
pc = pc2;
|
||||||
|
|
||||||
List<Joueur> joueurs = c.toJoueurs();
|
|
||||||
this.plateau = new Plateau(joueurs);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
package main;
|
package main;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -35,6 +36,10 @@ public class Joueur {
|
|||||||
|
|
||||||
|
|
||||||
public Joueur(String nom) {
|
public Joueur(String nom) {
|
||||||
|
|
||||||
|
if(nom == null) {
|
||||||
|
this.nom = "errorNamePlayer";
|
||||||
|
}
|
||||||
this.nom = nom;
|
this.nom = nom;
|
||||||
this.revele = false;
|
this.revele = false;
|
||||||
this.gestionnaireEquipements = new GestionnaireEquipements(this);
|
this.gestionnaireEquipements = new GestionnaireEquipements(this);
|
||||||
@ -44,13 +49,13 @@ public class Joueur {
|
|||||||
|
|
||||||
// Initialisation joueur depuis valeurs perso
|
// Initialisation joueur depuis valeurs perso
|
||||||
|
|
||||||
//stats.put(PLAYER_HP, char.getHP());
|
stats.put(PLAYER_HP, 20);
|
||||||
//stats.put(PLAYER_TURN, 1);
|
//stats.put(PLAYER_TURN, 1);
|
||||||
stats.put(PLAYER_DAMAGE, 0);
|
stats.put(PLAYER_DAMAGE, 0);
|
||||||
stats.put(PLAYER_NB_EQUIPEMENTS, 0);
|
stats.put(PLAYER_NB_EQUIPEMENTS, 0);
|
||||||
//stats.put(PLAYER_RESISTANCE, 0);
|
stats.put(PLAYER_RESISTANCE, 0);
|
||||||
//stats.put(PLAYER_REVEAL, 0);
|
stats.put(PLAYER_REVEAL, 0);
|
||||||
//stats.put(PLAYER_IMMUNITY, 0);
|
stats.put(PLAYER_IMMUNITY, 0);
|
||||||
// immunité à certains effets?
|
// immunité à certains effets?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,7 +180,7 @@ public class Joueur {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.carteLieu = cl;
|
this.carteLieu = cl;
|
||||||
|
cl.ajouterJoueur(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -203,4 +208,15 @@ public class Joueur {
|
|||||||
this.gestionnaireEquipements.retirer(equipement);
|
this.gestionnaireEquipements.retirer(equipement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasOpponents() {
|
||||||
|
CarteLieu cl = this.carteLieu;
|
||||||
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
|
|
||||||
|
joueurs.addAll(cl.getJoueurs());
|
||||||
|
joueurs.addAll(cl.getJoueursAdjacents());
|
||||||
|
joueurs.remove(this);
|
||||||
|
|
||||||
|
return !joueurs.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -7,8 +9,18 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
|
import carte.CarteLieuType;
|
||||||
|
import carte.CartePiochable;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
|
import effet.EffetChoisirCible;
|
||||||
|
import effet.EffetChoisirEffet;
|
||||||
|
import effet.EffetSelf;
|
||||||
|
import effet.action.ActionAltererStatistiquesJoueur;
|
||||||
|
import effet.action.ActionVoler;
|
||||||
|
import personnage.Allie;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
import personnage.Franklin;
|
||||||
|
import personnage.Vampire;
|
||||||
|
|
||||||
public class Plateau {
|
public class Plateau {
|
||||||
|
|
||||||
@ -30,6 +42,7 @@ public class Plateau {
|
|||||||
|
|
||||||
public Plateau(List<Joueur> joueurs) {
|
public Plateau(List<Joueur> joueurs) {
|
||||||
|
|
||||||
|
gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
|
|
||||||
this.lieux = new ArrayList<>();
|
this.lieux = new ArrayList<>();
|
||||||
this.stats = new HashMap<>();
|
this.stats = new HashMap<>();
|
||||||
@ -47,6 +60,65 @@ public class Plateau {
|
|||||||
this.stats.put(NB_HUNTERS, 0);
|
this.stats.put(NB_HUNTERS, 0);
|
||||||
this.stats.put(NB_SHADOWS, 0);
|
this.stats.put(NB_SHADOWS, 0);
|
||||||
this.stats.put(NB_NEUTRES, 0);
|
this.stats.put(NB_NEUTRES, 0);
|
||||||
|
|
||||||
|
List<CartePiochable<TypeLumiere>> list1 = new ArrayList<>();
|
||||||
|
List<CartePiochable<TypeTenebre>> list2 = new ArrayList<>();
|
||||||
|
|
||||||
|
for(int i = 0; i < 60; i++) {
|
||||||
|
|
||||||
|
CartePiochable<TypeLumiere> carte1 = new CartePiochable<TypeLumiere>("Eau bénite", "Soin 2");
|
||||||
|
carte1.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true)));
|
||||||
|
list1.add(carte1);
|
||||||
|
|
||||||
|
CartePiochable<TypeTenebre> carte2 = new CartePiochable<TypeTenebre>("Eau maudite", "Damage 2");
|
||||||
|
carte2.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)));
|
||||||
|
list2.add(carte2);
|
||||||
|
}
|
||||||
|
|
||||||
|
Pioche<TypeLumiere> piocheLumiere = new Pioche<TypeLumiere>(list1);
|
||||||
|
Pioche<TypeTenebre> piocheTenebre = new Pioche<TypeTenebre>(list2);
|
||||||
|
|
||||||
|
CarteLieu lieu1 = new CarteLieuType<TypeTenebre>("Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
||||||
|
CarteLieu lieu2 = new CarteLieuType<TypeTenebre>("Cimetière","desc",new Point(-1,8),piocheTenebre);
|
||||||
|
CarteLieu lieu3 = new CarteLieu("Forêt hantée","desc",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))));
|
||||||
|
CarteLieu lieu4 = new CarteLieuType<TypeLumiere>("Monastère","desc",new Point(-1,6),piocheLumiere);
|
||||||
|
|
||||||
|
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
||||||
|
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
|
||||||
|
lieu6.setEffet(new EffetChoisirCible(new ActionVoler()));
|
||||||
|
|
||||||
|
List<CarteLieu> cls = new ArrayList<CarteLieu>();
|
||||||
|
cls.add(lieu6);
|
||||||
|
cls.add(lieu5);
|
||||||
|
cls.add(lieu4);
|
||||||
|
cls.add(lieu3);
|
||||||
|
cls.add(lieu2);
|
||||||
|
cls.add(lieu1);
|
||||||
|
|
||||||
|
List<CartePersonnage> personnages = new ArrayList<CartePersonnage>();
|
||||||
|
|
||||||
|
|
||||||
|
for(int i = 0 ; i <3 ; i++) {
|
||||||
|
|
||||||
|
personnages.add(new Franklin());
|
||||||
|
personnages.add(new Vampire());
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
personnages.add(new Allie());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
initCartePersonnage(personnages);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
setLieux(cls);
|
||||||
|
shuffleLieux();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initCartePersonnage(List<CartePersonnage> cps) throws Exception {
|
public void initCartePersonnage(List<CartePersonnage> cps) throws Exception {
|
||||||
@ -55,8 +127,6 @@ public class Plateau {
|
|||||||
int nbJoueurs = this.joueurs.size();
|
int nbJoueurs = this.joueurs.size();
|
||||||
List<CartePersonnage> lcp = new ArrayList<>(nbJoueurs);
|
List<CartePersonnage> lcp = new ArrayList<>(nbJoueurs);
|
||||||
|
|
||||||
|
|
||||||
System.out.println(this.joueurs);
|
|
||||||
switch(nbJoueurs) {
|
switch(nbJoueurs) {
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
@ -82,6 +152,7 @@ public class Plateau {
|
|||||||
|
|
||||||
Joueur j = joueurs.get(i);
|
Joueur j = joueurs.get(i);
|
||||||
j.setCartePersonnage(lcp.get(i));
|
j.setCartePersonnage(lcp.get(i));
|
||||||
|
lcp.get(i).setJoueur(j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +187,6 @@ public class Plateau {
|
|||||||
lcp.add(cp);
|
lcp.add(cp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println(lcp);
|
|
||||||
return lcp;
|
return lcp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,16 +197,45 @@ public class Plateau {
|
|||||||
|
|
||||||
while(true) {
|
while(true) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Joueur currentJoueur = this.joueurs.get(nbJoueurs % i);
|
Joueur currentJoueur = this.joueurs.get(nbJoueurs % i);
|
||||||
|
System.out.println("\n\n\n\n\n");
|
||||||
|
System.out.println("Au tour de "+currentJoueur.getNom());
|
||||||
|
System.out.println("Lancement des dés.");
|
||||||
deplacer(currentJoueur);
|
deplacer(currentJoueur);
|
||||||
|
System.out.println("Vous êtes désormais sur le lieu "+currentJoueur.getCarteLieu().getNom());
|
||||||
|
|
||||||
|
System.out.println("Voulez vous activer l'effet du lieu ?");
|
||||||
if(currentJoueur.choisir()) {
|
if(currentJoueur.choisir()) {
|
||||||
|
System.out.println("Vous activez l'effet du lieu.");
|
||||||
|
System.out.println("Vous avez "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
currentJoueur.utiliserEffetLieu();
|
currentJoueur.utiliserEffetLieu();
|
||||||
|
System.out.println("Vous passez a "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
}
|
}
|
||||||
|
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 ?");
|
||||||
if(currentJoueur.choisir()){
|
if(currentJoueur.choisir()){
|
||||||
Joueur cible = currentJoueur.choisirAdjacents();
|
if(currentJoueur.hasOpponents()) {
|
||||||
attaquer(currentJoueur,cible);
|
Joueur cible = currentJoueur.choisirAdjacents();
|
||||||
|
attaquer(currentJoueur,cible);
|
||||||
|
}else {
|
||||||
|
System.out.println("Il n'y a personne a attaquer.");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(2000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
@ -166,8 +265,11 @@ public class Plateau {
|
|||||||
int attaque = diffRolls();
|
int attaque = diffRolls();
|
||||||
|
|
||||||
if(attaque != 0) {
|
if(attaque != 0) {
|
||||||
|
System.out.println(joueur1.getNom()+" attaque "+joueur2.getNom());
|
||||||
|
System.out.println(joueur2.getNom()+" a "+joueur2.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
joueur1.attaquer(joueur2,attaque);
|
joueur1.attaquer(joueur2,attaque);
|
||||||
|
System.out.println(joueur2.getNom()+" passe à "+joueur2.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,10 +322,10 @@ public class Plateau {
|
|||||||
|
|
||||||
Collections.shuffle(lieux);
|
Collections.shuffle(lieux);
|
||||||
|
|
||||||
for(int i = 0; i < lieux.size()-2; i += 2) {
|
for(int i = 0; i < lieux.size(); i += 2) {
|
||||||
|
|
||||||
lieux.get(i).setVoisin(lieux.get(i+2));
|
lieux.get(i).setVoisin(lieux.get(i+1));
|
||||||
lieux.get(i+2).setVoisin(lieux.get(i));
|
lieux.get(i+1).setVoisin(lieux.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user