summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/turn/BaseAIControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/turn/BaseAIControl.java')
-rw-r--r--src/jrummikub/control/turn/BaseAIControl.java31
1 files changed, 8 insertions, 23 deletions
diff --git a/src/jrummikub/control/turn/BaseAIControl.java b/src/jrummikub/control/turn/BaseAIControl.java
index dabdc81..43ade18 100644
--- a/src/jrummikub/control/turn/BaseAIControl.java
+++ b/src/jrummikub/control/turn/BaseAIControl.java
@@ -7,14 +7,10 @@ import java.util.TreeMap;
import javax.swing.SwingUtilities;
import jrummikub.control.AIUtil;
-import jrummikub.control.ITurnTimer;
-import jrummikub.control.TurnTimer;
import jrummikub.model.Position;
import jrummikub.model.Stone;
import jrummikub.model.StoneColor;
import jrummikub.model.StoneSet;
-import jrummikub.util.Connection;
-import jrummikub.util.IListener;
import jrummikub.util.Pair;
/**
@@ -23,24 +19,12 @@ import jrummikub.util.Pair;
*/
public class BaseAIControl extends AbstractTurnControl {
private long startTime;
- private ITurnTimer turnTimer;
- private List<Connection> connections = new ArrayList<Connection>();
private Thread computeThread;
private volatile boolean stopRunning = false;
@Override
public void startTurn() {
- turnTimer = new TurnTimer(view);
- connections.add(turnTimer.getTimeRunOutEvent().add(new IListener() {
-
- @Override
- public void handle() {
- cleanUp();
- endOfTurnEvent.emit();
- }
- }));
-
computeThread = new Thread(new Runnable() {
@Override
public void run() {
@@ -49,16 +33,17 @@ public class BaseAIControl extends AbstractTurnControl {
});
startTime = System.currentTimeMillis();
- turnTimer.startTimer();
+ timer.startTimer();
computeThread.start();
}
+
+ protected void timeOut() {
+ cleanUp();
+ endOfTurnEvent.emit();
+ }
- private void cleanUp() {
- turnTimer.stopTimer();
-
- for (Connection c : connections) {
- c.remove();
- }
+ protected void cleanUp() {
+ super.cleanUp();
stopRunning = true;
}