From e2d5e74b7eb1f69980c327061e15c30a6d69cb2e Mon Sep 17 00:00:00 2001 From: David96 Date: Thu, 31 Dec 2020 13:50:36 +0100 Subject: [PATCH] Add some stats & fix bird being able to go out of screen at the top --- GameScreen.java | 19 +++++++++++++++++-- Welt.java | 5 +++++ 2 files changed, 22 insertions(+), 2 deletions(-) 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; + } }