diff --git a/GameScreen.java b/GameScreen.java index df964e4..a6a8410 100644 --- a/GameScreen.java +++ b/GameScreen.java @@ -6,22 +6,37 @@ class GameScreen private final List _drawables; private final Bird _bird; private final Welt _welt; + private double _totalTime; + private int _try; public GameScreen() { _drawables = new ArrayList(); _bird = new Bird(this); _welt = new Welt(this); + _totalTime = 0; + _try = 1; } + /* + * Elapsed time is expected to be in ms + */ public void update(double elapsed) { _bird.update(elapsed); _welt.update(elapsed); + _totalTime += elapsed; + System.out.print("\r" + _try + " - Time survived: " + (int)(_totalTime * 1e-3) + "s, " + + "speed: " + (int)_welt.getSpeed() + "px/s"); - if (_welt.checkCollision(_bird.getRect()) || - _bird.getRect().getY() + _bird.getRect().getHeight() > TurtleWelt.HEIGHT) + Rectangle birdRect = _bird.getRect(); + if (_welt.checkCollision(_bird.getRect()) + || birdRect.getY() + birdRect.getHeight() > TurtleWelt.HEIGHT + || birdRect.getY() + birdRect.getHeight() < 0) { + System.out.print("\n"); + ++_try; + _totalTime = 0; _bird.reset(); _welt.reset(); } diff --git a/Welt.java b/Welt.java index 0c70e60..4891ba8 100644 --- a/Welt.java +++ b/Welt.java @@ -83,4 +83,9 @@ class Welt implements Drawable } } } + + public double getSpeed() + { + return _speed; + } }