⚡ Block 1: Meteor II

    Zum Einstieg programmieren wir ein richtiges Spiel, einen Space-Shooter namens »Meteor II« (abgeleitet von der Vorlage auf dem YouTube-Channel informatikkeller.de).

    Sie programmieren einfach mit und versuchen, so viel wie möglich mitzunehmen. Die allermeisten Themen kommen aber später nochmal genauer, also fokussieren Sie sich auf den Spaß daran, dass es gar nicht so schwer ist, ein Spiel selbst zu bauen.

    Alle Folgen starten von einem Greenfoot-Szenario aus. Die Sammlung mit allen Szenarien hier: Alle Meteor-II-Szenarien (Greenfoot) als *.zip

    Das hier brauchen Sie, um mitarbeiten zu können:

    Folge 1/7: Rakete erzeugen und bewegen

    In diesem Kapitel erhalten Sie eine Einführung in Java, die Objektorientierte Programmierung (OOP) und Greenfoot. Wir erzeugen ein Raumschiff, das sich durch das Weltall bewegt.

    Sie starten mit dem Szenario meteor-1


    Folge 2/7: Rakete mit Tastatur (WASD) steuern, Methodenprogrammierung

    Hier lernen Sie, wie man ein Objekt mit Tastatur (WASD) steuert und wie Sie Methoden programmieren und verwenden.

    Sie starten mit dem Szenario meteor-2


    Folge 3/7: Meteore zufällig spawnen und am Rand verschwinden lassen.

    In diesem Kapitel lernen Sie, wie man mit Zufallszahlen umgeht und diese verwendet, um zufällig Objekte zu spawnen. Die lernen, wie Sie das Welt-Setup speichern, was ein Konstruktor ist und wie Sie Objekte abhängig von ihrer Position verschwinden lassen.

    Sie starten mit dem Szenario meteor-3


    Zwischenübung: Regentropfen 1 - Zufälliges Spawnen von Objekten, Tastatursteuerung

    In dieser Übung werden die Folgen 1-3 aus der Playlist "Meteor II - Ein Greenfoot-Spiel programmieren" vertieft.

    Sie starten mit dem Szenario meteor-3a-uebung-regentropfen


    Folge 4/7: Meteor lässt Rakete explodieren

    Wir erzeugen eine neue Klasse Explosion - die macht ein explodierendes Geräusch und wird eingesetzt, wenn ein Meteor die Rakete rammt.

    Sie starten mit dem Szenario meteor-4


    Folge 5/7: Explosion von selbst verschwinden lassen mit int-Variable

    Sie lernen, wie Sie mit einer Timer-Variablen Objekte nach einer gewissen Zeit verschwinden lassen, in unserem Fall die Explosion.

    Sie starten mit dem Szenario meteor-5


    Zwischenübung: Regentropfen 2 - Objektkollisionen, Countdown, Objekte verschwinden lassen

    In dieser Übung werden die Folgen 4 und 5 vertieft.

    Sie starten mit dem Szenario meteor-5a-uebung-regentropfen


    Folge 6/7: Die Rakete feuert mit Leertaste Schüsse ab und zerstört Meteoriten

    In dieser Folge programmieren wir mit unserem bisherigen Wissen eine Schuss-Routine für die Rakete. Wenn ein Schuss einen Meteor trifft, wird dieser zerstört.

    Sie starten mit dem Szenario meteor-6


    Folge 7/7: Munitionsbegrenzung auf 30 Schüsse; Munitionskisten aufsammeln

    Wir lernen hier, wie wir mit einer Variable »shots« unseren Munitionsvorrat begrenzen. Außerdem programmieren wir ein Powerup, so dass ab und zu Munitionskisten auf der Welt auftauchen, die wir einsammeln können und dann 20 Schüsse dazu kommen. Leider recht ausführlich widmen wir uns auch dem Problem der Fehlermeldung, die auftritt, wenn getWorld() == null - das ist nicht besonders appetitlich, aber da wir dieses Problem häufig haben, müssen wir uns das genauer anschauen.

    Sie starten mit dem Szenario meteor-7


    EXTRAS: Einzelschüsse/Cooldown, Levelwechsel, Startscreen, Spielzeit messen

    Hier kommen einige zusätzliche Extras, die unser Spiel interessanter machen. So sorgen wir zuerst einmal mit einem Cooldown-Timer dafür, dass immer nur einzelnen Schüsse abgegeben werden können. Außerdem zählen wir die insgesamt verstrichene Zeit (für mögliche Highscores). Weiterhin wird das Spiel immer schneller - das simuliert Levelwechsel (ist aber kein echter Levelwechsel, dafür ist es einfach zu realisieren). Dafür verwenden wir den Modulo-Operator. Und wir installieren einen Start- und Gameover-Screen.

    Sie starten mit dem Szenario meteor-8