diff --git a/src/main/java/ch/hepia/App.java b/src/main/java/ch/hepia/App.java index 53f16a6c9a6d2c3d9695c4068772a1260b201399..a1663d913ee04319b4556439152684611f0cd75d 100644 --- a/src/main/java/ch/hepia/App.java +++ b/src/main/java/ch/hepia/App.java @@ -5,10 +5,33 @@ public class App { public static void main(String[] args) { JeudeCarte jeuDeCartesStandard = new JeudeCarte(32); - jeuDeCartesStandard.afficherPaquet(); + + System.out.println("Paquet Originel:"); + + jeuDeCartesStandard.ShowPaquet(); + jeuDeCartesStandard.shuffle(); - System.out.println("----------------------------------------"); - jeuDeCartesStandard.afficherPaquet(); + + System.out.println("Paquet Mélangée:"); + + jeuDeCartesStandard.ShowPaquet(); + + Hand main1 = new Hand(jeuDeCartesStandard, 10); + + Hand main2 = new Hand(jeuDeCartesStandard, 10); + + System.out.println("Main 1 avec 10 pioches:"); + + main1.ShowHand(); + + System.out.println("Main 2 avec 10 pioches:"); + + main2.ShowHand(); + + System.out.println("Paquet après pioche:"); + + jeuDeCartesStandard.ShowPaquet(); + } } diff --git a/src/main/java/ch/hepia/Hand.java b/src/main/java/ch/hepia/Hand.java new file mode 100644 index 0000000000000000000000000000000000000000..88eaf6d3357a20b4e6541c80ab841d02e3024628 --- /dev/null +++ b/src/main/java/ch/hepia/Hand.java @@ -0,0 +1,101 @@ +package ch.hepia; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class Hand { + + private List<Carte> Hand; + + public Hand(Carte... cartes) { + + Hand = new ArrayList<>(); + + for (Carte carte : cartes) { + + Hand.add(carte); + + } + } + + public Hand(JeudeCarte game, int nb) { + + Hand = new ArrayList<>(); + + this.DrawCardFromGame(game, nb); + } + + public void AddCardToHand(Carte... cartes) { + + for (Carte carte : cartes) { + + this.Hand.add(carte); + + } + } + + public void RemoveCardFromHand(Carte... cartes) { + + for (Carte carte : cartes) { + + this.Hand.remove(carte); + + } + } + + public void DrawCardFromGame(JeudeCarte game) { + + this.AddCardToHand(game.GetTopCarteOfGame()); + + game.RemoveCarteFromGame(game.GetTopCarteOfGame()); + + } + + public void DrawCardFromGame(JeudeCarte game, int nb) { + + for (int x = 0; x < nb; x++) { + this.DrawCardFromGame(game); + } + + } + + public void SortHand() { + + Collections.sort(Hand, new Comparator<Carte>() { + + public int compare(Carte carte1, Carte carte2) { + + int comparaisonCouleur = carte1.getCouleur().compareTo(carte2.getCouleur()); + + if (comparaisonCouleur == 0) { + + return Integer.compare(carte1.getRang(), carte2.getRang()); + + } else { + + return comparaisonCouleur; + } + } + + }); + + } + + public void ShowHand() { + + this.SortHand(); + + System.out.println("-------- Main --------"); + + for (Carte carte : Hand) { + + System.out.println(carte.getNomComplet()); + + } + + System.out.println("----------------------"); + } + +} diff --git a/src/main/java/ch/hepia/JeudeCarte.java b/src/main/java/ch/hepia/JeudeCarte.java index 56a6575449a1746584e77dfb09f6ab95b50a8327..4e4161c568e790ebbb11480ff15c96b6e1ecea0d 100644 --- a/src/main/java/ch/hepia/JeudeCarte.java +++ b/src/main/java/ch/hepia/JeudeCarte.java @@ -33,18 +33,47 @@ public class JeudeCarte { } + public Carte GetTopCarteOfGame() { + + return this.jeuDeCartes.get(0); + + } + + public void AddCarteToGame(Carte... cartes) { + + for (Carte carte : cartes) { + + this.jeuDeCartes.add(carte); + + } + } + + public void RemoveCarteFromGame(Carte... cartes) { + + for (Carte carte : cartes) { + + this.jeuDeCartes.remove(carte); + + } + } + public void shuffle() { Collections.shuffle(jeuDeCartes); } - public void afficherPaquet() { + public void ShowPaquet() { + + System.out.println("------- Paquet -------"); + for (Carte carte : jeuDeCartes) { System.out.println(carte.getNomComplet()); } + + System.out.println("----------------------"); } } diff --git a/src/main/java/ch/hepia/Main.java b/src/main/java/ch/hepia/Main.java deleted file mode 100644 index 81b4bcb219b4475df242a0a986f4bd4be16dbbca..0000000000000000000000000000000000000000 --- a/src/main/java/ch/hepia/Main.java +++ /dev/null @@ -1,5 +0,0 @@ -package ch.hepia; - -public class Main { - -} diff --git a/target/classes/ch/hepia/App.class b/target/classes/ch/hepia/App.class index 8d3b9dbbfdc30b448e950ad51b56e38c84566f9d..702482c8fd70123c6f1b10106e17ec61aef73af2 100644 Binary files a/target/classes/ch/hepia/App.class and b/target/classes/ch/hepia/App.class differ diff --git a/target/classes/ch/hepia/COULEUR.class b/target/classes/ch/hepia/COULEUR.class index c38a76f38b5f56aec3100849ad749e77c1255bcd..c582fd28bd308c74abcc31d7c543625ab96af75b 100644 Binary files a/target/classes/ch/hepia/COULEUR.class and b/target/classes/ch/hepia/COULEUR.class differ diff --git a/target/classes/ch/hepia/Carte.class b/target/classes/ch/hepia/Carte.class index 6ee4be2ec9d067b2e556b6378e20b2b2cce9dab0..8a0fd9ccdbb8968ac2f609091731dd205d5eb0d2 100644 Binary files a/target/classes/ch/hepia/Carte.class and b/target/classes/ch/hepia/Carte.class differ diff --git a/target/classes/ch/hepia/Hand$1.class b/target/classes/ch/hepia/Hand$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7f5a3d911ba36617faafa35f851ab6311d560287 Binary files /dev/null and b/target/classes/ch/hepia/Hand$1.class differ diff --git a/target/classes/ch/hepia/Hand.class b/target/classes/ch/hepia/Hand.class new file mode 100644 index 0000000000000000000000000000000000000000..80fa43d1bfba60969578d63306fe5fc7df58b3c3 Binary files /dev/null and b/target/classes/ch/hepia/Hand.class differ diff --git a/target/classes/ch/hepia/JeudeCarte.class b/target/classes/ch/hepia/JeudeCarte.class index 89558dd3cdc5c06109e8aa37fbdfb5ce8deaedab..61d9930e443646901579b26cc34c9e565e2bf61d 100644 Binary files a/target/classes/ch/hepia/JeudeCarte.class and b/target/classes/ch/hepia/JeudeCarte.class differ diff --git a/target/classes/ch/hepia/Main.class b/target/classes/ch/hepia/Main.class deleted file mode 100644 index 7c82095527ac8940f83aaf2b36662b4b6e481857..0000000000000000000000000000000000000000 Binary files a/target/classes/ch/hepia/Main.class and /dev/null differ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 0c59c3ca29800d6357a6b7d77da3e1dd76c1dbd3..1e3b697a61e0d846a5515dec97a6fa90b3ac86c1 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,4 +1,6 @@ ch/hepia/App.class +ch/hepia/Hand.class ch/hepia/COULEUR.class ch/hepia/Carte.class +ch/hepia/Hand$1.class ch/hepia/JeudeCarte.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 54d2d1f36725ffe421a34fca5c105411c1f5cb54..b4947887ab0d20b440b494250ec27987eb0dd6f0 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,3 +1,4 @@ /home/padi/Git/java-card-game/src/main/java/ch/hepia/JeudeCarte.java /home/padi/Git/java-card-game/src/main/java/ch/hepia/Carte.java /home/padi/Git/java-card-game/src/main/java/ch/hepia/App.java +/home/padi/Git/java-card-game/src/main/java/ch/hepia/Hand.java diff --git a/target/test-classes/ch/hepia/CarteTest.class b/target/test-classes/ch/hepia/CarteTest.class deleted file mode 100644 index 60dcda85d37ead5584d2ad54aaa8affb1935c4b2..0000000000000000000000000000000000000000 Binary files a/target/test-classes/ch/hepia/CarteTest.class and /dev/null differ