Skip to content

Commit 6ee0001

Browse files
committed
timer will start only after a click on the window
1 parent 731c3fd commit 6ee0001

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

src/Game.java

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public class Game extends JPanel implements MouseListener, MouseMotionListener {
7979
private long elapsedTimeAfterAnimation;
8080
private String elapsedTimeStringAfterAnimation;
8181
private boolean antReached;
82+
protected boolean startTimer;
8283

8384
public Game(JFrame frame) {
8485

@@ -119,6 +120,7 @@ public Game(JFrame frame) {
119120
add(buttonPanel, BorderLayout.NORTH);
120121
setPreferredSize(new Dimension(getPreferredSize().width + 200, getPreferredSize().height));
121122

123+
startTimer = false;
122124
startClicked = false;
123125
startTile = null;
124126
goalTile = null;
@@ -131,7 +133,7 @@ public Game(JFrame frame) {
131133
elapsedTimeStringAfterAnimation = "0:00:000";
132134
timerX = 100;
133135
timerY = frame.getHeight() - 100;
134-
startTimeBeforeSearch = System.currentTimeMillis();
136+
135137
setTimerMageCreation();
136138
setTimerSolving();
137139
}
@@ -143,12 +145,15 @@ private void resetButton() {
143145
result.addActionListener(new ActionListener() {
144146
@Override
145147
public void actionPerformed(ActionEvent e) {
148+
startTimer = false;
146149
startTile = null;
147150
goalTile = null;
148151
ant = null;
149152
noPath = false;
150153
startMovingAnt = false;
151154
tobeDrawn = new LinkedList<Tile>();
155+
156+
startClicked = false;
152157
startTimeBeforeSearch = System.currentTimeMillis();
153158
elapsedTimeAfterSearch = 0;
154159
elapsedTimeStringBeforeSearch = "0:00:000";
@@ -367,7 +372,12 @@ public void mouseReleased(MouseEvent e) {
367372
}
368373

369374
@Override
370-
public void mouseClicked(MouseEvent e) {}
375+
public void mouseClicked(MouseEvent e) {
376+
if(!startTimer){
377+
startTimeBeforeSearch = System.currentTimeMillis();
378+
startTimer = true;
379+
}
380+
}
371381

372382
@Override
373383
public void mouseMoved(MouseEvent e) {}
@@ -582,17 +592,20 @@ private void setTimerMageCreation() {
582592
Timer timer = new Timer(delay, new ActionListener() {
583593
@Override
584594
public void actionPerformed(ActionEvent e) {
585-
elapsedTimeAfterSearch = System.currentTimeMillis() - startTimeBeforeSearch;
586-
long minutes = (elapsedTimeAfterSearch / 1000) / 60;
587-
long seconds = (elapsedTimeAfterSearch / 1000) % 60;
588-
long milliseconds = elapsedTimeAfterSearch % 1000;
595+
if(startTimer){
596+
elapsedTimeAfterSearch = System.currentTimeMillis() - startTimeBeforeSearch;
597+
long minutes = (elapsedTimeAfterSearch / 1000) / 60;
598+
long seconds = (elapsedTimeAfterSearch / 1000) % 60;
599+
long milliseconds = elapsedTimeAfterSearch % 1000;
589600

590-
elapsedTimeStringBeforeSearch = String.format("%d:%02d:%03d", minutes, seconds, milliseconds);
591-
repaint();
601+
elapsedTimeStringBeforeSearch = String.format("%d:%02d:%03d", minutes, seconds, milliseconds);
602+
repaint();
592603

593-
if(startClicked){
594-
((Timer) e.getSource()).stop();
604+
if(startClicked){
605+
((Timer) e.getSource()).stop();
606+
}
595607
}
608+
596609
}
597610
});
598611
timer.start();

0 commit comments

Comments
 (0)