Timer läuft ab
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@106 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
4870017d27
commit
614d0935be
2 changed files with 46 additions and 2 deletions
|
@ -8,6 +8,7 @@ import java.util.Map;
|
|||
|
||||
import javax.swing.UIManager;
|
||||
|
||||
import jrummikub.control.TurnTimer;
|
||||
import jrummikub.model.Position;
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.model.StoneColor;
|
||||
|
@ -33,7 +34,8 @@ public class JRummikub {
|
|||
final IView view = new jrummikub.view.impl.View();
|
||||
|
||||
view.setCurrentPlayerName("Player 1");
|
||||
view.getPlayerPanel().setTimeLeft(42);
|
||||
TurnTimer testTimer = new TurnTimer(view);
|
||||
testTimer.startTimer();
|
||||
view.getTablePanel().setLeftPlayerName("Player 2");
|
||||
view.getTablePanel().setTopPlayerName("Player 3");
|
||||
view.getTablePanel().setRightPlayerName("Player 4");
|
||||
|
|
|
@ -1,5 +1,47 @@
|
|||
package jrummikub.control;
|
||||
|
||||
public class TurnTimer {
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.Timer;
|
||||
|
||||
import jrummikub.util.Event;
|
||||
import jrummikub.util.IEvent;
|
||||
import jrummikub.view.IView;
|
||||
|
||||
public class TurnTimer implements ActionListener {
|
||||
private IView view;
|
||||
private int timeLeft = 60;
|
||||
private Timer timer;
|
||||
private Event timeRunOutEvent = new Event();
|
||||
|
||||
public TurnTimer(IView view) {
|
||||
this.view = view;
|
||||
timer = new Timer(1000, this);
|
||||
timer.setRepeats(true);
|
||||
timer.setCoalesce(false);
|
||||
view.getPlayerPanel().setTimeLeft(timeLeft);
|
||||
}
|
||||
|
||||
public void startTimer() {
|
||||
timer.start();
|
||||
}
|
||||
|
||||
public void stopTimer() {
|
||||
timer.stop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
timeLeft--;
|
||||
view.getPlayerPanel().setTimeLeft(timeLeft);
|
||||
if (timeLeft == 0) {
|
||||
timer.stop();
|
||||
timeRunOutEvent.emit();
|
||||
}
|
||||
}
|
||||
|
||||
public IEvent getTimeRunOutEvent() {
|
||||
return timeRunOutEvent;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue