Add some stats & fix bird being able to go out of screen at the top

This commit is contained in:
David96 2020-12-31 13:50:36 +01:00
parent d1b6ca56df
commit e2d5e74b7e
2 changed files with 22 additions and 2 deletions

View File

@ -6,22 +6,37 @@ class GameScreen
private final List<Drawable> _drawables; private final List<Drawable> _drawables;
private final Bird _bird; private final Bird _bird;
private final Welt _welt; private final Welt _welt;
private double _totalTime;
private int _try;
public GameScreen() public GameScreen()
{ {
_drawables = new ArrayList<Drawable>(); _drawables = new ArrayList<Drawable>();
_bird = new Bird(this); _bird = new Bird(this);
_welt = new Welt(this); _welt = new Welt(this);
_totalTime = 0;
_try = 1;
} }
/*
* Elapsed time is expected to be in ms
*/
public void update(double elapsed) public void update(double elapsed)
{ {
_bird.update(elapsed); _bird.update(elapsed);
_welt.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()) || Rectangle birdRect = _bird.getRect();
_bird.getRect().getY() + _bird.getRect().getHeight() > TurtleWelt.HEIGHT) 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(); _bird.reset();
_welt.reset(); _welt.reset();
} }

View File

@ -83,4 +83,9 @@ class Welt implements Drawable
} }
} }
} }
public double getSpeed()
{
return _speed;
}
} }