From d908378ad9a20f6308a19358d47c644e0285bd29 Mon Sep 17 00:00:00 2001 From: lebretonm Date: Thu, 27 Nov 2025 12:24:17 +0100 Subject: [PATCH] =?UTF-8?q?test:=20ajout=20de=20l'=C3=A9galit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rock_paper_scissors/play/domain/Move.java | 8 ++++++-- .../rock_paper_scissors/play/domain/Result.java | 8 ++++++++ .../play/domain/RockPaperScissorsPlayer.java | 11 +++++------ 3 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Result.java diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java index 4e46e24..49021fa 100644 --- a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java @@ -6,8 +6,11 @@ public enum Move { SCISSORS, WELL; - public boolean beats(Move other) { - return switch (this) { + public Result beats(Move other) { + if(this.equals(other)){ + return Result.EQUAL; + } + boolean result = switch (this) { case ROCK -> other == SCISSORS; case PAPER -> other == ROCK || other == WELL; case SCISSORS -> other == PAPER; @@ -15,5 +18,6 @@ public enum Move { }; + return result ? Result.WIN : Result.LOOSE; } } diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Result.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Result.java new file mode 100644 index 0000000..cc41cdb --- /dev/null +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Result.java @@ -0,0 +1,8 @@ +package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain; + +public enum Result { + + WIN, + LOOSE, + EQUAL; +} diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/RockPaperScissorsPlayer.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/RockPaperScissorsPlayer.java index 90e7b79..73b9b76 100644 --- a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/RockPaperScissorsPlayer.java +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/RockPaperScissorsPlayer.java @@ -9,17 +9,16 @@ import fr.iut_fbleau.info.but3.automation.rock_paper_scissors.stat.domain.StatSa @DomainService public record RockPaperScissorsPlayer(CpuPick cpuPick, StatSave statSave) implements RockPaperScissorsPlay { - public static final String WIN = "WIN"; - public static final String LOOSE = "LOOSE"; + @Override public RoundResult playRound(String name, Move move) { + var cpuPicked = this.cpuPick.pick(); - boolean beats = move.beats(cpuPicked); - String result = beats ? WIN : LOOSE; - if (result.equals(WIN)) { + Result beats = move.beats(cpuPicked); + if (beats.equals(Result.WIN)) { this.statSave.addWin(name); } - return new RoundResult(result, name, cpuPicked); + return new RoundResult(beats.toString(), name, cpuPicked); } }