# Programmierprojekt: 2D-Spiel ## Bildungsplan **Bundesland:** Baden-Württemberg **Schulart:** Berufliches Gymnasium, Technisches Gymnasium **Klassenstufe:** Eingangsklasse / Klasse 11 **Kompetenzen:** Die Schülerinnen und Schüler entwickeln und implementieren einfache 2D-Spiele anhand eigener Entwürfe oder Vorgaben. Sie planen den Spielablauf und implementieren das Spiel mithilfe von Entwicklungsumgebungen und Frameworks. --- ## Anforderungskatalog ### Technische Anforderungen - Entwicklung eines interaktiven 2D-Spiels in Zweiergruppen - Steuerbare Spielfigur, z. B. per Tastatur oder Maus - Selbst gestaltete Spielwelt, z. B. Labyrinth, Garten, Gefängnis, Labor oder Fantasiewelt - Klare Spielaufgabe: navigieren, Objekte sammeln und ein Ziel erreichen - Einbindung von Sammelobjekten, Hindernissen, Wegen oder Begrenzungen - Erkennbare Spielzustände, z. B. Start, Spielphase, gewonnen oder verloren - Rückmeldungen an die Spielenden, z. B. Punktestand, Leben, Zeit oder gesammelte Objekte - Lauffähiges, verständlich bedienbares und spielbares Endprodukt --- ### Kreative Anforderungen - Eigenständige Entwicklung einer Spielidee innerhalb des Grundprinzips **„Sammeln – Navigieren – Ziel erreichen“** - Freie Wahl von Spielwelt, Figuren, Objekten und Story - Stimmige Gestaltung von Umgebung, Spielfigur, Hindernissen und Sammelobjekten - Verständliches und nachvollziehbares Spielziel - Spielwelt und Gestaltung passen zur gewählten Idee - Kreative Erweiterungen möglich, z. B. Gegner, Timer, mehrere Level, Power-ups oder besondere Aufgaben - Spielidee soll für andere nachvollziehbar und motivierend sein --- ### Programmierkonzepte - Verwendung von Variablen, z. B. für Position, Punktestand, Leben, Zeit oder Spielzustand - Verwendung von Operatoren, z. B. für Bewegungen, Berechnungen und Vergleiche - Verwendung von Bedingungen, z. B. für Kollisionen, Sammelobjekte, Sieg oder Niederlage - Verwendung von Schleifen, z. B. für wiederholtes Zeichnen, Aktualisieren und Prüfen des Spielverlaufs - Einsatz von objektorientierten oder objektähnlichen Strukturen, z. B. für Spielfigur, Hindernisse, Sammelobjekte oder Gegner - Nutzung von Ereignissteuerung, z. B. Tastatur- oder Mauseingaben - Sinnvolle Strukturierung des Codes, z. B. durch Funktionen wie Bewegung, Kollision oder Anzeige - Erläuterung der eingesetzten Programmierkonzepte in der Dokumentation --- ## Programmiersprache / Programmierumgebung **Programmiersprache:** Java **Programmierumgebung:** Visual Studio Code