summaryrefslogtreecommitdiffstats
path: root/src/jrummikub
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub')
-rw-r--r--src/jrummikub/control/GameControl.java24
-rw-r--r--src/jrummikub/control/RoundControl.java1
-rw-r--r--src/jrummikub/view/IView.java6
-rw-r--r--src/jrummikub/view/impl/View.java8
-rw-r--r--src/jrummikub/view/impl/WinPanel.java42
5 files changed, 45 insertions, 36 deletions
diff --git a/src/jrummikub/control/GameControl.java b/src/jrummikub/control/GameControl.java
index 1d50bc6..9690bb4 100644
--- a/src/jrummikub/control/GameControl.java
+++ b/src/jrummikub/control/GameControl.java
@@ -1,9 +1,13 @@
package jrummikub.control;
+import java.util.ArrayList;
+import java.util.List;
+
import jrummikub.model.GameSettings;
import jrummikub.model.GameState;
import jrummikub.model.IRoundState;
import jrummikub.model.RoundState;
+import jrummikub.util.Connection;
import jrummikub.util.IListener;
import jrummikub.view.IView;
@@ -15,6 +19,7 @@ public class GameControl {
private IView view;
private RoundControl roundControl;
private GameState gameState;
+ private List<Connection> connections = new ArrayList<Connection>();
/**
* Constructor
@@ -31,18 +36,18 @@ public class GameControl {
gameState = new GameState();
gameState.setFirstRoundFirstPlayer((int)(Math.random() * gameSettings.getPlayerList().size()));
- view.getNewGameEvent().add(new IListener() {
+ connections.add(view.getNewRoundEvent().add(new IListener() {
@Override
public void handle() {
startRound();
}
- });
- view.getQuitEvent().add(new IListener() {
+ }));
+ connections.add(view.getFinalScoreEvent().add(new IListener() {
@Override
public void handle() {
- quitProgram();
+ finalScore();
}
- });
+ }));
}
/**
@@ -67,14 +72,19 @@ public class GameControl {
@Override
public void handle() {
- roundControl = null;
+ endOfRound();
}
});
roundControl.startRound();
}
+
+ private void endOfRound() {
+ roundControl = null;
+ view.enableWinPanel(true);
+ }
- private void quitProgram() {
+ private void finalScore() {
System.exit(0);
}
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java
index 440e581..1829725 100644
--- a/src/jrummikub/control/RoundControl.java
+++ b/src/jrummikub/control/RoundControl.java
@@ -242,7 +242,6 @@ public class RoundControl {
c.remove();
}
endOfRoundEvent.emit();
- view.enableWinPanel(true);
roundFinished = true;
}
}
diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java
index 5828edd..8514c21 100644
--- a/src/jrummikub/view/IView.java
+++ b/src/jrummikub/view/IView.java
@@ -72,12 +72,12 @@ public interface IView {
*
* @return the event
*/
- IEvent getQuitEvent();
+ IEvent getFinalScoreEvent();
/**
- * The new game event is emitted when the player wants to start a new game
+ * The new round event is emitted when the player wants to start a new round
*
* @return the event
*/
- IEvent getNewGameEvent();
+ IEvent getNewRoundEvent();
}
diff --git a/src/jrummikub/view/impl/View.java b/src/jrummikub/view/impl/View.java
index 9290b60..74c6d54 100644
--- a/src/jrummikub/view/impl/View.java
+++ b/src/jrummikub/view/impl/View.java
@@ -136,13 +136,13 @@ public class View extends JFrame implements IView {
}
@Override
- public IEvent getNewGameEvent() {
- return winPanel.getNewGameEvent();
+ public IEvent getNewRoundEvent() {
+ return winPanel.getNewRoundEvent();
}
@Override
- public IEvent getQuitEvent() {
- return winPanel.getQuitEvent();
+ public IEvent getFinalScoreEvent() {
+ return winPanel.getFinalScoreEvent();
}
}
diff --git a/src/jrummikub/view/impl/WinPanel.java b/src/jrummikub/view/impl/WinPanel.java
index 07c3535..13a7eb4 100644
--- a/src/jrummikub/view/impl/WinPanel.java
+++ b/src/jrummikub/view/impl/WinPanel.java
@@ -26,11 +26,11 @@ class WinPanel extends JPanel {
private final static float MAX_BUTTON_FONT_SIZE = 12;
private JLabel winLabel;
- private JButton newGameButton;
- private JButton quitButton;
+ private JButton newRoundButton;
+ private JButton finalScoreButton;
- private Event quitEvent = new Event();
- private Event newGameEvent = new Event();
+ private Event finalScoreEvent = new Event();
+ private Event newRoundEvent = new Event();
/**
* Creates a new WinPanel
@@ -47,23 +47,23 @@ class WinPanel extends JPanel {
winLabel.setVerticalTextPosition(JLabel.CENTER);
add(winLabel);
- newGameButton = new JButton("Neues Spiel");
- newGameButton.addActionListener(new ActionListener() {
+ newRoundButton = new JButton("Neue Runde");
+ newRoundButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
- newGameEvent.emit();
+ newRoundEvent.emit();
}
});
- add(newGameButton);
+ add(newRoundButton);
- quitButton = new JButton("Beenden");
- quitButton.addActionListener(new ActionListener() {
+ finalScoreButton = new JButton("Endauswertung");
+ finalScoreButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
- quitEvent.emit();
+ finalScoreEvent.emit();
}
});
- add(quitButton);
+ add(finalScoreButton);
addComponentListener(new ComponentAdapter() {
@Override
@@ -84,12 +84,12 @@ class WinPanel extends JPanel {
}
/**
- * The new game event is emitted when the player wants to start a new game
+ * The new round event is emitted when the player wants to start a new round
*
* @return the event
*/
- IEvent getNewGameEvent() {
- return newGameEvent;
+ IEvent getNewRoundEvent() {
+ return newRoundEvent;
}
/**
@@ -97,8 +97,8 @@ class WinPanel extends JPanel {
*
* @return the event
*/
- IEvent getQuitEvent() {
- return quitEvent;
+ IEvent getFinalScoreEvent() {
+ return finalScoreEvent;
}
private void rescale() {
@@ -119,12 +119,12 @@ class WinPanel extends JPanel {
fontSize = MAX_BUTTON_FONT_SIZE;
winLabel.setBounds(x, y, width, firstLineHeight);
- newGameButton.setBounds(x, y + firstLineHeight + PANEL_SEPARATOR,
+ newRoundButton.setBounds(x, y + firstLineHeight + PANEL_SEPARATOR,
buttonWidth, buttonHeight);
- newGameButton.setFont(newGameButton.getFont().deriveFont(fontSize));
+ newRoundButton.setFont(newRoundButton.getFont().deriveFont(fontSize));
- quitButton.setBounds(x + buttonWidth + PANEL_SEPARATOR, y + firstLineHeight
+ finalScoreButton.setBounds(x + buttonWidth + PANEL_SEPARATOR, y + firstLineHeight
+ PANEL_SEPARATOR, buttonWidth, buttonHeight);
- quitButton.setFont(quitButton.getFont().deriveFont(fontSize));
+ finalScoreButton.setFont(finalScoreButton.getFont().deriveFont(fontSize));
}
}