ssd by remco
This commit is contained in:
17
src/main/java/diagrams/SSD.puml
Normal file
17
src/main/java/diagrams/SSD.puml
Normal file
@@ -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
|
||||
34
src/main/java/diagrams/SequenceDiagram.puml
Normal file
34
src/main/java/diagrams/SequenceDiagram.puml
Normal file
@@ -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
|
||||
@@ -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<Card> shuffleDeck(List<Card> unshuffledDeck) {
|
||||
List<Card> 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<Card> getHand() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<Card> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user