package jrummikub.control; import java.util.Set; import jrummikub.model.IGameState; import jrummikub.model.IHand; import jrummikub.model.ITable; import jrummikub.model.Position; import jrummikub.model.Stone; import jrummikub.util.IListener; import jrummikub.view.IView; public class RoundControl { private IGameState gameState; private IView view; private ITable clonedTable; public RoundControl(IGameState gameState, IView view) { this.gameState = gameState; this.view = view; } public void startRound() { deal(); view.getStartTurnEvent().add(new IListener() { @Override public void handle() { startTurn(); } }); view.enableStartTurnPanel(true); clonedTable = (ITable) gameState.getTable().clone(); view.getTablePanel().setStoneSets(clonedTable); } private void startTurn() { TurnControl turnControl = new TurnControl(gameState.getActivePlayer() .getHand(), clonedTable, view); turnControl.getEndOfTurnEvent().add(new IListener() { @Override public void handle() { endOfTurn(); } }); // turnControl.startTurn(); } void deal() { for (int i = 0; i < gameState.getPlayerCount(); i++) { IHand hand = gameState.getPlayer(i).getHand(); for (int j = 0; j < 7; j++) { hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 0)); hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 1)); } } } private void endOfTurn() { } static Set tableDifference(ITable oldTable, ITable newTable) { return null; } private void resetTable() { } private void preparePlayerTurn() { } private void dealStone() { } }