FlappyTurtle/IntroScreen.java

167 lines
3.8 KiB
Java

class IntroScreen
{
private boolean _introDrawn;
public IntroScreen() {}
private void goTo(Turtle t, int x, int y)
{
t.hinterlasseKeineSpur();
t.geheZu(x, y);
t.hinterlasseSpur();
}
private void drawR(Turtle t)
{
t.setzeRichtung(-90);
t.geheVor(100);
t.setzeRichtung(0);
t.geheVor(40);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(180);
t.geheVor(40);
t.geheVor(-50);
t.setzeRichtung(90);
t.geheVor(50);
}
private void drawT(Turtle t)
{
t.setzeRichtung(0);
t.geheVor(25);
t.setzeRichtung(90);
t.geheVor(100);
t.geheVor(-100);
t.setzeRichtung(0);
t.geheVor(25);
}
private void drawL(Turtle t)
{
t.setzeRichtung(90);
t.geheVor(100);
t.setzeRichtung(0);
t.geheVor(50);
}
/*
* Draws Flappy Bird on screen.
* There are surely much nicer ways of doing this but this had the least
* cognitive overhead.
*/
public void draw(Turtle t)
{
if (!_introDrawn)
{
TurtleWelt.globaleWelt.bildschirmEinfaerben(0, 0, 0);
_introDrawn = true;
t.setzeFarbe("gruen");
// F
goTo(t, 100, 100);
t.setzeGeschwindigkeit(1);
t.setzeRichtung(180);
t.geheVor(50);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(0);
t.geheVor(40);
t.setzeRichtung(180);
t.geheVor(40);
t.setzeRichtung(90);
t.geheVor(50);
// L
goTo(t, 110, 100);
drawL(t);
// A
goTo(t, 170, 200);
t.setzeRichtung(-90);
t.geheVor(100);
t.setzeRichtung(0);
t.geheVor(50);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(180);
t.geheVor(50);
t.geheVor(-50);
t.setzeRichtung(90);
t.geheVor(50);
// PP
goTo(t, 230, 200);
for (int i = 0; i < 2; ++i)
{
t.setzeRichtung(-90);
t.geheVor(100);
t.setzeRichtung(0);
t.geheVor(50);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(180);
t.geheVor(50);
goTo(t, 290, 200);
}
// Y
goTo(t, 350, 100);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(0);
t.geheVor(25);
t.setzeRichtung(90);
t.geheVor(50);
t.geheVor(-50);
t.setzeRichtung(0);
t.geheVor(25);
t.setzeRichtung(-90);
t.geheVor(50);
t.setzeFarbe("blau");
// T
goTo(t, 50, 210);
drawT(t);
// U
goTo(t, 110, 210);
t.setzeRichtung(90);
t.geheVor(100);
t.setzeRichtung(0);
t.geheVor(50);
t.setzeRichtung(-90);
t.geheVor(100);
// R
goTo(t, 170, 310);
drawR(t);
// T
goTo(t, 230, 210);
drawT(t);
// L
goTo(t, 290, 210);
drawL(t);
// E
goTo(t, 400, 210);
t.setzeRichtung(180);
t.geheVor(50);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(0);
t.geheVor(45);
t.geheVor(-45);
t.setzeRichtung(90);
t.geheVor(50);
t.setzeRichtung(0);
t.geheVor(50);
t.setzeGeschwindigkeit(10);
}
}
}