revert stash
This commit is contained in:
commit
2edaa6156e
@ -19,7 +19,13 @@ Pour gagner, les Hunters et Shadow doivent éliminer tous les personnages du cam
|
|||||||
|
|
||||||
## Comment l'utiliser
|
## Comment l'utiliser
|
||||||
|
|
||||||
Vous trouverez la documentation pour utliser notre application [ici].
|
Dans un premier temps, vous pouvez télécharger la dernière version de notre application en utilisant la commande :
|
||||||
|
|
||||||
|
```git clone https://github.com/PTE-SH/ShadowHunterGame.git```
|
||||||
|
|
||||||
|
Puis, il faut executez le ``ShadowHunterGame.exe`` pour pouvoir y jouer.
|
||||||
|
|
||||||
|
Ce projet repose sur le [Java JDK 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) pour pouvoir fonctionner.
|
||||||
|
|
||||||
## Auteurs
|
## Auteurs
|
||||||
|
|
||||||
|
@ -23,6 +23,12 @@ public class CarteEquipementStat<T extends Type> extends CarteEquipement<Type>{
|
|||||||
this.setCondition(condition);
|
this.setCondition(condition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CarteEquipementStat(Effet effet) {
|
||||||
|
super("","");
|
||||||
|
this.setEffet(effet);
|
||||||
|
this.setCondition(new Condition());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reverse(Joueur j) {
|
public void reverse(Joueur j) {
|
||||||
ActionAltererStatistiquesJoueur action = ((ActionAltererStatistiquesJoueur) this.getEffet().getAction()).getReverseAction();
|
ActionAltererStatistiquesJoueur action = ((ActionAltererStatistiquesJoueur) this.getEffet().getAction()).getReverseAction();
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package condition;
|
package condition;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
@ -8,7 +9,7 @@ import personnage.CartePersonnage;
|
|||||||
import personnage.CartePersonnage.Equipe;
|
import personnage.CartePersonnage.Equipe;
|
||||||
|
|
||||||
|
|
||||||
public class ConditionType extends Condition{
|
public class ConditionEquipe extends Condition{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -16,12 +17,16 @@ public class ConditionType extends Condition{
|
|||||||
private static final long serialVersionUID = 8261153600401164649L;
|
private static final long serialVersionUID = 8261153600401164649L;
|
||||||
private List<CartePersonnage.Equipe> equipes;
|
private List<CartePersonnage.Equipe> equipes;
|
||||||
|
|
||||||
public ConditionType(Equipe e) {
|
public ConditionEquipe(Equipe e) {
|
||||||
this.equipes = new ArrayList<CartePersonnage.Equipe>();
|
this.equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||||
this.equipes.add(e);
|
this.equipes.add(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConditionType(List<CartePersonnage.Equipe> equipes){
|
public ConditionEquipe(Equipe...equipes) {
|
||||||
|
this.equipes = Arrays.asList(equipes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConditionEquipe(List<CartePersonnage.Equipe> equipes){
|
||||||
|
|
||||||
this.equipes = new ArrayList<CartePersonnage.Equipe>();
|
this.equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||||
this.equipes.addAll(equipes);
|
this.equipes.addAll(equipes);
|
@ -2,24 +2,33 @@ package database;
|
|||||||
|
|
||||||
import carte.CarteEquipementStat;
|
import carte.CarteEquipementStat;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
import condition.Condition;
|
|
||||||
import condition.ConditionClassPersonnage;
|
import condition.ConditionClassPersonnage;
|
||||||
|
import condition.ConditionEquipe;
|
||||||
import condition.ConditionMultiple;
|
import condition.ConditionMultiple;
|
||||||
import condition.ConditionReveal;
|
import condition.ConditionReveal;
|
||||||
import condition.ConditionType;
|
import condition.ConditionStatistiques;
|
||||||
import effet.EffetChoisirCible;
|
import effet.EffetChoisirCible;
|
||||||
|
import effet.EffetChoisirEffet;
|
||||||
import effet.EffetCiblerTous;
|
import effet.EffetCiblerTous;
|
||||||
|
import effet.EffetMultiple;
|
||||||
import effet.EffetSelf;
|
import effet.EffetSelf;
|
||||||
import effet.action.Action;
|
|
||||||
import effet.action.ActionAltererStatistiquesJoueur;
|
import effet.action.ActionAltererStatistiquesJoueur;
|
||||||
import effet.action.ActionAltererStatistiquesJoueurRoll;
|
import effet.action.ActionAltererStatistiquesJoueurRoll;
|
||||||
import effet.action.ActionMultiple;
|
import effet.action.ActionMultiple;
|
||||||
import effet.action.ActionReveal;
|
import effet.action.ActionReveal;
|
||||||
|
import effet.action.ActionVoler;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.TypeLumiere;
|
import main.TypeLumiere;
|
||||||
|
import main.TypeTenebre;
|
||||||
|
import main.TypeVision;
|
||||||
import personnage.Allie;
|
import personnage.Allie;
|
||||||
|
import personnage.Bob;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
import personnage.Charles;
|
||||||
|
import personnage.Daniel;
|
||||||
import personnage.Emi;
|
import personnage.Emi;
|
||||||
|
import personnage.Franklin;
|
||||||
|
import personnage.Georges;
|
||||||
import personnage.LoupGarou;
|
import personnage.LoupGarou;
|
||||||
import personnage.Metamorphe;
|
import personnage.Metamorphe;
|
||||||
import personnage.Vampire;
|
import personnage.Vampire;
|
||||||
@ -38,7 +47,7 @@ public class CreatingCardsTest {
|
|||||||
//Avénement suprême
|
//Avénement suprême
|
||||||
insert(3,new CartePiochable<TypeLumiere>(
|
insert(3,new CartePiochable<TypeLumiere>(
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||||
,new ConditionMultiple(new ConditionType(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
|
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
|
||||||
));
|
));
|
||||||
|
|
||||||
//Barre de chocolat
|
//Barre de chocolat
|
||||||
@ -50,19 +59,17 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
//Bénédiction
|
//Bénédiction
|
||||||
|
|
||||||
insert(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
|
insert(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
|
||||||
|
|
||||||
|
|
||||||
// BOUSSOLE mystique
|
// BOUSSOLE mystique
|
||||||
|
|
||||||
// 6
|
// 6
|
||||||
|
|
||||||
// 7
|
// 7
|
||||||
|
|
||||||
// 8
|
// 8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Eau bénite
|
// Eau bénite
|
||||||
insert(9,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
|
insert(9,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
|
||||||
insert(10,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
|
insert(10,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
|
||||||
@ -75,7 +82,7 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
insert(12,new CarteEquipementStat<TypeLumiere>(
|
insert(12,new CarteEquipementStat<TypeLumiere>(
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
|
||||||
,new ConditionMultiple(new ConditionType(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
|
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
|
||||||
));
|
));
|
||||||
|
|
||||||
// Miroir divin
|
// Miroir divin
|
||||||
@ -97,6 +104,138 @@ public class CreatingCardsTest {
|
|||||||
//Toge sainte
|
//Toge sainte
|
||||||
|
|
||||||
insert(16, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionMultiple(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_RESISTANCE, 1, true),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, -1, true)))));
|
insert(16, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionMultiple(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_RESISTANCE, 1, true),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, -1, true)))));
|
||||||
|
|
||||||
|
|
||||||
|
// Ténèbre
|
||||||
|
|
||||||
|
// Araignée Sanguinaire
|
||||||
|
|
||||||
|
insert(17, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
|
||||||
|
|
||||||
|
|
||||||
|
// Chauve - souris vampire
|
||||||
|
|
||||||
|
insert(18, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||||
|
|
||||||
|
insert(19, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||||
|
|
||||||
|
insert(20, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||||
|
|
||||||
|
// Dynamite
|
||||||
|
|
||||||
|
// 21
|
||||||
|
|
||||||
|
|
||||||
|
// Hache tueuse
|
||||||
|
insert(22,new CarteEquipementStat<TypeTenebre>(
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||||
|
|
||||||
|
// Hachoir maudit
|
||||||
|
insert(23,new CarteEquipementStat<TypeTenebre>(
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||||
|
|
||||||
|
|
||||||
|
// Mitrailleuse funeste
|
||||||
|
// 24
|
||||||
|
|
||||||
|
// Peau de banane
|
||||||
|
// 25
|
||||||
|
|
||||||
|
// Poupé démoniaque
|
||||||
|
// 26
|
||||||
|
|
||||||
|
insert(28,new CartePiochable<TypeTenebre>(
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||||
|
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
|
||||||
|
));
|
||||||
|
|
||||||
|
// 29
|
||||||
|
|
||||||
|
insert(30,new CartePiochable<TypeTenebre>(
|
||||||
|
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||||
|
|
||||||
|
insert(31,new CartePiochable<TypeTenebre>(
|
||||||
|
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||||
|
|
||||||
|
insert(32,new CarteEquipementStat<TypeTenebre>(
|
||||||
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||||
|
|
||||||
|
|
||||||
|
// Vision clairvoyante
|
||||||
|
insert(33, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)),
|
||||||
|
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
|
||||||
|
|
||||||
|
// Vision cupide
|
||||||
|
|
||||||
|
insert(34,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
insert(35,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
|
// Vision destructrice
|
||||||
|
|
||||||
|
insert(36, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
|
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
|
||||||
|
|
||||||
|
|
||||||
|
// Vision divine
|
||||||
|
|
||||||
|
// Vision enivrante
|
||||||
|
|
||||||
|
insert(38,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
insert(39,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
// Vision Foudroyante
|
||||||
|
|
||||||
|
insert(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
|
// Vision furtive
|
||||||
|
|
||||||
|
insert(41,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
insert(42,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
// Vision Mortifère
|
||||||
|
|
||||||
|
insert(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
|
// Vision lugubre
|
||||||
|
|
||||||
|
insert(45,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
|
||||||
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
// Vision réconfortante
|
||||||
|
|
||||||
|
// Vision suprême
|
||||||
|
|
||||||
|
insert(48,new Allie(null));
|
||||||
|
insert(49,new Bob(null));
|
||||||
|
insert(50,new Charles(null));
|
||||||
|
|
||||||
|
insert(51,new Daniel(null));
|
||||||
|
insert(52,new Emi(null));
|
||||||
|
insert(53,new Franklin(null));
|
||||||
|
|
||||||
|
insert(54,new Georges(null));
|
||||||
|
insert(55,new LoupGarou(null));
|
||||||
|
insert(56,new Metamorphe(null));
|
||||||
|
insert(57,new Vampire(null));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,21 +1,35 @@
|
|||||||
package database;
|
package database;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public class QueryGenerator {
|
public class QueryGenerator {
|
||||||
|
|
||||||
public static String AllFrom(String table) {
|
private final static String url = "jdbc:postgresql://localhost:5432/ShadowHunterDatabase";
|
||||||
return "SELECT * FROM " + getTable(table);
|
private final static String user = "shManager";
|
||||||
|
private final static String password = "shadowhunter1234";
|
||||||
|
|
||||||
|
public static String AllFrom(String tableName) {
|
||||||
|
return "SELECT * FROM " + getTable(tableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String WithId(String table, int d) {
|
public static String WithId(String tableName, int d) {
|
||||||
return "SELECT * FROM " + getTable(table) + "WHERE id =" + d;
|
return "SELECT * FROM " + getTable(tableName) + "WHERE id =" + d;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String WithName(String table, String name) {
|
public static String WithName(String tableName, String name) {
|
||||||
return "SELECT * FROM " + getTable(table) + "WHERE nom ='" + name + "'";
|
return "SELECT * FROM " + getTable(tableName) + "WHERE nom ='" + name + "'";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getTable(String s) {
|
public static String getTable(String tableName) {
|
||||||
return "public." + '"' + s + '"';
|
return "public." + '"' + tableName + '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getIdWithNameFrom(String table, String name) {
|
public static String getIdWithNameFrom(String table, String name) {
|
||||||
@ -26,5 +40,49 @@ public class QueryGenerator {
|
|||||||
return "SELECT name FROM " + getTable(table) + "WHERE id =" + d;
|
return "SELECT name FROM " + getTable(table) + "WHERE id =" + d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String selectObjectWithId(int id, String tableName) {
|
||||||
|
return "SELECT objet FROM" + getTable(tableName) + " WHERE id =" + id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Connection connect() throws SQLException {
|
||||||
|
return DriverManager.getConnection(url, user, password);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void queryInsertObject(int id, Object o) throws IOException, SQLException {
|
||||||
|
|
||||||
|
String table = null;
|
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
|
ObjectOutputStream oos;
|
||||||
|
|
||||||
|
oos = new ObjectOutputStream(baos);
|
||||||
|
oos.writeObject(o);
|
||||||
|
oos.close();
|
||||||
|
|
||||||
|
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
|
||||||
|
|
||||||
|
byte[] object = bais.readAllBytes();
|
||||||
|
InputStream objectIS = new ByteArrayInputStream(object);
|
||||||
|
|
||||||
|
if(id <= 16) {
|
||||||
|
table = getTable("CartesLumiere");
|
||||||
|
} else if(id <= 32) {
|
||||||
|
table = getTable("CartesTenebre");
|
||||||
|
} else if(id <= 47) {
|
||||||
|
table = getTable("CartesVision");
|
||||||
|
} else if(id <= 57) {
|
||||||
|
table = getTable("CartesPersonnage");
|
||||||
|
} else if(id <= 61) {
|
||||||
|
table = getTable("CartesDos");
|
||||||
|
}
|
||||||
|
|
||||||
|
String query = null;
|
||||||
|
query = "UPDATE" + table + " SET objet = ";
|
||||||
|
|
||||||
|
Connection conn = connect();
|
||||||
|
PreparedStatement pst = conn.prepareStatement(query);
|
||||||
|
pst.setBinaryStream(4, objectIS);
|
||||||
|
pst.executeUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -67,5 +67,5 @@ se.soigner=Se soigner
|
|||||||
mode.claire=Mode clair
|
mode.claire=Mode clair
|
||||||
musique=Musique
|
musique=Musique
|
||||||
langue=Langue
|
langue=Langue
|
||||||
parametre=Paramétre
|
parametre=Paramètre
|
||||||
enregistrer=Enregistrer
|
enregistrer=Enregistrer
|
30
src/effet/EffetMultiple.java
Normal file
30
src/effet/EffetMultiple.java
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package effet;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import main.Joueur;
|
||||||
|
|
||||||
|
public class EffetMultiple extends Effet{
|
||||||
|
|
||||||
|
|
||||||
|
private List<Effet> effets;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1936073174860639420L;
|
||||||
|
|
||||||
|
public EffetMultiple(Effet...effets) {
|
||||||
|
super(null);
|
||||||
|
this.effets = Arrays.asList(effets);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
|
for(Effet e : effets) {
|
||||||
|
e.utiliser(joueur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -8,6 +8,21 @@ import main.Joueur;
|
|||||||
public class ActionVoler extends Action{
|
public class ActionVoler extends Action{
|
||||||
|
|
||||||
|
|
||||||
|
public final static boolean DONNER = false;
|
||||||
|
public final static boolean VOLER = true;
|
||||||
|
|
||||||
|
private boolean choix;
|
||||||
|
|
||||||
|
public ActionVoler(Boolean choix) {
|
||||||
|
super();
|
||||||
|
this.choix = choix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 3770148032992025640L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lance l'action de voler une carte équipement.
|
* Lance l'action de voler une carte équipement.
|
||||||
* @param j1 Le joueur qui vol
|
* @param j1 Le joueur qui vol
|
||||||
@ -17,12 +32,24 @@ public class ActionVoler extends Action{
|
|||||||
@Override
|
@Override
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
public void affecte(Joueur j1, Joueur j2) {
|
||||||
|
|
||||||
List<CarteEquipement> equipements = j2.getEquipements();
|
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
if(this.choix) {
|
||||||
CarteEquipement equipement = j1.choisir(equipements);
|
|
||||||
|
|
||||||
j1.voler(j2,equipement);
|
List<CarteEquipement> equipements = j2.getEquipements();
|
||||||
|
|
||||||
|
// J1 choisit quel équipement voler
|
||||||
|
CarteEquipement<?> equipement = j1.choisir(equipements);
|
||||||
|
|
||||||
|
j1.voler(j2,equipement);
|
||||||
|
}else {
|
||||||
|
|
||||||
|
List<CarteEquipement> equipements = j1.getEquipements();
|
||||||
|
|
||||||
|
// J1 choisit quel équipement voler
|
||||||
|
CarteEquipement<?> equipement = j1.choisir(equipements);
|
||||||
|
|
||||||
|
j2.voler(j1,equipement);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,11 @@ public class Main extends Application {
|
|||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception {
|
public void start(Stage primaryStage) throws Exception {
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
final URL fxmlURL = getClass().getResource("ressources/Jouer_tour(2c2)choisir_joueur.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml"
|
final URL fxmlURL = getClass().getResource("ressources/Jouer_tour(2c2)choisir_joueur.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml"
|
||||||
|
=======
|
||||||
|
final URL fxmlURL = getClass().getResource("ressources/Menu.fxml");
|
||||||
|
>>>>>>> 13ae661b3bfcbefc0024fd7828af03782c9a2e66
|
||||||
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();
|
||||||
|
@ -16,6 +16,7 @@ import javafx.scene.image.Image;
|
|||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
public class MenuController implements Initializable{
|
public class MenuController implements Initializable{
|
||||||
@ -50,12 +51,42 @@ public class MenuController implements Initializable{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void afficherRegle(MouseEvent mouseEvent) {
|
@FXML
|
||||||
|
public void ouvrirParametres(MouseEvent mouseEvent) throws IOException{
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
|
System.out.println("Passage à l'écran des paramètres");
|
||||||
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/parametre.fxml");
|
||||||
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
Pane pane = fxmlLoader.load();
|
||||||
|
|
||||||
|
rootPane.getChildren().setAll(pane);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@FXML
|
||||||
|
public void quitterLappli(MouseEvent mouseEvent) throws IOException{
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void afficherRegle(MouseEvent mouseEvent) throws IOException {
|
||||||
|
|
||||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
|
||||||
EffetSonore.playSoundEffect(fileSound1);
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
System.out.println("blaaaa");
|
System.out.println("Passage à l'écran des règles");
|
||||||
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Regles.fxml");
|
||||||
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
AnchorPane pane = fxmlLoader.load();
|
||||||
|
Scene scene = new Scene(pane);
|
||||||
|
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
||||||
|
appStage.setScene(scene);
|
||||||
|
appStage.show();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public class PauseController implements Initializable {
|
|||||||
private CheckBox cbEffet;
|
private CheckBox cbEffet;
|
||||||
|
|
||||||
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav";
|
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav";
|
||||||
InputStream fileMusique = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav");
|
InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav");
|
||||||
|
|
||||||
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
|
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
|
||||||
boolean SonLance = ParametreController.cbSonCoche;
|
boolean SonLance = ParametreController.cbSonCoche;
|
||||||
@ -53,24 +53,21 @@ public class PauseController implements Initializable {
|
|||||||
// Pour la musique
|
// Pour la musique
|
||||||
|
|
||||||
if (fileMusique != null) {
|
if (fileMusique != null) {
|
||||||
System.out.println("point d'arret 1");
|
|
||||||
if (cbMusique.isSelected()) {
|
if (cbMusique.isSelected()) {
|
||||||
System.out.println("\tLancement de la musique");
|
System.out.println("\tLancement de la musique");
|
||||||
|
|
||||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
||||||
Musique.playMusique(fileMusique);
|
Musique.playMusique(fileMusique);
|
||||||
MusiqueLancee = true;
|
MusiqueLancee = true;
|
||||||
System.out.println("point d'arret 2");
|
|
||||||
} else
|
} else
|
||||||
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
||||||
System.out.println("point d'arret 3");
|
|
||||||
} else {
|
} else {
|
||||||
Musique.pauseMusique(Musique.clip); // met en pause la musique
|
Musique.pauseMusique(Musique.clip); // met en pause la musique
|
||||||
System.out.println("\tMise en pause de la musique");
|
System.out.println("\tMise en pause de la musique");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
System.out.println("ON A UN PROBLEME, AUCUN POINT D'ARRET N'EST PASSE");
|
System.out.println("fichier audio non trouvé");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pour les effets sonores
|
// Pour les effets sonores
|
||||||
|
@ -69,7 +69,7 @@ public class PlateauController implements Initializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<joueursIHM.size(); i++) {
|
for(int i = 0; i<joueursIHM.size(); i++) {
|
||||||
joueursIHM.get(i).deplacerPionVie((int) (Math.random()*13));
|
joueursIHM.get(i).deplacerPionVie(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
90
src/ihm/controller/ReglesControlleur.java
Normal file
90
src/ihm/controller/ReglesControlleur.java
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package ihm.controller;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import ihm.EffetSonore;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.Node;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.AnchorPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
public class ReglesControlleur implements Initializable {
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private AnchorPane rootPane;
|
||||||
|
@FXML
|
||||||
|
private ImageView imageRegles;
|
||||||
|
|
||||||
|
private int index = 1;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
|
||||||
|
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle1.png");
|
||||||
|
Image image = new Image(input);
|
||||||
|
imageRegles.setImage(image);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void pageSuivante(MouseEvent mouseEvent) throws IOException {
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
|
if (index < 4) {
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Page suivante");
|
||||||
|
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||||
|
Image image = new Image(input);
|
||||||
|
imageRegles.setImage(image);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void pagePrecedente(MouseEvent mouseEvent) throws IOException {
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
|
if (index > 1) {
|
||||||
|
index--;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Page précédente");
|
||||||
|
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||||
|
Image image = new Image(input);
|
||||||
|
imageRegles.setImage(image);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void retourMenu(MouseEvent mouseEvent) throws IOException {
|
||||||
|
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
System.out.println("Retour au Menu");
|
||||||
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
|
||||||
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
AnchorPane pane = fxmlLoader.load();
|
||||||
|
Scene scene = new Scene(pane);
|
||||||
|
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
|
||||||
|
appStage.setScene(scene);
|
||||||
|
appStage.show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
<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" prefHeight="802.0" prefWidth="1290.0">
|
<VBox alignment="CENTER" layoutX="-3.0" layoutY="-7.0" prefHeight="802.0" prefWidth="1290.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="-250.0" />
|
<Insets top="-200.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" prefHeight="51.0" prefWidth="102.0" styleClass="bouton" text="%jouer">
|
||||||
@ -21,7 +21,15 @@
|
|||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
<VBox.margin>
|
<VBox.margin>
|
||||||
<Insets top="150.0" />
|
<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">
|
||||||
|
<font>
|
||||||
|
<Font size="24.0" />
|
||||||
|
</font>
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets top="50.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#afficherRegle" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="%regles">
|
<Button mnemonicParsing="false" onMouseClicked="#afficherRegle" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="%regles">
|
||||||
@ -32,6 +40,14 @@
|
|||||||
<Insets top="50.0" />
|
<Insets top="50.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#quitterLappli" prefHeight="48.0" prefWidth="108.0" styleClass="bouton" text="quitter">
|
||||||
|
<font>
|
||||||
|
<Font size="24.0" />
|
||||||
|
</font>
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets top="50.0" />
|
||||||
|
</VBox.margin>
|
||||||
|
</Button>
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
</children>
|
</children>
|
||||||
|
51
src/ihm/ressources/Regles.fxml
Normal file
51
src/ihm/ressources/Regles.fxml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.geometry.Insets?>
|
||||||
|
<?import javafx.scene.control.Button?>
|
||||||
|
<?import javafx.scene.image.ImageView?>
|
||||||
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
|
<?import javafx.scene.layout.HBox?>
|
||||||
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
<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.ReglesControlleur">
|
||||||
|
<children>
|
||||||
|
<VBox alignment="CENTER" layoutX="-3.0" layoutY="-7.0" prefHeight="802.0" prefWidth="1290.0">
|
||||||
|
<children>
|
||||||
|
<ImageView fx:id="imageRegles" fitHeight="654.0" fitWidth="528.0" pickOnBounds="true" preserveRatio="true">
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets />
|
||||||
|
</VBox.margin>
|
||||||
|
</ImageView>
|
||||||
|
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
||||||
|
<children>
|
||||||
|
<Button layoutX="519.0" layoutY="31.0" mnemonicParsing="false" onMouseClicked="#pagePrecedente" prefHeight="59.0" prefWidth="225.0" styleClass="bouton" text="Page précédente">
|
||||||
|
<font>
|
||||||
|
<Font size="24.0" />
|
||||||
|
</font>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets right="20.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#retourMenu" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="Menu">
|
||||||
|
<font>
|
||||||
|
<Font size="24.0" />
|
||||||
|
</font>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets left="20.0" right="20.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#pageSuivante" prefHeight="59.0" prefWidth="195.0" styleClass="bouton" text="Page suivante">
|
||||||
|
<font>
|
||||||
|
<Font size="24.0" />
|
||||||
|
</font>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets left="20.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
|
</children>
|
||||||
|
</VBox>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
BIN
src/ihm/ressources/img/Regle1.PNG
Normal file
BIN
src/ihm/ressources/img/Regle1.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
BIN
src/ihm/ressources/img/Regle2.PNG
Normal file
BIN
src/ihm/ressources/img/Regle2.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
BIN
src/ihm/ressources/img/Regle3.PNG
Normal file
BIN
src/ihm/ressources/img/Regle3.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
BIN
src/ihm/ressources/img/Regle4.PNG
Normal file
BIN
src/ihm/ressources/img/Regle4.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
@ -87,7 +87,7 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
||||||
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
|
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
|
||||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler()));
|
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||||
|
|
||||||
List<CarteLieu> cls = new ArrayList<CarteLieu>();
|
List<CarteLieu> cls = new ArrayList<CarteLieu>();
|
||||||
cls.add(lieu6);
|
cls.add(lieu6);
|
||||||
|
@ -15,6 +15,11 @@ import main.Plateau;
|
|||||||
|
|
||||||
public class Allie extends Unique{
|
public class Allie extends Unique{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 8822533547275463314L;
|
||||||
|
|
||||||
public Allie(Joueur joueur) {
|
public Allie(Joueur joueur) {
|
||||||
super("ALLIE","desc", 8, joueur);
|
super("ALLIE","desc", 8, joueur);
|
||||||
|
|
||||||
|
@ -8,13 +8,28 @@ import main.Joueur;
|
|||||||
|
|
||||||
public class Bob extends CartePersonnage{
|
public class Bob extends CartePersonnage{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -5593891138436384632L;
|
||||||
|
|
||||||
|
public Bob() {
|
||||||
|
super("BOB","desc", 10, null);
|
||||||
|
Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE);
|
||||||
|
this.setCondition(condition);
|
||||||
|
|
||||||
|
|
||||||
|
EffetTarget effet = new EffetTarget(new ActionVoler(ActionVoler.VOLER));
|
||||||
|
this.setEffet(effet);
|
||||||
|
}
|
||||||
|
|
||||||
public Bob(Joueur joueur){
|
public Bob(Joueur joueur){
|
||||||
super("BOB","desc", 10, joueur);
|
super("BOB","desc", 10, joueur);
|
||||||
Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE);
|
Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE);
|
||||||
this.setCondition(condition);
|
this.setCondition(condition);
|
||||||
|
|
||||||
|
|
||||||
EffetTarget effet = new EffetTarget(new ActionVoler());
|
EffetTarget effet = new EffetTarget(new ActionVoler(ActionVoler.VOLER));
|
||||||
this.setEffet(effet);
|
this.setEffet(effet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,8 +13,33 @@ import main.Plateau;
|
|||||||
|
|
||||||
public class Daniel extends CartePersonnage{
|
public class Daniel extends CartePersonnage{
|
||||||
|
|
||||||
public Daniel(String nom, String desc ,int hp, Joueur joueur) throws Exception {
|
/**
|
||||||
super(nom,desc, hp, joueur);
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 6436431310604672660L;
|
||||||
|
|
||||||
|
public static final int HP = 13;
|
||||||
|
|
||||||
|
|
||||||
|
public Daniel(Joueur j) {
|
||||||
|
super("Daniel","desc", HP, j);
|
||||||
|
List<Condition> conditions = new ArrayList<Condition>();
|
||||||
|
List<Condition> conditions2 = new ArrayList<Condition>();
|
||||||
|
|
||||||
|
conditions.add(new WinConditionHunter());
|
||||||
|
|
||||||
|
conditions2.add(new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 0, ConditionStatistiques.LESS));
|
||||||
|
conditions2.add(new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS, 1, ConditionStatistiques.LESS));
|
||||||
|
|
||||||
|
conditions.add(new ConditionMultiple(conditions2));
|
||||||
|
|
||||||
|
Condition winCondition = new ConditionMultipleOR(conditions);
|
||||||
|
|
||||||
|
this.setCondition(winCondition);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Daniel(String nom, String desc , Joueur joueur) throws Exception {
|
||||||
|
super(nom,desc,HP, joueur);
|
||||||
|
|
||||||
List<Condition> conditions = new ArrayList<Condition>();
|
List<Condition> conditions = new ArrayList<Condition>();
|
||||||
List<Condition> conditions2 = new ArrayList<Condition>();
|
List<Condition> conditions2 = new ArrayList<Condition>();
|
||||||
@ -31,6 +56,8 @@ public class Daniel extends CartePersonnage{
|
|||||||
this.setCondition(winCondition);
|
this.setCondition(winCondition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void utiliser() {
|
public void utiliser() {
|
||||||
this.getJoueur().reveal();
|
this.getJoueur().reveal();
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,15 @@ import condition.WinConditionHunter;
|
|||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public class Emi extends CartePersonnage{
|
public class Emi extends CartePersonnage{
|
||||||
|
|
||||||
|
public static final int HP = 13;
|
||||||
|
|
||||||
|
public Emi(Joueur j) {
|
||||||
|
super("EMI","desc", HP, j);
|
||||||
|
|
||||||
|
this.setCondition(new WinConditionHunter());
|
||||||
|
}
|
||||||
|
|
||||||
//constructeur
|
//constructeur
|
||||||
public Emi(String nom, String desc ,int hp, Joueur joueur) {
|
public Emi(String nom, String desc ,int hp, Joueur joueur) {
|
||||||
super(nom,desc, hp, joueur);
|
super(nom,desc, hp, joueur);
|
||||||
@ -12,6 +21,9 @@ public class Emi extends CartePersonnage{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void deplacer() {
|
public void deplacer() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,17 @@ import main.Plateau;
|
|||||||
|
|
||||||
public class Georges extends Unique{
|
public class Georges extends Unique{
|
||||||
|
|
||||||
|
|
||||||
|
public Georges(Joueur joueur) {
|
||||||
|
super("Franklin", "desc", 14, joueur);
|
||||||
|
this.setCondition(new WinConditionHunter());
|
||||||
|
this.setEquipe(CartePersonnage.Equipe.HUNTER);
|
||||||
|
}
|
||||||
|
|
||||||
public Georges(String nom, int hp, Joueur joueur) {
|
public Georges(String nom, int hp, Joueur joueur) {
|
||||||
super(nom, nom, hp, joueur);
|
super(nom, nom, hp, joueur);
|
||||||
this.setCondition(new WinConditionHunter());
|
this.setCondition(new WinConditionHunter());
|
||||||
|
this.setEquipe(CartePersonnage.Equipe.HUNTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void utiliser() {
|
public void utiliser() {
|
||||||
|
@ -5,12 +5,22 @@ import main.Joueur;
|
|||||||
|
|
||||||
public class LoupGarou extends CartePersonnage {
|
public class LoupGarou extends CartePersonnage {
|
||||||
|
|
||||||
|
public static final int HP = 14;
|
||||||
|
|
||||||
|
public LoupGarou(Joueur j) {
|
||||||
|
super("LOUP-GAROU","desc", HP, j);
|
||||||
|
this.setCondition(new WinConditionShadow());
|
||||||
|
this.setEquipe(CartePersonnage.Equipe.SHADOW);
|
||||||
|
}
|
||||||
|
|
||||||
public LoupGarou(String nom, String desc ,int hp, Joueur joueur) {
|
public LoupGarou(String nom, String desc ,int hp, Joueur joueur) {
|
||||||
super(nom,desc, hp, joueur);
|
super(nom,desc, hp, joueur);
|
||||||
|
|
||||||
this.setCondition(new WinConditionShadow());
|
this.setCondition(new WinConditionShadow());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void utiliser() {
|
public void utiliser() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,11 +5,24 @@ import main.Joueur;
|
|||||||
|
|
||||||
public class Metamorphe extends CartePersonnage{
|
public class Metamorphe extends CartePersonnage{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 8415184267445994107L;
|
||||||
|
public final static int HP = 11;
|
||||||
|
|
||||||
|
public Metamorphe(Joueur j) {
|
||||||
|
super("METAMORPHE","desc", HP, j);
|
||||||
|
this.setCondition(new WinConditionShadow());
|
||||||
|
}
|
||||||
|
|
||||||
public Metamorphe(String nom, String desc ,int hp, Joueur joueur) {
|
public Metamorphe(String nom, String desc ,int hp, Joueur joueur) {
|
||||||
super(nom,desc, hp, joueur);
|
super(nom,desc, hp, joueur);
|
||||||
this.setCondition(new WinConditionShadow());
|
this.setCondition(new WinConditionShadow());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void utiliser() {
|
public void utiliser() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ class ConditionTypeTest {
|
|||||||
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||||
equipes.add(CartePersonnage.Equipe.HUNTER);
|
equipes.add(CartePersonnage.Equipe.HUNTER);
|
||||||
equipes.add(CartePersonnage.Equipe.NEUTRE);
|
equipes.add(CartePersonnage.Equipe.NEUTRE);
|
||||||
ConditionType ct = new ConditionType(equipes);
|
ConditionEquipe ct = new ConditionEquipe(equipes);
|
||||||
|
|
||||||
Joueur j = new Joueur(null);
|
Joueur j = new Joueur(null);
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ class ConditionTypeTest {
|
|||||||
|
|
||||||
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||||
|
|
||||||
ConditionType ct = new ConditionType(equipes);
|
ConditionEquipe ct = new ConditionEquipe(equipes);
|
||||||
Joueur j = new Joueur(null);
|
Joueur j = new Joueur(null);
|
||||||
j.setCartePersonnage(new Allie(j));
|
j.setCartePersonnage(new Allie(j));
|
||||||
assertFalse(ct.isTrue(j));
|
assertFalse(ct.isTrue(j));
|
||||||
|
@ -82,7 +82,7 @@ class PlateauTest {
|
|||||||
|
|
||||||
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
||||||
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
|
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
|
||||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler()));
|
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||||
|
|
||||||
List<CarteLieu> cls = new ArrayList<CarteLieu>();
|
List<CarteLieu> cls = new ArrayList<CarteLieu>();
|
||||||
cls.add(lieu6);
|
cls.add(lieu6);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user