Compare commits
5 Commits
ad3ec29962
...
main
Author | SHA1 | Date | |
---|---|---|---|
316339d733 | |||
e58808bbbc | |||
094c17d16a | |||
4b574c50e8 | |||
2638ca09b6 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/test/cards/CardTest.class
Normal file
BIN
bin/test/cards/CardTest.class
Normal file
Binary file not shown.
BIN
bin/test/cards/RankTest.class
Normal file
BIN
bin/test/cards/RankTest.class
Normal file
Binary file not shown.
BIN
bin/test/cards/SuitTest.class
Normal file
BIN
bin/test/cards/SuitTest.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/MauMauDeckTest.class
Normal file
BIN
bin/test/cards/maumau/MauMauDeckTest.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/CardHandlerTest.class
Normal file
BIN
bin/test/cards/maumau/model/CardHandlerTest.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau1Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau1Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau2Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau2Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau3Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau3Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau4Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau4Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau5Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau5Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau6Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau6Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau7Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau7Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau8Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau8Test.class
Normal file
Binary file not shown.
BIN
bin/test/cards/maumau/model/MauMau9Test.class
Normal file
BIN
bin/test/cards/maumau/model/MauMau9Test.class
Normal file
Binary file not shown.
@@ -30,16 +30,16 @@ public enum Suit {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case HEARTS:
|
case HEARTS:
|
||||||
return "♥";
|
return "♥︎";
|
||||||
|
|
||||||
case DIAMONDS:
|
case DIAMONDS:
|
||||||
return "♦";
|
return "♦︎";
|
||||||
|
|
||||||
case CLUBS:
|
case CLUBS:
|
||||||
return "♣";
|
return "♣︎";
|
||||||
|
|
||||||
case SPADES:
|
case SPADES:
|
||||||
return "♠";
|
return "♠︎";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
|
@@ -1,18 +1,20 @@
|
|||||||
package cards.maumau.model;
|
package cards.maumau.model;
|
||||||
|
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages the actions and state transitions within a MauMau game.
|
* Manages the actions and state transitions within a MauMau game.
|
||||||
*/
|
*/
|
||||||
class ActionHandler {
|
public class ActionHandler {
|
||||||
private final MauMau game;
|
private final MauMau game;
|
||||||
private Suit chosenSuit;
|
private Suit chosenSuit;
|
||||||
private int ctr7 = 0;
|
private int ctr7 = 0;
|
||||||
|
|
||||||
private GameState gameState;
|
private GameState gameState = GameState.GAME_INITIALIZED;
|
||||||
private HandlerState handlerState;
|
private HandlerState handlerState = new Initialized(this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs an ActionHandler for the specified MauMau game.
|
* Constructs an ActionHandler for the specified MauMau game.
|
||||||
@@ -31,34 +33,40 @@ class ActionHandler {
|
|||||||
this.handlerState = handlerState;
|
this.handlerState = handlerState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HandlerState getHandlerState() {
|
||||||
|
return handlerState;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the specified player to the game.
|
* Adds the specified player to the game.
|
||||||
*
|
*
|
||||||
* @param player The player to be added to the game.
|
* @param player The player to be added to the game.
|
||||||
*/
|
*/
|
||||||
void addPlayer(Player player) {
|
void addPlayer(Player player) {
|
||||||
//TODO implement
|
handlerState.addPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the game.
|
* Starts the game.
|
||||||
*/
|
*/
|
||||||
void startGame() {
|
void startGame() {
|
||||||
//TODO implement
|
handlerState.startGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transitions the game state to GAME_OVER.
|
* Transitions the game state to GAME_OVER.
|
||||||
*/
|
*/
|
||||||
void finishGame() {
|
void finishGame() {
|
||||||
//TODO implement
|
// handlerState.finishGame();
|
||||||
|
gameState = GameState.GAME_OVER;
|
||||||
|
handlerState = new Finished(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transitions the game state to GAME_CANCELED.
|
* Transitions the game state to GAME_CANCELED.
|
||||||
*/
|
*/
|
||||||
void cancelGame() {
|
void cancelGame() {
|
||||||
//TODO implement
|
handlerState.cancelGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -67,7 +75,7 @@ class ActionHandler {
|
|||||||
* @param c The card chosen by the player.
|
* @param c The card chosen by the player.
|
||||||
*/
|
*/
|
||||||
void chooseCard(Card c) {
|
void chooseCard(Card c) {
|
||||||
//TODO implement
|
handlerState.chooseCard(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -76,21 +84,21 @@ class ActionHandler {
|
|||||||
* @param suit The suit chosen by the player.
|
* @param suit The suit chosen by the player.
|
||||||
*/
|
*/
|
||||||
void chooseSuit(Suit suit) {
|
void chooseSuit(Suit suit) {
|
||||||
//TODO implement
|
handlerState.chooseSuit(suit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lets the player skip a round.
|
* Lets the player skip a round.
|
||||||
**/
|
**/
|
||||||
void skip() {
|
void skip() {
|
||||||
//TODO implement
|
handlerState.skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the player saying "no 7" in the current state.
|
* Handles the player saying "no 7" in the current state.
|
||||||
*/
|
*/
|
||||||
void no7() {
|
void no7() {
|
||||||
//TODO implement
|
handlerState.no7();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -156,8 +164,27 @@ class ActionHandler {
|
|||||||
* @param c The card being played.
|
* @param c The card being played.
|
||||||
* @return True if the card can be played, false otherwise.
|
* @return True if the card can be played, false otherwise.
|
||||||
*/
|
*/
|
||||||
boolean canPlay(Card c) {
|
public boolean canPlay(Card c) {
|
||||||
//TODO implement
|
if (ctr7 == 0 || c.rank() == Rank.SEVEN) {
|
||||||
return false;
|
|
||||||
|
if (chosenSuit == null) {
|
||||||
|
if (c.rank() == Rank.JACK) {
|
||||||
|
return true;
|
||||||
|
} else if (c.rank() == game.getCardHandler().getDiscardPile().getFirst().rank()) {
|
||||||
|
return true;
|
||||||
|
} else if (c.suit() == game.getCardHandler().getDiscardPile().getFirst().suit()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (c.suit() == chosenSuit) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,6 @@ public class Canceled implements HandlerState {
|
|||||||
|
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
public void chooseCard(Card c){}
|
public void chooseCard(Card c){}
|
||||||
public void chooseSuit(Suit suit){}
|
public void chooseSuit(Suit suit){}
|
||||||
|
@@ -73,7 +73,7 @@ public class CardHandler {
|
|||||||
* Deals cards to all players.
|
* Deals cards to all players.
|
||||||
* @throws Exception when there are not enough cards to satisfy starting conditions
|
* @throws Exception when there are not enough cards to satisfy starting conditions
|
||||||
*/
|
*/
|
||||||
void dealCards() throws Exception {
|
public void dealCards() throws Exception {
|
||||||
|
|
||||||
// get List of players
|
// get List of players
|
||||||
List<Player> players = game.getPlayers();
|
List<Player> players = game.getPlayers();
|
||||||
@@ -119,7 +119,7 @@ public class CardHandler {
|
|||||||
*
|
*
|
||||||
* @return The top card of the discard pile.
|
* @return The top card of the discard pile.
|
||||||
*/
|
*/
|
||||||
Card top() {
|
public Card top() {
|
||||||
return discardPile.getFirst();
|
return discardPile.getFirst();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,6 @@ public class Finished implements HandlerState{
|
|||||||
|
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
public void chooseCard(Card c){}
|
public void chooseCard(Card c){}
|
||||||
public void chooseSuit(Suit suit){}
|
public void chooseSuit(Suit suit){}
|
||||||
|
@@ -7,7 +7,6 @@ public interface HandlerState {
|
|||||||
|
|
||||||
void addPlayer(Player player);
|
void addPlayer(Player player);
|
||||||
void startGame();
|
void startGame();
|
||||||
void finishGame();
|
|
||||||
void cancelGame();
|
void cancelGame();
|
||||||
void chooseCard(Card c);
|
void chooseCard(Card c);
|
||||||
void chooseSuit(Suit suit);
|
void chooseSuit(Suit suit);
|
||||||
|
@@ -19,16 +19,15 @@ public class Initialized implements HandlerState {
|
|||||||
public void startGame() {
|
public void startGame() {
|
||||||
try {
|
try {
|
||||||
handler.getGame().getCardHandler().dealCards();
|
handler.getGame().getCardHandler().dealCards();
|
||||||
handler.setHandlerState(new Normal(handler));
|
|
||||||
handler.setGameState(GameState.PLAY);
|
handler.setGameState(GameState.PLAY);
|
||||||
|
handler.setHandlerState(new Normal(handler));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("Not enough Cards!");
|
System.err.println("Not enough Cards!");
|
||||||
handler.setHandlerState(new Canceled(handler));
|
|
||||||
handler.setGameState(GameState.GAME_CANCELED);
|
handler.setGameState(GameState.GAME_CANCELED);
|
||||||
|
handler.setHandlerState(new Canceled(handler));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
public void chooseCard(Card c){}
|
public void chooseCard(Card c){}
|
||||||
public void chooseSuit(Suit suit){}
|
public void chooseSuit(Suit suit){}
|
||||||
|
@@ -14,13 +14,13 @@ public class JackChosen implements HandlerState{
|
|||||||
|
|
||||||
public void chooseSuit(Suit suit){
|
public void chooseSuit(Suit suit){
|
||||||
handler.setChosenSuit(suit);
|
handler.setChosenSuit(suit);
|
||||||
|
handler.getGame().getPlayerHandler().nextTurn(1);
|
||||||
|
handler.setGameState(GameState.PLAY);
|
||||||
handler.setHandlerState(new SuitChosen(handler));
|
handler.setHandlerState(new SuitChosen(handler));
|
||||||
//handler.setGameState(PLAY);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
public void chooseCard(Card c){}
|
public void chooseCard(Card c){}
|
||||||
public void skip(){}
|
public void skip(){}
|
||||||
|
@@ -78,7 +78,7 @@ public class MauMau {
|
|||||||
*
|
*
|
||||||
* @return The action handler.
|
* @return The action handler.
|
||||||
*/
|
*/
|
||||||
ActionHandler getActionHandler() {
|
public ActionHandler getActionHandler() {
|
||||||
return actionHandler;
|
return actionHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
package cards.maumau.model;
|
package cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
|
||||||
public class Normal implements HandlerState {
|
public class Normal implements HandlerState {
|
||||||
@@ -12,15 +13,30 @@ public class Normal implements HandlerState {
|
|||||||
|
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void finishGame(){
|
public void cancelGame(){}
|
||||||
// Logic for finishing Game ????
|
|
||||||
if (handler.getGame().getPlayerHandler().getPlayers().isEmpty()) {
|
public void chooseCard(Card c){
|
||||||
handler.setHandlerState(new Finished(handler));
|
if (handler.canPlay(c)) {
|
||||||
|
handler.getGame().getPlayerHandler().getCurrentPlayer().playCard(c);
|
||||||
|
if (c.rank() == Rank.SEVEN) {
|
||||||
|
handler.increment7Counter();
|
||||||
|
handler.getGame().getPlayerHandler().nextTurn(1);
|
||||||
|
handler.setHandlerState(new SevenChosen(handler));
|
||||||
|
} else if (c.rank() == Rank.JACK) {
|
||||||
|
handler.setGameState(GameState.CHOOSE_SUIT);
|
||||||
|
handler.setHandlerState(new JackChosen(handler));
|
||||||
|
} else if (c.rank() == Rank.EIGHT) {
|
||||||
|
handler.getGame().getPlayerHandler().nextTurn(2);
|
||||||
|
} else {
|
||||||
|
handler.getGame().getPlayerHandler().nextTurn(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void cancelGame(){}
|
|
||||||
public void chooseCard(Card c){}
|
|
||||||
public void chooseSuit(Suit suit){}
|
public void chooseSuit(Suit suit){}
|
||||||
public void skip(){}
|
public void skip(){
|
||||||
|
handler.getGame().getPlayerHandler().getCurrentPlayer().drawCards(1);
|
||||||
|
handler.getGame().getPlayerHandler().nextTurn(1);
|
||||||
|
}
|
||||||
public void no7(){}
|
public void no7(){}
|
||||||
}
|
}
|
||||||
|
@@ -56,12 +56,13 @@ public class PlayerHandler {
|
|||||||
|
|
||||||
public void localNextTurn(int n) {
|
public void localNextTurn(int n) {
|
||||||
for(int i = 0; i < n; i++){
|
for(int i = 0; i < n; i++){
|
||||||
players.addLast(players.getFirst());
|
players.addLast(players.removeFirst());
|
||||||
|
// players.removeFirst();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void finishPlayer(Player p) {
|
public void finishPlayer(Player p) {
|
||||||
ranking.addLast(players.removeFirst());
|
ranking.addLast(players.removeLast());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Player getCurrentPlayer() {
|
public Player getCurrentPlayer() {
|
||||||
@@ -97,6 +98,6 @@ public class PlayerHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void finishGame() {
|
public void finishGame() {
|
||||||
finishPlayer(players.getFirst());
|
game.getActionHandler().finishGame();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,6 @@ public class SevenChosen implements HandlerState{
|
|||||||
|
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
|
|
||||||
public void chooseCard(Card c){
|
public void chooseCard(Card c){
|
||||||
@@ -20,16 +19,21 @@ public class SevenChosen implements HandlerState{
|
|||||||
handler.getGame().getPlayerHandler().getCurrentPlayer().playCard(c);
|
handler.getGame().getPlayerHandler().getCurrentPlayer().playCard(c);
|
||||||
handler.increment7Counter();
|
handler.increment7Counter();
|
||||||
handler.getGame().getPlayerHandler().nextTurn(1);
|
handler.getGame().getPlayerHandler().nextTurn(1);
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void chooseSuit(Suit suit){}
|
public void chooseSuit(Suit suit){}
|
||||||
public void skip(){}
|
public void skip(){}
|
||||||
|
|
||||||
public void no7(){
|
public void no7(){
|
||||||
handler.getGame().getPlayerHandler().getCurrentPlayer().drawCards(2 * handler.get7Counter());
|
if (handler.get7Counter() * 2 > handler.getGame().getCardHandler().getDrawPile().size()) {
|
||||||
handler.reset7Counter();
|
handler.setGameState(GameState.GAME_CANCELED);
|
||||||
handler.setHandlerState(new Normal(handler));
|
handler.setHandlerState(new Canceled(handler));
|
||||||
|
} else {
|
||||||
|
handler.getGame().getPlayerHandler().getCurrentPlayer().drawCards(2 * handler.get7Counter());
|
||||||
|
handler.reset7Counter();
|
||||||
|
handler.setHandlerState(new Normal(handler));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,6 @@ public class SuitChosen implements HandlerState{
|
|||||||
|
|
||||||
public void addPlayer(Player player){}
|
public void addPlayer(Player player){}
|
||||||
public void startGame(){}
|
public void startGame(){}
|
||||||
public void finishGame(){}
|
|
||||||
public void cancelGame(){}
|
public void cancelGame(){}
|
||||||
|
|
||||||
public void chooseCard(Card c){
|
public void chooseCard(Card c){
|
||||||
|
@@ -10,9 +10,19 @@ public class WaitForMauMauState implements PlayerState {
|
|||||||
@Override
|
@Override
|
||||||
public void nextTurn(int n) {
|
public void nextTurn(int n) {
|
||||||
// Draw a card and proceed to next turn
|
// Draw a card and proceed to next turn
|
||||||
handler.getCurrentPlayer().drawCards(1);
|
handler.getRemember().drawCards(1);
|
||||||
handler.localNextTurn(n);
|
if (handler.getCurrentPlayer().getCards().isEmpty()) {
|
||||||
handler.setCurrentState(handler.getWaitForNextTurnState());
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForMauMauState());
|
||||||
|
} else if (handler.getCurrentPlayer().getCards().size() == 1) {
|
||||||
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForMauState());
|
||||||
|
} else {
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForNextTurnState());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -23,13 +33,20 @@ public class WaitForMauMauState implements PlayerState {
|
|||||||
@Override
|
@Override
|
||||||
public void maumau(Player p) {
|
public void maumau(Player p) {
|
||||||
if (p == handler.getRemember()) {
|
if (p == handler.getRemember()) {
|
||||||
|
|
||||||
|
|
||||||
handler.finishPlayer(p);
|
handler.finishPlayer(p);
|
||||||
|
|
||||||
|
|
||||||
if (handler.getPlayers().size() == 1) {
|
if (handler.getPlayers().size() == 1) {
|
||||||
|
handler.finishPlayer(handler.getCurrentPlayer());
|
||||||
handler.finishGame();
|
handler.finishGame();
|
||||||
handler.setCurrentState(handler.getFinishedState());
|
handler.setCurrentState(handler.getFinishedState());
|
||||||
} else {
|
} else {
|
||||||
handler.setCurrentState(handler.getWaitForNextTurnState());
|
handler.setCurrentState(handler.getWaitForNextTurnState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -10,15 +10,25 @@ public class WaitForMauState implements PlayerState {
|
|||||||
@Override
|
@Override
|
||||||
public void nextTurn(int n) {
|
public void nextTurn(int n) {
|
||||||
// Draw a card and proceed to next turn
|
// Draw a card and proceed to next turn
|
||||||
handler.getCurrentPlayer().drawCards(1);
|
handler.getRemember().drawCards(1);
|
||||||
handler.localNextTurn(n);
|
if (handler.getCurrentPlayer().getCards().isEmpty()) {
|
||||||
handler.setCurrentState(handler.getWaitForNextTurnState());
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForMauMauState());
|
||||||
|
} else if (handler.getCurrentPlayer().getCards().size() == 1) {
|
||||||
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForMauState());
|
||||||
|
} else {
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForNextTurnState());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mau(Player p) {
|
public void mau(Player p) {
|
||||||
if (p == handler.getRemember()) {
|
if (p == handler.getRemember()) {
|
||||||
handler.setCurrentState(handler.getWaitForMauMauState());
|
handler.setCurrentState(handler.getWaitForNextTurnState());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
package cards.maumau.model;
|
package cards.maumau.model;
|
||||||
|
|
||||||
public class WaitForNextTurnState implements PlayerState {
|
public class WaitForNextTurnState implements PlayerState {
|
||||||
private final PlayerHandler handler;
|
private final PlayerHandler handler;
|
||||||
|
|
||||||
public WaitForNextTurnState(PlayerHandler handler) {
|
public WaitForNextTurnState(PlayerHandler handler) {
|
||||||
@@ -14,9 +14,13 @@ public class WaitForNextTurnState implements PlayerState {
|
|||||||
handler.setRemember(handler.getCurrentPlayer());
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
handler.localNextTurn(n);
|
handler.localNextTurn(n);
|
||||||
handler.setCurrentState(handler.getWaitForMauMauState());
|
handler.setCurrentState(handler.getWaitForMauMauState());
|
||||||
} else {
|
} else if (handler.getCurrentPlayer().getCards().size() == 1) {
|
||||||
|
handler.setRemember(handler.getCurrentPlayer());
|
||||||
handler.localNextTurn(n);
|
handler.localNextTurn(n);
|
||||||
handler.setCurrentState(handler.getWaitForMauState());
|
handler.setCurrentState(handler.getWaitForMauState());
|
||||||
|
} else {
|
||||||
|
handler.localNextTurn(n);
|
||||||
|
handler.setCurrentState(handler.getWaitForNextTurnState());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,7 +1,11 @@
|
|||||||
package cards;
|
package test.cards;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import cards.Card;
|
||||||
|
import cards.Rank;
|
||||||
|
import cards.Suit;
|
||||||
|
|
||||||
import static cards.Rank.THREE;
|
import static cards.Rank.THREE;
|
||||||
import static cards.Rank.TWO;
|
import static cards.Rank.TWO;
|
||||||
import static cards.Suit.HEARTS;
|
import static cards.Suit.HEARTS;
|
@@ -1,4 +1,4 @@
|
|||||||
package cards;
|
package test.cards;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package cards;
|
package test.cards;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau;
|
package test.cards.maumau;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.MauMauDeck;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,11 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -35,7 +38,12 @@ public class CardHandlerTest {
|
|||||||
final Player chantal = game.addPlayer("Chantal");
|
final Player chantal = game.addPlayer("Chantal");
|
||||||
assertTrue(jacqueline.getCards().isEmpty());
|
assertTrue(jacqueline.getCards().isEmpty());
|
||||||
assertTrue(chantal.getCards().isEmpty());
|
assertTrue(chantal.getCards().isEmpty());
|
||||||
game.getCardHandler().dealCards();
|
try {
|
||||||
|
game.getCardHandler().dealCards();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
assertEquals("[J♦︎, Q♦︎, A♠︎, A♦︎, 8♦︎]", jacqueline.getCards().toString());
|
assertEquals("[J♦︎, Q♦︎, A♠︎, A♦︎, 8♦︎]", jacqueline.getCards().toString());
|
||||||
assertEquals("[7♣︎, 9♣︎, 9♠︎, 8♣︎, K♥︎]", chantal.getCards().toString());
|
assertEquals("[7♣︎, 9♣︎, 9♠︎, 8♣︎, K♥︎]", chantal.getCards().toString());
|
||||||
assertEquals(c(ACE, HEARTS), game.getCardHandler().top());
|
assertEquals(c(ACE, HEARTS), game.getCardHandler().top());
|
@@ -1,8 +1,13 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Normal;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
|
import cards.maumau.model.SevenChosen;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -147,8 +152,10 @@ public class MauMau1Test {
|
|||||||
assertNull(game.getChosenSuit());
|
assertNull(game.getChosenSuit());
|
||||||
assertEquals(0, game.get7Counter());
|
assertEquals(0, game.get7Counter());
|
||||||
|
|
||||||
|
assertEquals(Normal.class, game.getActionHandler().getHandlerState().getClass());
|
||||||
chantal.skip();
|
chantal.skip();
|
||||||
assertEquals(PLAY, game.getGameState());
|
assertEquals(PLAY, game.getGameState());
|
||||||
|
assertEquals(Normal.class, game.getActionHandler().getHandlerState().getClass());
|
||||||
assertEquals(List.of(jacqueline, chantal), game.getPlayers());
|
assertEquals(List.of(jacqueline, chantal), game.getPlayers());
|
||||||
assertEquals(List.of(), game.getRanking());
|
assertEquals(List.of(), game.getRanking());
|
||||||
assertEquals("[A♦︎]", jacqueline.getCards().toString());
|
assertEquals("[A♦︎]", jacqueline.getCards().toString());
|
@@ -1,8 +1,11 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Normal;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -24,6 +27,7 @@ import static cards.maumau.model.GameState.GAME_OVER;
|
|||||||
import static cards.maumau.model.GameState.PLAY;
|
import static cards.maumau.model.GameState.PLAY;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class MauMau2Test {
|
public class MauMau2Test {
|
||||||
private static Card c(Rank r, Suit s) {
|
private static Card c(Rank r, Suit s) {
|
||||||
@@ -184,17 +188,22 @@ public class MauMau2Test {
|
|||||||
assertEquals(List.of(jacqueline, chantal), game.getPlayers());
|
assertEquals(List.of(jacqueline, chantal), game.getPlayers());
|
||||||
assertEquals(List.of(), game.getRanking());
|
assertEquals(List.of(), game.getRanking());
|
||||||
assertEquals("[Q♠︎, Q♣︎]", jacqueline.getCards().toString());
|
assertEquals("[Q♠︎, Q♣︎]", jacqueline.getCards().toString());
|
||||||
|
// assertEquals("[Q♣︎]", jacqueline.getCards().toString());
|
||||||
assertEquals("[8♥︎]", chantal.getCards().toString());
|
assertEquals("[8♥︎]", chantal.getCards().toString());
|
||||||
assertEquals("[9♥︎, K♣︎, 7♣︎, J♦︎, 9♦︎, A♣︎, 8♠︎, 10♦︎, J♠︎, J♥︎, J♣︎, 10♥︎, K♥︎, Q♥︎, 7♥︎, 7♦︎, 8♣︎, 9♣︎, 9♠︎]", game.getDrawPile().toString());
|
assertEquals("[9♥︎, K♣︎, 7♣︎, J♦︎, 9♦︎, A♣︎, 8♠︎, 10♦︎, J♠︎, J♥︎, J♣︎, 10♥︎, K♥︎, Q♥︎, 7♥︎, 7♦︎, 8♣︎, 9♣︎, 9♠︎]", game.getDrawPile().toString());
|
||||||
assertEquals("[Q♦︎, K♦︎, 8♦︎, A♦︎, A♥︎, A♠︎, K♠︎, 7♠︎, 10♠︎, 10♣︎]", game.getDiscardPile().toString());
|
assertEquals("[Q♦︎, K♦︎, 8♦︎, A♦︎, A♥︎, A♠︎, K♠︎, 7♠︎, 10♠︎, 10♣︎]", game.getDiscardPile().toString());
|
||||||
assertNull(game.getChosenSuit());
|
assertNull(game.getChosenSuit());
|
||||||
assertEquals(0, game.get7Counter());
|
assertEquals(0, game.get7Counter());
|
||||||
|
// assertEquals("[Q♣︎]", jacqueline.getCards().toString());
|
||||||
|
|
||||||
|
// assertEquals(Normal.class, game.getActionHandler().getHandlerState().getClass());
|
||||||
|
assertTrue(game.getActionHandler().canPlay(c(QUEEN, SPADES)));
|
||||||
jacqueline.chooseCard(c(QUEEN, SPADES));
|
jacqueline.chooseCard(c(QUEEN, SPADES));
|
||||||
assertEquals(PLAY, game.getGameState());
|
assertEquals(PLAY, game.getGameState());
|
||||||
assertEquals(List.of(chantal, jacqueline), game.getPlayers());
|
assertEquals(List.of(chantal, jacqueline), game.getPlayers());
|
||||||
assertEquals(List.of(), game.getRanking());
|
assertEquals(List.of(), game.getRanking());
|
||||||
assertEquals("[8♥︎]", chantal.getCards().toString());
|
assertEquals("[8♥︎]", chantal.getCards().toString());
|
||||||
|
// assertEquals(Normal.class, game.getActionHandler().getHandlerState().getClass());
|
||||||
assertEquals("[Q♣︎]", jacqueline.getCards().toString());
|
assertEquals("[Q♣︎]", jacqueline.getCards().toString());
|
||||||
assertEquals("[9♥︎, K♣︎, 7♣︎, J♦︎, 9♦︎, A♣︎, 8♠︎, 10♦︎, J♠︎, J♥︎, J♣︎, 10♥︎, K♥︎, Q♥︎, 7♥︎, 7♦︎, 8♣︎, 9♣︎, 9♠︎]", game.getDrawPile().toString());
|
assertEquals("[9♥︎, K♣︎, 7♣︎, J♦︎, 9♦︎, A♣︎, 8♠︎, 10♦︎, J♠︎, J♥︎, J♣︎, 10♥︎, K♥︎, Q♥︎, 7♥︎, 7♦︎, 8♣︎, 9♣︎, 9♠︎]", game.getDrawPile().toString());
|
||||||
assertEquals("[Q♠︎, Q♦︎, K♦︎, 8♦︎, A♦︎, A♥︎, A♠︎, K♠︎, 7♠︎, 10♠︎, 10♣︎]", game.getDiscardPile().toString());
|
assertEquals("[Q♠︎, Q♦︎, K♦︎, 8♦︎, A♦︎, A♥︎, A♠︎, K♠︎, 7♠︎, 10♠︎, 10♣︎]", game.getDiscardPile().toString());
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -24,7 +26,9 @@ import static cards.maumau.model.GameState.GAME_INITIALIZED;
|
|||||||
import static cards.maumau.model.GameState.GAME_OVER;
|
import static cards.maumau.model.GameState.GAME_OVER;
|
||||||
import static cards.maumau.model.GameState.PLAY;
|
import static cards.maumau.model.GameState.PLAY;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class MauMau4Test {
|
public class MauMau4Test {
|
||||||
private static Card c(Rank r, Suit s) {
|
private static Card c(Rank r, Suit s) {
|
||||||
@@ -126,6 +130,7 @@ public class MauMau4Test {
|
|||||||
assertEquals(0, game.get7Counter());
|
assertEquals(0, game.get7Counter());
|
||||||
|
|
||||||
chantal.chooseCard(c(JACK, SPADES));
|
chantal.chooseCard(c(JACK, SPADES));
|
||||||
|
assertFalse(game.getActionHandler().canPlay(c(JACK, SPADES)));
|
||||||
assertEquals(PLAY, game.getGameState());
|
assertEquals(PLAY, game.getGameState());
|
||||||
assertEquals(List.of(chantal, jacqueline), game.getPlayers());
|
assertEquals(List.of(chantal, jacqueline), game.getPlayers());
|
||||||
assertEquals(List.of(), game.getRanking());
|
assertEquals(List.of(), game.getRanking());
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@@ -1,8 +1,10 @@
|
|||||||
package cards.maumau.model;
|
package test.cards.maumau.model;
|
||||||
|
|
||||||
import cards.Card;
|
import cards.Card;
|
||||||
import cards.Rank;
|
import cards.Rank;
|
||||||
import cards.Suit;
|
import cards.Suit;
|
||||||
|
import cards.maumau.model.MauMau;
|
||||||
|
import cards.maumau.model.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
Reference in New Issue
Block a user