Retrieving cards

This commit is contained in:
Paul Gross 2020-05-06 14:39:43 +02:00
parent 70a214248d
commit 9885ed12ca
14 changed files with 371 additions and 215 deletions

View File

@ -1,5 +1,8 @@
package database;
import java.io.IOException;
import java.sql.SQLException;
import carte.CarteEquipementStat;
import carte.CartePiochable;
import condition.ConditionClassPersonnage;
@ -40,207 +43,204 @@ public class CreatingCardsTest {
// Lumière
//Ange gardien
insert(2,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
//Avénement suprême
insert(3,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
//Barre de chocolat
insert(4,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
));
//Bénédiction
insert(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
try {
QueryGenerator.queryInsertObject(2,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
//Avénement suprême
QueryGenerator.queryInsertObject(3,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
// BOUSSOLE mystique
//Barre de chocolat
// 6
QueryGenerator.queryInsertObject(4,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
));
// 7
//Bénédiction
// 8
QueryGenerator.queryInsertObject(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
// BOUSSOLE mystique
// 6
// 7
// 8
// Eau bénite
QueryGenerator.queryInsertObject(9,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
QueryGenerator.queryInsertObject(10,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
// Eau bénite
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))));
// Eclair purificateur
insert(11,new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true))));
// Lance de longinus
insert(12,new CarteEquipementStat<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
// Miroir divin
insert(13,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class)));
// Eclair purificateur
QueryGenerator.queryInsertObject(11,new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true))));
// Lance de longinus
QueryGenerator.queryInsertObject(12,new CarteEquipementStat<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
// Miroir divin
QueryGenerator.queryInsertObject(13,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class)));
// Premiers secours
insert(14, new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false))));
//Savoir ancestral
insert(15, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true))));
//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)))));
// 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));
// Premiers secours
QueryGenerator.queryInsertObject(14, new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false))));
//Savoir ancestral
QueryGenerator.queryInsertObject(15, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true))));
//Toge sainte
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(18, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
QueryGenerator.queryInsertObject(19, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(22,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Hachoir maudit
QueryGenerator.queryInsertObject(23,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Mitrailleuse funeste
// 24
// Peau de banane
// 25
// Poupé démoniaque
// 26
QueryGenerator.queryInsertObject(28,new CartePiochable<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
));
// 29
QueryGenerator.queryInsertObject(30,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
QueryGenerator.queryInsertObject(31,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
QueryGenerator.queryInsertObject(32,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Vision clairvoyante
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(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)));
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(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)));
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision furtive
QueryGenerator.queryInsertObject(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)));
QueryGenerator.queryInsertObject(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
QueryGenerator.queryInsertObject(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision lugubre
QueryGenerator.queryInsertObject(45,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision réconfortante
// Vision suprême
QueryGenerator.queryInsertObject(48,new Allie());
QueryGenerator.queryInsertObject(49,new Bob());
QueryGenerator.queryInsertObject(50,new Charles());
QueryGenerator.queryInsertObject(51,new Daniel());
QueryGenerator.queryInsertObject(52,new Emi());
QueryGenerator.queryInsertObject(53,new Franklin());
QueryGenerator.queryInsertObject(54,new Georges());
QueryGenerator.queryInsertObject(55,new LoupGarou());
QueryGenerator.queryInsertObject(56,new Metamorphe());
QueryGenerator.queryInsertObject(57,new Vampire());
} catch (IOException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void insert(int row, Object obj) {
}
}

View File

@ -48,6 +48,22 @@ public class QueryGenerator {
return DriverManager.getConnection(url, user, password);
}
public static String selectId(int id) {
String table = "";
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");
}
return "SELECT * FROM " + table + " WHERE id = " + id;
}
public static void queryInsertObject(int id, Object o) throws IOException, SQLException {
String table = null;
@ -76,13 +92,13 @@ public class QueryGenerator {
}
String query = null;
query = "UPDATE" + table + " SET objet = ";
query = "UPDATE " + table + " SET objet = ? "
+ " WHERE id = ? " ;
Connection conn = connect();
PreparedStatement pst = conn.prepareStatement(query);
pst.setBinaryStream(4, objectIS);
pst.setBinaryStream(1, objectIS);
pst.setInt(2, id);
pst.executeUpdate();
}
}

View File

@ -2,29 +2,34 @@ package database;
public class Record {
private int id;
private String id;
private String nom;
private byte[] img;
private byte[] obj;
public Record() {
this(0, null, null);
this("0", "", null);
}
public Record(String n, byte[] b) {
this(0, n, b);
}
public Record(String number, String n, byte[] b) {
this(Integer.parseInt(number), n, b);
}
public Record(int i, String n, byte[] b) {
this.id = i;
this.nom = n;
this.img = b;
}
public int getId() {
public Record(String number, String n, byte[] b) {
this.id = number;
this.nom = n;
this.img = b;
}
public Record(String i, String n, byte[] b, byte[] obj) {
this.id = i;
this.nom = n;
this.img = b;
this.obj = obj;
}
public String getId() {
return id;
}
@ -39,5 +44,9 @@ public class Record {
public String toString() {
return String.format("%-20.30s %-30.30s %-20.30s%n", this.getId(), this.getNom(), this.getImg());
}
public byte[] getObjet() {
return this.obj;
}
}

View File

@ -0,0 +1,51 @@
package database;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.HashMap;
import java.util.Map;
import carte.Carte;
public class RessourceLoader {
private static Map<Integer, Carte> loadCards() throws ClassNotFoundException, IOException{
Table t = new Table();
Map<Integer, Carte> cartes = new HashMap<Integer,Carte>();
for(int i = 0; i < 61; i++) {
String query = QueryGenerator.selectId(i+1);
t.remplirTableQuery(query);
byte[] obj = t.getList().get(i).getObjet();
if(obj != null) {
Object o = deserialize(obj);
Carte c = (Carte)o;
cartes.put(i+1, c);
}
}
return cartes;
}
public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream is = new ObjectInputStream(in);
return is.readObject();
}
public static void main(String[] args) {
try {
Map<Integer, Carte> cartes = loadCards();
System.out.println(cartes);
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
}
}

View File

@ -13,6 +13,10 @@ public class Table {
private String name;
private List<Record> list = new ArrayList<Record>();
public Table() {
this.name = "";
}
public Table(String JavaTableName) {
this.name = JavaTableName;
}
@ -67,6 +71,23 @@ public class Table {
e.printStackTrace();
}
}
public void remplirTableQuery(String query) {
try (Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/ShadowHunterDatabase", "shManager", "shadowhunter1234")) { //notre utilisateur que l'on utilisera (:
System.out.println("Connected to PostgreSQL database!");
Statement statement = connection.createStatement();
System.out.println("Reading records...");
ResultSet retour = statement.executeQuery(query);
while (retour.next()) {
list.add(new Record(retour.getString("id"), retour.getString("nom"), null, retour.getBytes("objet")));
}
} catch (SQLException e) {
System.out.println("Connection failure.");
e.printStackTrace();
}
}
public String getName() {
return name;

View File

@ -13,6 +13,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import carte.Carte;
import carte.CartePiochable;
import condition.Condition;
import effet.EffetSelf;
@ -42,7 +43,7 @@ public class TestAddingCard {
return DriverManager.getConnection(url, user, password);
}
public static void insertCartePiochable(CartePiochable<?> instance) throws IOException, SQLException {
public static void insertCartePiochable(Carte instance) throws IOException, SQLException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos;

View File

@ -57,4 +57,9 @@ public class ActionAltererStatistiquesJoueur extends Action{
public void setValeur(int valeur) {
this.valeur = valeur;
}
@Override
public String toString(){
return this.key+" "+this.valeur+" "+this.ajouter;
}
}

View File

@ -20,6 +20,7 @@ public class Allie extends Unique{
*/
private static final long serialVersionUID = 8822533547275463314L;
public Allie(Joueur joueur) {
super("ALLIE","desc", 8, joueur);

View File

@ -18,6 +18,14 @@ public class Charles extends CartePersonnage{
}
public Charles() {
super("Charles", "desc", 11, null);
Action action = new ActionAltererStatistiquesJoueur("HP",-2,true);
Effet effet = new EffetSelf(action);
this.setEffet(effet);
}
@Override
public void attaquer(Joueur j, int blessure) {

View File

@ -20,7 +20,23 @@ public class Daniel extends CartePersonnage{
public static final int HP = 13;
public Daniel() {
super("Daniel","desc", HP, null);
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(Joueur j) {
super("Daniel","desc", HP, j);
List<Condition> conditions = new ArrayList<Condition>();
@ -58,6 +74,8 @@ public class Daniel extends CartePersonnage{
public void utiliser() {
this.getJoueur().reveal();
}

View File

@ -7,6 +7,12 @@ public class Emi extends CartePersonnage{
public static final int HP = 13;
public Emi() {
super("EMI","desc", HP, null);
this.setCondition(new WinConditionHunter());
}
public Emi(Joueur j) {
super("EMI","desc", HP, j);
@ -24,6 +30,8 @@ public class Emi extends CartePersonnage{
public void deplacer() {
}

View File

@ -6,6 +6,11 @@ import main.Plateau;
public class Georges extends Unique{
public Georges() {
super("Franklin", "desc", 14, null);
this.setCondition(new WinConditionHunter());
this.setEquipe(CartePersonnage.Equipe.HUNTER);
}
public Georges(Joueur joueur) {
super("Franklin", "desc", 14, joueur);
@ -19,6 +24,8 @@ public class Georges extends Unique{
this.setEquipe(CartePersonnage.Equipe.HUNTER);
}
public void utiliser() {
Joueur joueur = this.getJoueur();

View File

@ -5,8 +5,18 @@ import main.Joueur;
public class LoupGarou extends CartePersonnage {
/**
*
*/
public static final int HP = 14;
public LoupGarou() {
super("LOUP-GAROU","desc", HP, null);
this.setCondition(new WinConditionShadow());
this.setEquipe(CartePersonnage.Equipe.SHADOW);
}
public LoupGarou(Joueur j) {
super("LOUP-GAROU","desc", HP, j);
this.setCondition(new WinConditionShadow());
@ -19,8 +29,6 @@ public class LoupGarou extends CartePersonnage {
this.setCondition(new WinConditionShadow());
}
public void utiliser() {
}

View File

@ -11,6 +11,11 @@ public class Metamorphe extends CartePersonnage{
private static final long serialVersionUID = 8415184267445994107L;
public final static int HP = 11;
public Metamorphe() {
super("METAMORPHE","desc", HP, null);
this.setCondition(new WinConditionShadow());
}
public Metamorphe(Joueur j) {
super("METAMORPHE","desc", HP, j);
this.setCondition(new WinConditionShadow());
@ -21,8 +26,6 @@ public class Metamorphe extends CartePersonnage{
this.setCondition(new WinConditionShadow());
}
public void utiliser() {
}
}