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

Tache 1 98%

parent 19b0a8f6
No related branches found
No related tags found
No related merge requests found
Showing
with 205 additions and 64 deletions
......@@ -4,10 +4,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ch.hepia</groupId>
<artifactId>template_maven</artifactId>
<artifactId>Java_Card_Game</artifactId>
<version>1.0-SNAPSHOT</version>
<name>template_maven</name>
<name>Java_Card_Game</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
......
package ch.hepia;
public class App {
public static void main(String args[]) {
System.out.println("Hello World depuis un template maven super cool !");
public static void main(String[] args) {
JeudeCarte jeuDeCartesStandard = new JeudeCarte(32);
jeuDeCartesStandard.afficherPaquet();
jeuDeCartesStandard.shuffle();
System.out.println("----------------------------------------");
jeuDeCartesStandard.afficherPaquet();
}
}
package ch.hepia;
enum COULEUR {
coeur,
carreau,
pique,
trefle
}
public class Carte {
final private COULEUR couleur;
final private int rang;
private int force;
private static final int NOMBRE_DE_RANGS = 13;
public Carte(COULEUR couleur, int rang) {
if (rang < 0 || rang > NOMBRE_DE_RANGS) {
throw new IllegalArgumentException("Carte invalide : rang incorrect");
}
this.couleur = couleur;
this.rang = rang;
}
public Carte(COULEUR couleur, int rang, int force) {
if (rang < 0 || rang > NOMBRE_DE_RANGS) {
throw new IllegalArgumentException("Carte invalide : rang incorrect");
}
this.couleur = couleur;
this.rang = rang;
this.force = force;
}
public COULEUR getCouleur() {
return this.couleur;
}
public int getRang() {
return this.rang;
}
public int getForce() {
return this.force;
}
public String getNomCouleur() {
String[] NOMS_COULEURS = { "Coeur", "Carreau", "Pique", "Trèfle" };
return NOMS_COULEURS[couleur.ordinal()];
}
public String getNomRang() {
String[] NOMS_RANGS = { "Joker", "As", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Valet", "Dame", "Roi" };
return NOMS_RANGS[rang];
}
public String getNomComplet() {
if (getRang() == 0) {
return getNomRang();
} else {
return getNomRang() + (getCouleur() == null ? "" : " de " + getNomCouleur());
}
}
}
package ch.hepia;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class JeudeCarte {
private List<Carte> jeuDeCartes;
public JeudeCarte(int nb) {
jeuDeCartes = new ArrayList<>();
for (COULEUR couleur : COULEUR.values()) {
for (int rang = 1; rang < (nb / 4) + 1; rang++) {
jeuDeCartes.add(new Carte(couleur, rang));
}
}
if (nb % 4 != 0) {
for (int x = 0; x < nb % 4; x++) {
jeuDeCartes.add(new Carte(COULEUR.carreau, 0));
}
}
}
public void shuffle() {
Collections.shuffle(jeuDeCartes);
}
public void afficherPaquet() {
for (Carte carte : jeuDeCartes) {
System.out.println(carte.getNomComplet());
}
}
}
package ch.hepia;
public class Main {
}
package ch.hepia;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class CarteTest {
@Test
public void testGetCouleur() {
Carte carte = new Carte(COULEUR.coeur, 2);
assertEquals(COULEUR.coeur, carte.getCouleur());
}
@Test
public void testGetRang() {
Carte carte = new Carte(COULEUR.carreau, 7);
assertEquals(7, carte.getRang());
}
@Test
public void testGetForce() {
Carte carte = new Carte(COULEUR.trefle, 12, 10);
assertEquals(10, carte.getForce());
}
@Test
public void testGetNomCouleur() {
Carte carte = new Carte(COULEUR.coeur, 0);
assertEquals("Coeur", carte.getNomCouleur());
}
@Test
public void testGetNomRang() {
Carte carte = new Carte(COULEUR.coeur, 2);
assertEquals("2", carte.getNomRang());
}
@Test
public void testGetNomComplet() {
Carte carte = new Carte(COULEUR.carreau, 12);
assertEquals("Dame de Carreau", carte.getNomComplet());
}
@Test
public void testGetNomComplet_2() {
Carte carte = new Carte(COULEUR.carreau, 0);
assertEquals("Joker", carte.getNomComplet());
}
}
\ No newline at end of file
No preview for this file type
File added
File added
File added
File added
File deleted
File deleted
ch/hepia/App.class
ch/hepia/COULEUR.class
ch/hepia/Carte.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/Carte.java
/home/padi/Git/java-card-game/src/main/java/ch/hepia/App.java
ch/hepia/AppTest.class
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="ch.hepia.AppTest" time="0.049" tests="1" errors="0" skipped="0" failures="0">
<properties>
<property name="java.specification.version" value="18"/>
<property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.class.path" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/test-classes:/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/classes:/home/tibonhomme/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/tibonhomme/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-controls/19/javafx-controls-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-controls/19/javafx-controls-19-linux.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-graphics/19/javafx-graphics-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-graphics/19/javafx-graphics-19-linux.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-base/19/javafx-base-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-base/19/javafx-base-19-linux.jar:"/>
<property name="java.vm.vendor" value="Oracle Corporation"/>
<property name="sun.arch.data.model" value="64"/>
<property name="java.vendor.url" value="https://java.oracle.com/"/>
<property name="os.name" value="Linux"/>
<property name="java.vm.specification.version" value="18"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="US"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/jdk-18/lib"/>
<property name="sun.java.command" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/surefire/surefirebooter13178483302707467755.jar /home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/surefire 2023-09-22T14-26-22_654-jvmRun1 surefire4340852442493115901tmp surefire_08105387393367528216tmp"/>
<property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/test-classes:/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/classes:/home/tibonhomme/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/tibonhomme/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-controls/19/javafx-controls-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-controls/19/javafx-controls-19-linux.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-graphics/19/javafx-graphics-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-graphics/19/javafx-graphics-19-linux.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-base/19/javafx-base-19.jar:/home/tibonhomme/.m2/repository/org/openjfx/javafx-base/19/javafx-base-19-linux.jar:"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="/home/tibonhomme"/>
<property name="user.language" value="en"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2022-08-18"/>
<property name="java.home" value="/usr/lib/jvm/jdk-18"/>
<property name="file.separator" value="/"/>
<property name="basedir" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="surefire.real.class.path" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17/target/surefire/surefirebooter13178483302707467755.jar"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="18.0.2.1+1-1"/>
<property name="user.name" value="tibonhomme"/>
<property name="path.separator" value=":"/>
<property name="os.version" value="6.2.6-76060206-generic"/>
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
<property name="file.encoding" value="UTF-8"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
<property name="localRepository" value="/home/tibonhomme/.m2/repository"/>
<property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
<property name="java.io.tmpdir" value="/tmp"/>
<property name="java.version" value="18.0.2.1"/>
<property name="user.dir" value="/home/tibonhomme/Documents/Hepia/poo/maven-template-jdk17"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="native.encoding" value="UTF-8"/>
<property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib"/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="java.vendor" value="Oracle Corporation"/>
<property name="java.vm.version" value="18.0.2.1+1-1"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="62.0"/>
</properties>
<testcase name="testFake" classname="ch.hepia.AppTest" time="0.005"/>
</testsuite>
\ No newline at end of file
-------------------------------------------------------------------------------
Test set: ch.hepia.AppTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.049 s - in ch.hepia.AppTest
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment