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 mau.mau.players.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class Dealer {
|
public class Dealer {
|
||||||
@@ -14,13 +15,8 @@ public class Dealer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Card> shuffleDeck(List<Card> unshuffledDeck) {
|
public List<Card> shuffleDeck(List<Card> unshuffledDeck) {
|
||||||
List<Card> shuffledDeck = new ArrayList<>();
|
Collections.shuffle(unshuffledDeck);
|
||||||
while (unshuffledDeck.size() > 0) {
|
return unshuffledDeck;
|
||||||
int randomIndex = (int) (Math.random() * unshuffledDeck.size());
|
|
||||||
shuffledDeck.add(unshuffledDeck.get(randomIndex));
|
|
||||||
unshuffledDeck.remove(randomIndex);
|
|
||||||
}
|
|
||||||
return shuffledDeck;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Card> getHand() {
|
public List<Card> getHand() {
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Game {
|
|||||||
skipNextPlayer = false;
|
skipNextPlayer = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
System.out.println("Current card is " + currentCard.getType() + " " + currentCard.getValue());
|
System.out.println("Current card is " + currentCard);
|
||||||
Card card = player.getPlay(currentCard);
|
Card card = player.getPlay(currentCard);
|
||||||
if (card != null) {
|
if (card != null) {
|
||||||
playCard(card);
|
playCard(card);
|
||||||
|
|||||||
@@ -26,10 +26,8 @@ public class Bot extends Player {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(Card card : hand) {
|
for(Card card : hand) {
|
||||||
TYPENUM cardType = card.getType();
|
|
||||||
VALUENUM cardValue = card.getValue();
|
|
||||||
if(Referee.isValidMove(card, currentCard)) {
|
if(Referee.isValidMove(card, currentCard)) {
|
||||||
System.out.println("Bot played " + cardType + " " + cardValue);
|
System.out.println("Bot played " + card);
|
||||||
hand.remove(card);
|
hand.remove(card);
|
||||||
System.out.println("Bot now has " + hand.size() + " cards");
|
System.out.println("Bot now has " + hand.size() + " cards");
|
||||||
return card;
|
return card;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class Human extends Player {
|
|||||||
}
|
}
|
||||||
if (input.equals("draw")) {
|
if (input.equals("draw")) {
|
||||||
Card card = drawCard();
|
Card card = drawCard();
|
||||||
System.out.println("You drew a " + card.getType() + " " + card.getValue());
|
System.out.println("You drew a " + card);
|
||||||
hand.add(card);
|
hand.add(card);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,8 @@ public class Human extends Player {
|
|||||||
private void printHand(){
|
private void printHand(){
|
||||||
List<Card> hand = super.getHand();
|
List<Card> hand = super.getHand();
|
||||||
for (int i = 0; i < hand.size(); i++) {
|
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