From 0f8b0ce88062115252325abf252da5d9d31b1a99 Mon Sep 17 00:00:00 2001 From: DTieman Date: Fri, 16 Sep 2022 10:43:16 +0200 Subject: [PATCH] ssd by remco --- src/main/java/SequenceDiagram.puml | 0 .../java/{ => diagrams}/ClassDiagram.puml | 0 src/main/java/diagrams/SSD.puml | 17 ++++++++++ src/main/java/diagrams/SequenceDiagram.puml | 34 +++++++++++++++++++ src/main/java/mau/mau/Dealer.java | 10 ++---- src/main/java/mau/mau/Game.java | 2 +- src/main/java/mau/mau/players/Bot.java | 6 ++-- src/main/java/mau/mau/players/Human.java | 5 +-- 8 files changed, 60 insertions(+), 14 deletions(-) delete mode 100644 src/main/java/SequenceDiagram.puml rename src/main/java/{ => diagrams}/ClassDiagram.puml (100%) create mode 100644 src/main/java/diagrams/SSD.puml create mode 100644 src/main/java/diagrams/SequenceDiagram.puml diff --git a/src/main/java/SequenceDiagram.puml b/src/main/java/SequenceDiagram.puml deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/ClassDiagram.puml b/src/main/java/diagrams/ClassDiagram.puml similarity index 100% rename from src/main/java/ClassDiagram.puml rename to src/main/java/diagrams/ClassDiagram.puml diff --git a/src/main/java/diagrams/SSD.puml b/src/main/java/diagrams/SSD.puml new file mode 100644 index 0000000..38a801a --- /dev/null +++ b/src/main/java/diagrams/SSD.puml @@ -0,0 +1,17 @@ +@startuml +skinparam sequenceMessageAlign right + +actor Player +participant System + +Player -> System ++ : Start game + +loop until 1 player || 0 cards left + alt valid move + Player -> System: play() + else else + Player -> System: draw() + end +end + +@enduml \ No newline at end of file diff --git a/src/main/java/diagrams/SequenceDiagram.puml b/src/main/java/diagrams/SequenceDiagram.puml new file mode 100644 index 0000000..6ad1794 --- /dev/null +++ b/src/main/java/diagrams/SequenceDiagram.puml @@ -0,0 +1,34 @@ +@startuml +skinparam sequenceMessageAlign right + +entity " " as start +participant Game +participant Player +participant Card +participant Referee +actor User +actor Bot + +start -> Game: playGame() +loop until someone wins + Game -> Player: getPlay(currentCard) + alt user's turn + alt play + User -> Player: play(card) + Game <-- Player: playedCard + Game -> Referee: checkPlay(currentCard, playedCard) + else draw + User -> Player: draw() + end + else bot's turn + alt play + Bot -> Player: play(card) + Game <-- Player: playedCard + Game -> Referee: checkPlay(currentCard, playedCard) + else draw + Bot -> Player: draw() + end + end +end + +@enduml \ No newline at end of file diff --git a/src/main/java/mau/mau/Dealer.java b/src/main/java/mau/mau/Dealer.java index a344826..eea373b 100644 --- a/src/main/java/mau/mau/Dealer.java +++ b/src/main/java/mau/mau/Dealer.java @@ -3,6 +3,7 @@ package mau.mau; import mau.mau.players.Player; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class Dealer { @@ -14,13 +15,8 @@ public class Dealer { } public List shuffleDeck(List unshuffledDeck) { - List shuffledDeck = new ArrayList<>(); - while (unshuffledDeck.size() > 0) { - int randomIndex = (int) (Math.random() * unshuffledDeck.size()); - shuffledDeck.add(unshuffledDeck.get(randomIndex)); - unshuffledDeck.remove(randomIndex); - } - return shuffledDeck; + Collections.shuffle(unshuffledDeck); + return unshuffledDeck; } public List getHand() { diff --git a/src/main/java/mau/mau/Game.java b/src/main/java/mau/mau/Game.java index 59807eb..ee6a47f 100644 --- a/src/main/java/mau/mau/Game.java +++ b/src/main/java/mau/mau/Game.java @@ -38,7 +38,7 @@ public class Game { skipNextPlayer = false; continue; } - System.out.println("Current card is " + currentCard.getType() + " " + currentCard.getValue()); + System.out.println("Current card is " + currentCard); Card card = player.getPlay(currentCard); if (card != null) { playCard(card); diff --git a/src/main/java/mau/mau/players/Bot.java b/src/main/java/mau/mau/players/Bot.java index bb41c06..8c79c6d 100644 --- a/src/main/java/mau/mau/players/Bot.java +++ b/src/main/java/mau/mau/players/Bot.java @@ -26,10 +26,8 @@ public class Bot extends Player { } for(Card card : hand) { - TYPENUM cardType = card.getType(); - VALUENUM cardValue = card.getValue(); if(Referee.isValidMove(card, currentCard)) { - System.out.println("Bot played " + cardType + " " + cardValue); + System.out.println("Bot played " + card); hand.remove(card); System.out.println("Bot now has " + hand.size() + " cards"); return card; @@ -40,4 +38,4 @@ public class Bot extends Player { System.out.println("Bot now has " + hand.size() + " cards"); return null; } -} +} \ No newline at end of file diff --git a/src/main/java/mau/mau/players/Human.java b/src/main/java/mau/mau/players/Human.java index bd2aff1..aca8ffd 100644 --- a/src/main/java/mau/mau/players/Human.java +++ b/src/main/java/mau/mau/players/Human.java @@ -29,7 +29,7 @@ public class Human extends Player { } if (input.equals("draw")) { Card card = drawCard(); - System.out.println("You drew a " + card.getType() + " " + card.getValue()); + System.out.println("You drew a " + card); hand.add(card); return null; } @@ -54,7 +54,8 @@ public class Human extends Player { private void printHand(){ List hand = super.getHand(); for (int i = 0; i < hand.size(); i++) { - System.out.println("(" + i + ") " + hand.get(i).getType() + " " + hand.get(i).getValue()); + Card card = hand.get(i); + System.out.println("(" + i + ") " + card); } } }