Add some stats & fix bird being able to go out of screen at the top
This commit is contained in:
parent
d1b6ca56df
commit
e2d5e74b7e
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user