From fef09ea000b3e58317e46818244b419f50a0cb32 Mon Sep 17 00:00:00 2001 From: DTieman Date: Thu, 15 Sep 2022 22:36:02 +0200 Subject: [PATCH] changes --- src/main/java/ClassDiagram.puml | 0 src/main/java/SequenceDiagram.puml | 0 src/main/java/mau/mau/players/Bot.java | 11 ++- src/main/java/mau/mau/players/Human.java | 3 +- src/test/java/mau/mau/CardTest.java | 2 + src/test/java/mau/mau/DealerTest.java | 2 + src/test/java/mau/mau/DeckTest.java | 2 + src/test/java/mau/mau/RefereeTest.java | 85 ++++++++++++++++++++++++ src/test/java/tested.md | 0 9 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 src/main/java/ClassDiagram.puml create mode 100644 src/main/java/SequenceDiagram.puml create mode 100644 src/test/java/mau/mau/CardTest.java create mode 100644 src/test/java/mau/mau/DealerTest.java create mode 100644 src/test/java/mau/mau/DeckTest.java create mode 100644 src/test/java/mau/mau/RefereeTest.java create mode 100644 src/test/java/tested.md diff --git a/src/main/java/ClassDiagram.puml b/src/main/java/ClassDiagram.puml new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/SequenceDiagram.puml b/src/main/java/SequenceDiagram.puml new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/mau/mau/players/Bot.java b/src/main/java/mau/mau/players/Bot.java index 4a01252..155da22 100644 --- a/src/main/java/mau/mau/players/Bot.java +++ b/src/main/java/mau/mau/players/Bot.java @@ -11,12 +11,21 @@ public class Bot extends Player { public Bot(Dealer dealer) { super(dealer); - this.hand = super.getHand(); } @Override public Card getPlay(Card currentCard) { new Scanner(System.in).nextLine(); + List hand = super.getHand(); + + if (hand.size() == 1 && Referee.isValidEndCard(hand.get(0))) { + return hand.get(0); + } else if (hand.size() == 1) { + hand.add(drawCard()); + System.out.println("Bot drew a card"); + System.out.println("Bot now has " + hand.size() + " cards"); + return null; + } for(Card card : hand) { TYPENUM cardType = card.getType(); diff --git a/src/main/java/mau/mau/players/Human.java b/src/main/java/mau/mau/players/Human.java index 7b52838..66a1bd4 100644 --- a/src/main/java/mau/mau/players/Human.java +++ b/src/main/java/mau/mau/players/Human.java @@ -13,7 +13,6 @@ public class Human extends Player { public Human(Dealer dealer) { super(dealer); - this.hand = super.getHand(); } @Override @@ -22,6 +21,7 @@ public class Human extends Player { Scanner scanner = new Scanner(System.in); + List hand = super.getHand(); while (true){ String input = scanner.nextLine(); if(input.equals("quit")){ @@ -53,6 +53,7 @@ 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()); } diff --git a/src/test/java/mau/mau/CardTest.java b/src/test/java/mau/mau/CardTest.java new file mode 100644 index 0000000..60b30f1 --- /dev/null +++ b/src/test/java/mau/mau/CardTest.java @@ -0,0 +1,2 @@ +package mau.mau;public class CardTest { +} diff --git a/src/test/java/mau/mau/DealerTest.java b/src/test/java/mau/mau/DealerTest.java new file mode 100644 index 0000000..3620993 --- /dev/null +++ b/src/test/java/mau/mau/DealerTest.java @@ -0,0 +1,2 @@ +package mau.mau;public class DealerTest { +} diff --git a/src/test/java/mau/mau/DeckTest.java b/src/test/java/mau/mau/DeckTest.java new file mode 100644 index 0000000..b362835 --- /dev/null +++ b/src/test/java/mau/mau/DeckTest.java @@ -0,0 +1,2 @@ +package mau.mau;public class DeckTest { +} diff --git a/src/test/java/mau/mau/RefereeTest.java b/src/test/java/mau/mau/RefereeTest.java new file mode 100644 index 0000000..bf57f03 --- /dev/null +++ b/src/test/java/mau/mau/RefereeTest.java @@ -0,0 +1,85 @@ +package mau.mau; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class RefereeTest { + + @Test + public void isSameCardTypeValidMoveTest(){ + //Assign + Card testCardOne = new Card(TYPENUM.HEARTS, VALUENUM.ACE); + Card testCardTwo = new Card(TYPENUM.HEARTS, VALUENUM.EIGHT); + + //Act + boolean result = Referee.isValidMove(testCardOne, testCardTwo); + + //Assert + assertTrue(result); + } + + @Test + public void isSameCardValueValidMoveTest(){ + //Assign + Card testCardOne = new Card(TYPENUM.HEARTS, VALUENUM.ACE); + Card testCardTwo = new Card(TYPENUM.DIAMOND, VALUENUM.ACE); + + //Act + boolean result = Referee.isValidMove(testCardOne, testCardTwo); + + //Assert + assertTrue(result); + } + + @Test + public void isJokerOnAnyCardValidMoveTest() { + //Assign + Card testCardOne = new Card(TYPENUM.HEARTS, VALUENUM.ACE); + Card testCardTwo = new Card(TYPENUM.JOKER, VALUENUM.THREE); + + //Act + boolean results = Referee.isValidMove(testCardOne, testCardTwo); + + //Assert + assertTrue(results); + } + + @Test + public void isAnyCardOnJokerValidMoveTest(){ + //Assign + Card testCardOne = new Card(TYPENUM.HEARTS, VALUENUM.ACE); + Card testCardTwo = new Card(TYPENUM.JOKER, VALUENUM.THREE); + + //Act + boolean results = Referee.isValidMove(testCardTwo, testCardOne); + + //Assert + assertTrue(results); + } + + @Test + public void isAceOfSpadesValidEndcardTest(){ + //Assign + Card testCardOne = new Card(TYPENUM.SPADES, VALUENUM.ACE); + + //Act + boolean results = Referee.isValidEndCard(testCardOne); + + //Assert + assertFalse(results); + } + + @Test + public void isThreeOfHeartsValidEndcardTest(){ + //Assign + Card testCardOne = new Card(TYPENUM.HEARTS, VALUENUM.THREE); + + //Act + boolean results = Referee.isValidEndCard(testCardOne); + + //Assert + assertTrue(results); + } +} diff --git a/src/test/java/tested.md b/src/test/java/tested.md new file mode 100644 index 0000000..e69de29