From 1660736239d9f437f0ffa336d3f3bb8ed7ae407f Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Mon, 30 May 2011 20:16:48 +0200 Subject: =?UTF-8?q?Man=20kann=20jetzt=20die=20Anzahl=20der=20Steins=C3=A4t?= =?UTF-8?q?ze=20einstellen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@328 72836036-5685-4462-b002-a69064685172 --- mock/jrummikub/view/MockSettingsPanel.java | 22 +++-------------- src/jrummikub/control/SettingsControl.java | 16 ++++++++---- src/jrummikub/view/ISettingsPanel.java | 33 ++++++------------------- src/jrummikub/view/impl/SettingsPanel.java | 32 ++++++++++-------------- test/jrummikub/control/SettingsControlTest.java | 3 ++- 5 files changed, 36 insertions(+), 70 deletions(-) diff --git a/mock/jrummikub/view/MockSettingsPanel.java b/mock/jrummikub/view/MockSettingsPanel.java index a159524..f296286 100644 --- a/mock/jrummikub/view/MockSettingsPanel.java +++ b/mock/jrummikub/view/MockSettingsPanel.java @@ -35,8 +35,6 @@ public class MockSettingsPanel implements ISettingsPanel { public boolean addPlayerButtonEnabled = true; /** */ public boolean removePlayerButtonsEnabled = false; - /** */ - public GameSettings gameSettings = new GameSettings(); /** */ public MockEvent1 changeInitialMeldThresholdEvent = new MockEvent1(); @@ -107,13 +105,9 @@ public class MockSettingsPanel implements ISettingsPanel { @Override public void setGameSettings(GameSettings gameSettings) { - this.gameSettings = gameSettings; - - } - - @Override - public void setInitialMeldThreshold(int value) { - initialMeldThreshold = value; + initialMeldThreshold = gameSettings.getInitialMeldThreshold(); + jokerNumber = gameSettings.getJokerNumber(); + stoneSetNumber = gameSettings.getStoneSetNumber(); } @Override @@ -121,11 +115,6 @@ public class MockSettingsPanel implements ISettingsPanel { return changeJokerNumberEvent; } - @Override - public void setJokerNumber(int jokerNumber) { - this.jokerNumber = jokerNumber; - } - @Override public IEvent2 getChangePlayerTypeEvent() { return changePlayerTypeEvent; @@ -136,9 +125,4 @@ public class MockSettingsPanel implements ISettingsPanel { return changeStoneSetNumberEvent; } - @Override - public void setStoneSetNumber(int number) { - stoneSetNumber = number; - } - } diff --git a/src/jrummikub/control/SettingsControl.java b/src/jrummikub/control/SettingsControl.java index 9cb216d..f12f1ad 100644 --- a/src/jrummikub/control/SettingsControl.java +++ b/src/jrummikub/control/SettingsControl.java @@ -56,10 +56,6 @@ public class SettingsControl { * Start the operation of the settings control */ public void startSettings() { - view.getSettingsPanel().setInitialMeldThreshold( - settings.getInitialMeldThreshold()); - view.getSettingsPanel().setJokerNumber(settings.getJokerNumber()); - connections.add(view.getSettingsPanel() .getChangeInitialMeldThresholdEvent() .add(new IListener1() { @@ -79,6 +75,15 @@ public class SettingsControl { } })); + connections.add(view.getSettingsPanel().getChangeStoneSetNumberEvent() + .add(new IListener1() { + @Override + public void handle(Integer value) { + settings.setStoneSetNumber(value); + update(); + } + })); + addPlayerSettingsListeners(); view.showSettingsPanel(true); @@ -237,7 +242,8 @@ public class SettingsControl { int totalStonesDealt = settings.getNumberOfStonesDealt() * settings.getPlayerList().size(); - int totalStones = settings.getHighestCard() * settings.getStoneSetNumber() + int totalStones = settings.getHighestCard() + * settings.getStoneSetNumber() * settings.getStoneColors().size() + settings.getJokerNumber(); if (totalStones <= totalStonesDealt) { diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java index 3caa8cb..5c83f47 100644 --- a/src/jrummikub/view/ISettingsPanel.java +++ b/src/jrummikub/view/ISettingsPanel.java @@ -131,6 +131,13 @@ public interface ISettingsPanel { */ public void setGameSettings(GameSettings gameSettings); + /** + * Emitted when the joker number is changed + * + * @return the event + */ + public IEvent1 getChangeJokerNumberEvent(); + /** * Specifies the different kinds of settings errors that can be displayed */ @@ -150,30 +157,4 @@ public interface ISettingsPanel { /** Only computer players added */ COMPUTER_PLAYERS_ONLY_WARNING } - - /** - * Sets the initial meld threshold in the option pane - * - * @param value - * initial meld threshold - */ - public void setInitialMeldThreshold(int value); - - public void setStoneSetNumber(int number); - - /** - * Emitted when the joker number is changed - * - * @return the event - */ - public IEvent1 getChangeJokerNumberEvent(); - - - /** - * Sets the joker number in the option pane - * - * @param jokerNumber - * the joker number - */ - public void setJokerNumber(int jokerNumber); } \ No newline at end of file diff --git a/src/jrummikub/view/impl/SettingsPanel.java b/src/jrummikub/view/impl/SettingsPanel.java index 1eb8e45..5eb82fb 100644 --- a/src/jrummikub/view/impl/SettingsPanel.java +++ b/src/jrummikub/view/impl/SettingsPanel.java @@ -65,6 +65,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel { private List playerSettingsPanels = new ArrayList(); private JSpinner initialMeldThresholdSpinner; + private JSpinner stoneSetNumberSpinner; private JSpinner jokerNumberSpinner; private Event startGameEvent = new Event(); @@ -174,6 +175,11 @@ class SettingsPanel extends JPanel implements ISettingsPanel { updatePlayerSettingsPanel(i, gameSettings.getPlayerList().get(i)); } + initialMeldThresholdSpinner.setValue(gameSettings + .getInitialMeldThreshold()); + stoneSetNumberSpinner.setValue(gameSettings.getStoneSetNumber()); + jokerNumberSpinner.setValue(gameSettings.getJokerNumber()); + playerSettingsViewport.revalidate(); } @@ -241,13 +247,17 @@ class SettingsPanel extends JPanel implements ISettingsPanel { initialMeldThresholdSpinner = makeOptionSpinner(0, 1, 999, 1, changeInitialMeldThresholdEvent); - makeOptionLabel(1, "Jokeranzahl:"); - jokerNumberSpinner = makeOptionSpinner(1, 1, 999, 1, + makeOptionLabel(1, "Anzahl Steins\u00e4tze:"); + stoneSetNumberSpinner = makeOptionSpinner(1, 1, 999, 1, + changeStoneSetNumberEvent); + + makeOptionLabel(2, "Jokeranzahl:"); + jokerNumberSpinner = makeOptionSpinner(2, 1, 999, 1, changeJokerNumberEvent); GridBagConstraints c = new GridBagConstraints(); c.gridx = 1; - c.gridy = 2; + c.gridy = 3; c.fill = GridBagConstraints.BOTH; c.weightx = 1; c.weighty = 1; @@ -502,29 +512,13 @@ class SettingsPanel extends JPanel implements ISettingsPanel { } } - @Override - public void setInitialMeldThreshold(int value) { - initialMeldThresholdSpinner.setValue(value); - } - @Override public IEvent1 getChangeJokerNumberEvent() { return changeJokerNumberEvent; } - @Override - public void setJokerNumber(int jokerNumber) { - jokerNumberSpinner.setValue(jokerNumber); - } - @Override public IEvent2 getChangePlayerTypeEvent() { return changePlayerTypeEvent; } - - @Override - public void setStoneSetNumber(int number) { - // TODO Auto-generated method stub - - } } diff --git a/test/jrummikub/control/SettingsControlTest.java b/test/jrummikub/control/SettingsControlTest.java index ff870d0..969b554 100644 --- a/test/jrummikub/control/SettingsControlTest.java +++ b/test/jrummikub/control/SettingsControlTest.java @@ -61,6 +61,7 @@ public class SettingsControlTest { for (int i = 0; i < 14; i++) { view.settingsPanel.addPlayerEvent.emit(); } + view.settingsPanel.changeStoneSetNumberEvent.emit(8); view.settingsPanel.startGameEvent.emit(); assertNotNull(gameSettings); assertEquals(16, gameSettings.getPlayerList().size()); @@ -75,6 +76,7 @@ public class SettingsControlTest { view.settingsPanel.addPlayerEvent.emit(); } view.settingsPanel.removePlayerEvent.emit(0); + view.settingsPanel.changeStoneSetNumberEvent.emit(8); view.settingsPanel.startGameEvent.emit(); assertNotNull(gameSettings); assertEquals(15, gameSettings.getPlayerList().size()); @@ -209,7 +211,6 @@ public class SettingsControlTest { view.settingsPanel.changeStoneSetNumberEvent.emit(3); view.settingsPanel.startGameEvent.emit(); assertEquals(3, gameSettings.getStoneSetNumber()); - } /** */ -- cgit v1.2.3