diff --git a/src/main/java/mau/mau/Deck.java b/src/main/java/mau/mau/Deck.java index 20e9979..621a63c 100644 --- a/src/main/java/mau/mau/Deck.java +++ b/src/main/java/mau/mau/Deck.java @@ -40,7 +40,6 @@ public class Deck { public Card drawCard(){ Card card = deck.get(0); deck.remove(0); - usedCards.add(card); return card; } diff --git a/src/main/java/mau/mau/Game.java b/src/main/java/mau/mau/Game.java index 18e106f..dc64cc2 100644 --- a/src/main/java/mau/mau/Game.java +++ b/src/main/java/mau/mau/Game.java @@ -102,7 +102,7 @@ public class Game { return; } case EIGHT -> { - System.out.println("Eighty wait"); + System.out.println("Eighty waity"); incrementPlayerTurn(2); return; } diff --git a/src/main/java/mau/mau/players/Bot.java b/src/main/java/mau/mau/players/Bot.java index 56ab5b8..41916d4 100644 --- a/src/main/java/mau/mau/players/Bot.java +++ b/src/main/java/mau/mau/players/Bot.java @@ -16,7 +16,7 @@ public class Bot extends Player { public Card getPlay(Card currentCard) { List hand = getHand(); - if (hand.size() == 1 && Referee.isValidEndCard(hand.get(0))) { + if (hand.size() == 1 && Referee.isValidEndCard(hand.get(0)) && Referee.isValidMove(hand.get(0), currentCard)) { Card card = hand.get(0); System.out.println(getName() + " played " + card); hand.remove(0); diff --git a/src/main/java/mau/mau/players/Human.java b/src/main/java/mau/mau/players/Human.java index 6ce3e53..ee937ff 100644 --- a/src/main/java/mau/mau/players/Human.java +++ b/src/main/java/mau/mau/players/Human.java @@ -56,6 +56,7 @@ public class Human extends Player { @Override public TYPENUM getTypeChoice() { + printHand(); System.out.println("Choose a new type:"); System.out.println("(1) Spades"); System.out.println("(2) Hearts"); @@ -64,19 +65,23 @@ public class Human extends Player { Scanner scanner = new Scanner(System.in); while (true) { - int input = scanner.nextInt(); - switch (input) { - case 1: - return TYPENUM.SPADES; - case 2: - return TYPENUM.HEARTS; - case 3: - return TYPENUM.DIAMONDS; - case 4: - return TYPENUM.CLUBS; - default: - System.out.println("Invalid input"); + String input = scanner.nextLine(); + if (Utils.isNumeric(input)) { + int typeIndex = Integer.parseInt(input); + switch (typeIndex) { + case 1: + return TYPENUM.SPADES; + case 2: + return TYPENUM.HEARTS; + case 3: + return TYPENUM.DIAMONDS; + case 4: + return TYPENUM.CLUBS; + default: + System.out.println("Invalid input"); + } } + System.out.println("Invalid input"); } } diff --git a/src/main/resources/TODO.md b/src/main/resources/TODO.md index f621e7d..b8911b3 100644 --- a/src/main/resources/TODO.md +++ b/src/main/resources/TODO.md @@ -8,9 +8,12 @@ 4. ~~Als je laatste kaart een pestkaart is moet je 5 kaarten pakken als je hem probeert op te leggen~~ 5. 100% test coverage 6. Redesign terminal interface + * Kaarten laten zien als er een joker op je gedropt is ## Known Bugs -1. Teveel kaarten in deck na het opnieuw schudden +1. ~~Teveel kaarten in deck na het opnieuw schudden~~ +2. Dezelfde type kaart als de boer mag alsnog opgelegd worden +3. Je kan als laatste kaart een pestkaart opleggen ### In een land hier ver, ver vandaan 1. UI