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; package database;
import java.io.IOException;
import java.sql.SQLException;
import carte.CarteEquipementStat; import carte.CarteEquipementStat;
import carte.CartePiochable; import carte.CartePiochable;
import condition.ConditionClassPersonnage; import condition.ConditionClassPersonnage;
@ -40,27 +43,26 @@ public class CreatingCardsTest {
// Lumière // Lumière
//Ange gardien //Ange gardien
insert(2,new CartePiochable<TypeLumiere>( try {
QueryGenerator.queryInsertObject(2,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true)))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
//Avénement suprême //Avénement suprême
insert(3,new CartePiochable<TypeLumiere>( QueryGenerator.queryInsertObject(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 ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal()) ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
)); ));
//Barre de chocolat //Barre de chocolat
insert(4,new CartePiochable<TypeLumiere>( QueryGenerator.queryInsertObject(4,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal()) ,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
)); ));
//Bénédiction //Bénédiction
insert(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true)))); QueryGenerator.queryInsertObject(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
// BOUSSOLE mystique // BOUSSOLE mystique
@ -71,58 +73,58 @@ public class CreatingCardsTest {
// 8 // 8
// Eau bénite // Eau bénite
insert(9,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true)))); QueryGenerator.queryInsertObject(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)))); QueryGenerator.queryInsertObject(10,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
// Eclair purificateur // Eclair purificateur
insert(11,new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true)))); QueryGenerator.queryInsertObject(11,new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true))));
// Lance de longinus // Lance de longinus
insert(12,new CarteEquipementStat<TypeLumiere>( QueryGenerator.queryInsertObject(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 ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal()) ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
)); ));
// Miroir divin // Miroir divin
insert(13,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class))); QueryGenerator.queryInsertObject(13,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class)));
// Premiers secours // Premiers secours
insert(14, new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false)))); QueryGenerator.queryInsertObject(14, new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false))));
//Savoir ancestral //Savoir ancestral
insert(15, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true)))); QueryGenerator.queryInsertObject(15, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true))));
//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))))); 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 // Ténèbre
// Araignée Sanguinaire // Araignée Sanguinaire
insert(17, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), 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))))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
// Chauve - souris vampire // Chauve - souris vampire
insert(18, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), 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))))); 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)), 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))))); 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)), 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))))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
// Dynamite // Dynamite
@ -131,11 +133,11 @@ public class CreatingCardsTest {
// Hache tueuse // Hache tueuse
insert(22,new CarteEquipementStat<TypeTenebre>( QueryGenerator.queryInsertObject(22,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Hachoir maudit // Hachoir maudit
insert(23,new CarteEquipementStat<TypeTenebre>( QueryGenerator.queryInsertObject(23,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
@ -148,39 +150,39 @@ public class CreatingCardsTest {
// Poupé démoniaque // Poupé démoniaque
// 26 // 26
insert(28,new CartePiochable<TypeTenebre>( QueryGenerator.queryInsertObject(28,new CartePiochable<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal()) ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
)); ));
// 29 // 29
insert(30,new CartePiochable<TypeTenebre>( QueryGenerator.queryInsertObject(30,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
insert(31,new CartePiochable<TypeTenebre>( QueryGenerator.queryInsertObject(31,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
insert(32,new CarteEquipementStat<TypeTenebre>( QueryGenerator.queryInsertObject(32,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Vision clairvoyante // Vision clairvoyante
insert(33, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)), 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))); new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
// Vision cupide // Vision cupide
insert(34,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), 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))); 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))), 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))); new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
// Vision destructrice // Vision destructrice
insert(36, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), 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))); new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
@ -188,59 +190,57 @@ public class CreatingCardsTest {
// Vision enivrante // Vision enivrante
insert(38,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), 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))); 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))), 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))); new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
// Vision Foudroyante // Vision Foudroyante
insert(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), QueryGenerator.queryInsertObject(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision furtive // Vision furtive
insert(41,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), 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))); 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))), 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))); new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
// Vision Mortifère // Vision Mortifère
insert(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), QueryGenerator.queryInsertObject(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision lugubre // Vision lugubre
insert(45,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)), QueryGenerator.queryInsertObject(45,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision réconfortante // Vision réconfortante
// Vision suprême // Vision suprême
insert(48,new Allie(null)); QueryGenerator.queryInsertObject(48,new Allie());
insert(49,new Bob(null)); QueryGenerator.queryInsertObject(49,new Bob());
insert(50,new Charles(null)); QueryGenerator.queryInsertObject(50,new Charles());
insert(51,new Daniel(null)); QueryGenerator.queryInsertObject(51,new Daniel());
insert(52,new Emi(null)); QueryGenerator.queryInsertObject(52,new Emi());
insert(53,new Franklin(null)); QueryGenerator.queryInsertObject(53,new Franklin());
insert(54,new Georges(null));
insert(55,new LoupGarou(null));
insert(56,new Metamorphe(null));
insert(57,new Vampire(null));
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); 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 { public static void queryInsertObject(int id, Object o) throws IOException, SQLException {
String table = null; String table = null;
@ -76,13 +92,13 @@ public class QueryGenerator {
} }
String query = null; String query = null;
query = "UPDATE" + table + " SET objet = "; query = "UPDATE " + table + " SET objet = ? "
+ " WHERE id = ? " ;
Connection conn = connect(); Connection conn = connect();
PreparedStatement pst = conn.prepareStatement(query); PreparedStatement pst = conn.prepareStatement(query);
pst.setBinaryStream(4, objectIS); pst.setBinaryStream(1, objectIS);
pst.setInt(2, id);
pst.executeUpdate(); pst.executeUpdate();
} }
} }

View File

@ -2,29 +2,34 @@ package database;
public class Record { public class Record {
private int id; private String id;
private String nom; private String nom;
private byte[] img; private byte[] img;
private byte[] obj;
public Record() { public Record() {
this(0, null, null); this("0", "", null);
} }
public Record(String n, byte[] b) { 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.nom = n;
this.img = b; 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; return id;
} }
@ -40,4 +45,8 @@ public class Record {
return String.format("%-20.30s %-30.30s %-20.30s%n", this.getId(), this.getNom(), this.getImg()); 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 String name;
private List<Record> list = new ArrayList<Record>(); private List<Record> list = new ArrayList<Record>();
public Table() {
this.name = "";
}
public Table(String JavaTableName) { public Table(String JavaTableName) {
this.name = JavaTableName; this.name = JavaTableName;
} }
@ -68,6 +72,23 @@ public class Table {
} }
} }
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() { public String getName() {
return name; return name;
} }

View File

@ -13,6 +13,7 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import carte.Carte;
import carte.CartePiochable; import carte.CartePiochable;
import condition.Condition; import condition.Condition;
import effet.EffetSelf; import effet.EffetSelf;
@ -42,7 +43,7 @@ public class TestAddingCard {
return DriverManager.getConnection(url, user, password); 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(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos; ObjectOutputStream oos;

View File

@ -57,4 +57,9 @@ public class ActionAltererStatistiquesJoueur extends Action{
public void setValeur(int valeur) { public void setValeur(int valeur) {
this.valeur = 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; private static final long serialVersionUID = 8822533547275463314L;
public Allie(Joueur joueur) { public Allie(Joueur joueur) {
super("ALLIE","desc", 8, 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 @Override
public void attaquer(Joueur j, int blessure) { public void attaquer(Joueur j, int blessure) {

View File

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

View File

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

View File

@ -6,6 +6,11 @@ import main.Plateau;
public class Georges extends Unique{ 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) { public Georges(Joueur joueur) {
super("Franklin", "desc", 14, joueur); super("Franklin", "desc", 14, joueur);
@ -19,6 +24,8 @@ public class Georges extends Unique{
this.setEquipe(CartePersonnage.Equipe.HUNTER); this.setEquipe(CartePersonnage.Equipe.HUNTER);
} }
public void utiliser() { public void utiliser() {
Joueur joueur = this.getJoueur(); Joueur joueur = this.getJoueur();

View File

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

View File

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