⚡ 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