Skip to content
Snippets Groups Projects
Commit 7bcaa5c9 authored by michael.divia's avatar michael.divia
Browse files

Gestion des mains & Tâche 1 - 100%

parent fcc5059c
Branches
Tags
No related merge requests found
Showing
with 160 additions and 9 deletions
...@@ -5,10 +5,33 @@ public class App { ...@@ -5,10 +5,33 @@ public class App {
public static void main(String[] args) { public static void main(String[] args) {
JeudeCarte jeuDeCartesStandard = new JeudeCarte(32); JeudeCarte jeuDeCartesStandard = new JeudeCarte(32);
jeuDeCartesStandard.afficherPaquet();
System.out.println("Paquet Originel:");
jeuDeCartesStandard.ShowPaquet();
jeuDeCartesStandard.shuffle(); 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();
} }
} }
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("----------------------");
}
}
...@@ -33,18 +33,47 @@ public class JeudeCarte { ...@@ -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() { public void shuffle() {
Collections.shuffle(jeuDeCartes); Collections.shuffle(jeuDeCartes);
} }
public void afficherPaquet() { public void ShowPaquet() {
System.out.println("------- Paquet -------");
for (Carte carte : jeuDeCartes) { for (Carte carte : jeuDeCartes) {
System.out.println(carte.getNomComplet()); System.out.println(carte.getNomComplet());
} }
System.out.println("----------------------");
} }
} }
package ch.hepia;
public class Main {
}
No preview for this file type
No preview for this file type
No preview for this file type
File added
File added
No preview for this file type
File deleted
ch/hepia/App.class ch/hepia/App.class
ch/hepia/Hand.class
ch/hepia/COULEUR.class ch/hepia/COULEUR.class
ch/hepia/Carte.class ch/hepia/Carte.class
ch/hepia/Hand$1.class
ch/hepia/JeudeCarte.class ch/hepia/JeudeCarte.class
/home/padi/Git/java-card-game/src/main/java/ch/hepia/JeudeCarte.java /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/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/App.java
/home/padi/Git/java-card-game/src/main/java/ch/hepia/Hand.java
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment