FlappyTurtle/GameScreen.java
David96 20c3ea7155 Rename Welt to World
All this german code confuses me that much, that I do it myself…
2020-12-31 14:12:24 +01:00

65 lines
1.5 KiB
Java

import java.util.List;
import java.util.ArrayList;
class GameScreen
{
private final List<Drawable> _drawables;
private final Bird _bird;
private final World _world;
private double _totalTime;
private int _try;
public GameScreen()
{
_drawables = new ArrayList<Drawable>();
_bird = new Bird(this);
_world = new World(this);
_totalTime = 0;
_try = 1;
}
/*
* Elapsed time is expected to be in ms
*/
public void update(double elapsed)
{
_bird.update(elapsed);
_world.update(elapsed);
_totalTime += elapsed;
System.out.print("\r" + _try + " - Time survived: " + (int)(_totalTime * 1e-3) + "s, " +
"speed: " + (int)_world.getSpeed() + "px/s");
Rectangle birdRect = _bird.getRect();
if (_world.checkCollision(_bird.getRect())
|| birdRect.getY() + birdRect.getHeight() > TurtleWelt.HEIGHT
|| birdRect.getY() + birdRect.getHeight() < 0)
{
System.out.print("\n");
++_try;
_totalTime = 0;
_bird.reset();
_world.reset();
}
}
public void draw(Turtle turtle, double elapsed)
{
TurtleWelt.globaleWelt.bildschirmEinfaerben(255, 255, 255);
for (var d : _drawables)
{
d.draw(turtle, elapsed);
}
}
public void addDrawable(Drawable d)
{
_drawables.add(d);
}
public void jump()
{
_bird.jump();
}
}