diff options
Diffstat (limited to 'src/jrummikub/control/turn/BaseAIControl.java')
-rw-r--r-- | src/jrummikub/control/turn/BaseAIControl.java | 31 |
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; } |