In der zehnten Jahrgangsstufe Informatik mache ich am Ende des Schuljahres immer ein kleines Projekt in dem die Schüler all ihr neues Wissen ausprobieren und anwenden sollen. In diesem Jahr ist es ein Spiel auf Basis des Java-Pakets engine-alpha .

Engine-Alpha habe ich auf einer Fortbildung an der TUM kennengelernt und wollte es unbedingt ausprobieren. Das Besondere: Es hat ein Schüler aus einer zehnten Klasse programmiert, um seinen Mitschülern etwas interessantes anzubieten. Und es funktioniert.

Nach dem ich mit meinen Schülern anhand der PingPong-Vorlage die Bibliothek erklärt und den Stoff des Schuljahres wiederholt habe, gab es die Aufgabenstellung.

Aufgabe

Erstelle ein Spiel mit dem Namen BALANCE (Projektname), das wie folgt aussieht:

Die Grundanforderungen:

  1. Der Schläger kann nur nach links und rechts bewegt werden und geht nicht über den Rand hinaus.
  2. Der Ball prallt am Schläger ab und der Spieler bekommt einen Punkt (linke Punkteanzeige)
  3. Verfehlt der Spieler den Ball, bekommt der Computer einen Punkt (recht Punkteanzeige)
  4. Der Ball startet in der Mitte und bewegt sich senkrecht nach unten.
  5. Bei Drücken der Taste N gibt es einen neuen Ball und der Computer bekommt einen Punkt.

Weitere Entwicklungsideen:

  1. Der Ball fällt näherungsweise physikalisch
    Idee: vY erhöht sich pro Tick.
  2. Der Ball bewegt sich nicht geradlinig, sondern startet schief.
    int zufallsZahl = (int) (Math.random()*3+1);
    gibt eine Zufallszahl aus den Zahlen 1, 2, 3
  3. Je nachdem, wo der Schläger getroffen wird, prallt der Ball anders ab.
    Genauere Berechnenung, wo der Ball den Schläger trifft, wären nötig.
  4. Es gibt weitere rechteckige Hindernisse.
    Hindernisse wären dann Schläger, die sich nicht bewegen.
  5. Größe, Anzahl, Farbe, Geschwindigkeit,… der Gegenstände ändert sich während des Spiels.
  6. Die Farbe des Balls ändert sich und die Farbe des Schägers kann durch den Spieler beeinflusst werden. Nur wenn beide Farben übereinstimmen passiert….

Mögliche Lösung: Balance-Spiel

Technischer Hinweis: Damit ich nicht großartig was an den Einstellungen von BlueJ ändern musste, habe ich im Projektverzeichnis einfach einen +libs Ordner erstellt in dem die zugehörige engine-alpha_version2.0.jar Datei liegt.