diff --git a/src/database/CreatingCardsTest.java b/src/database/CreatingCardsTest.java index bfb69b5..0e425e5 100644 --- a/src/database/CreatingCardsTest.java +++ b/src/database/CreatingCardsTest.java @@ -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( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true)))); - - - //Avénement suprême - insert(3,new CartePiochable( - 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( - 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(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true)))); + try { + QueryGenerator.queryInsertObject(2,new CartePiochable( + new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true)))); + //Avénement suprême + QueryGenerator.queryInsertObject(3,new CartePiochable( + 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( + 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(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true)))); + + // BOUSSOLE mystique + + // 6 + + // 7 + + // 8 + + // Eau bénite + QueryGenerator.queryInsertObject(9,new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true)))); + QueryGenerator.queryInsertObject(10,new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true)))); - // Eau bénite - insert(9,new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true)))); - insert(10,new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true)))); - - // Eclair purificateur - - insert(11,new CartePiochable(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true)))); - - // Lance de longinus - - insert(12,new CarteEquipementStat( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true)) - ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal()) - )); - - // Miroir divin - - insert(13,new CartePiochable(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class))); + // Eclair purificateur + + QueryGenerator.queryInsertObject(11,new CartePiochable(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true)))); + + // Lance de longinus + + QueryGenerator.queryInsertObject(12,new CarteEquipementStat( + 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(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class))); - - // Premiers secours - - insert(14, new CartePiochable(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false)))); - - - //Savoir ancestral - - insert(15, new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true)))); - - - //Toge sainte - - insert(16, new CartePiochable(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(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(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); - - insert(19, new CartePiochable(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); - - insert(20, new CartePiochable(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( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); - - // Hachoir maudit - insert(23,new CarteEquipementStat( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); - - - // Mitrailleuse funeste - // 24 - - // Peau de banane - // 25 - - // Poupé démoniaque - // 26 - - insert(28,new CartePiochable( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) - ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal()) - )); - - // 29 - - insert(30,new CartePiochable( - new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); - - insert(31,new CartePiochable( - new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); - - insert(32,new CarteEquipementStat( - new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); - - - // Vision clairvoyante - insert(33, new CartePiochable(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(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(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(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(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(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(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), - new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); - - - // Vision furtive - - insert(41,new CartePiochable(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(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(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), - new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); - - - // Vision lugubre - - insert(45,new CartePiochable(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(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false)))); + + + //Savoir ancestral + + QueryGenerator.queryInsertObject(15, new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true)))); + + + + //Toge sainte + + QueryGenerator.queryInsertObject(16, new CartePiochable(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(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(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(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(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( + new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); + + // Hachoir maudit + QueryGenerator.queryInsertObject(23,new CarteEquipementStat( + 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( + new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) + ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal()) + )); + + // 29 + + QueryGenerator.queryInsertObject(30,new CartePiochable( + new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); + + QueryGenerator.queryInsertObject(31,new CartePiochable( + new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); + + QueryGenerator.queryInsertObject(32,new CarteEquipementStat( + new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); + + + // Vision clairvoyante + QueryGenerator.queryInsertObject(33, new CartePiochable(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(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(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(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(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(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(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), + new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); + + + // Vision furtive + + QueryGenerator.queryInsertObject(41,new CartePiochable(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(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(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), + new ConditionEquipe(CartePersonnage.Equipe.SHADOW))); + + + // Vision lugubre + + QueryGenerator.queryInsertObject(45,new CartePiochable(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) { - - } - } diff --git a/src/database/QueryGenerator.java b/src/database/QueryGenerator.java index 1d449b4..59daaad 100644 --- a/src/database/QueryGenerator.java +++ b/src/database/QueryGenerator.java @@ -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(); } - - } diff --git a/src/database/Record.java b/src/database/Record.java index 960f90f..f24f7a5 100644 --- a/src/database/Record.java +++ b/src/database/Record.java @@ -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; + } } diff --git a/src/database/RessourceLoader.java b/src/database/RessourceLoader.java new file mode 100644 index 0000000..bf84217 --- /dev/null +++ b/src/database/RessourceLoader.java @@ -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 loadCards() throws ClassNotFoundException, IOException{ + + Table t = new Table(); + + Map cartes = new HashMap(); + 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 cartes = loadCards(); + System.out.println(cartes); + } catch (ClassNotFoundException | IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/src/database/Table.java b/src/database/Table.java index 8cf0936..4ee0cc6 100644 --- a/src/database/Table.java +++ b/src/database/Table.java @@ -13,6 +13,10 @@ public class Table { private String name; private List list = new ArrayList(); + 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; diff --git a/src/database/TestAddingCard.java b/src/database/TestAddingCard.java index 06f05ec..6cd72d2 100644 --- a/src/database/TestAddingCard.java +++ b/src/database/TestAddingCard.java @@ -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; diff --git a/src/effet/action/ActionAltererStatistiquesJoueur.java b/src/effet/action/ActionAltererStatistiquesJoueur.java index c35e667..9666a48 100644 --- a/src/effet/action/ActionAltererStatistiquesJoueur.java +++ b/src/effet/action/ActionAltererStatistiquesJoueur.java @@ -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; + } } diff --git a/src/personnage/Allie.java b/src/personnage/Allie.java index b719389..5368d63 100644 --- a/src/personnage/Allie.java +++ b/src/personnage/Allie.java @@ -20,6 +20,7 @@ public class Allie extends Unique{ */ private static final long serialVersionUID = 8822533547275463314L; + public Allie(Joueur joueur) { super("ALLIE","desc", 8, joueur); diff --git a/src/personnage/Charles.java b/src/personnage/Charles.java index a9e0797..e12fb6c 100644 --- a/src/personnage/Charles.java +++ b/src/personnage/Charles.java @@ -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) { diff --git a/src/personnage/Daniel.java b/src/personnage/Daniel.java index d20db21..5487c42 100644 --- a/src/personnage/Daniel.java +++ b/src/personnage/Daniel.java @@ -20,7 +20,23 @@ public class Daniel extends CartePersonnage{ public static final int HP = 13; - + public Daniel() { + super("Daniel","desc", HP, null); + List conditions = new ArrayList(); + List conditions2 = new ArrayList(); + + 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 conditions = new ArrayList(); @@ -58,6 +74,8 @@ public class Daniel extends CartePersonnage{ + + public void utiliser() { this.getJoueur().reveal(); } diff --git a/src/personnage/Emi.java b/src/personnage/Emi.java index 3944526..e27a19d 100644 --- a/src/personnage/Emi.java +++ b/src/personnage/Emi.java @@ -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() { } diff --git a/src/personnage/Georges.java b/src/personnage/Georges.java index 3dd6114..79a9b2a 100644 --- a/src/personnage/Georges.java +++ b/src/personnage/Georges.java @@ -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(); diff --git a/src/personnage/LoupGarou.java b/src/personnage/LoupGarou.java index bc0b1d2..f9981de 100644 --- a/src/personnage/LoupGarou.java +++ b/src/personnage/LoupGarou.java @@ -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() { } diff --git a/src/personnage/Metamorphe.java b/src/personnage/Metamorphe.java index ecf9868..309eccb 100644 --- a/src/personnage/Metamorphe.java +++ b/src/personnage/Metamorphe.java @@ -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() { } }