Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 2.24 KB

File metadata and controls

58 lines (43 loc) · 2.24 KB

🖥️ GameGUI-Java

Ein einfaches Java-GUI-Shooter-Spiel mit Swing — entwickelt im Rahmen der Berufsschulausbildung zur Fachinformatikerin Anwendungsentwicklung.

📋 Projektbeschreibung

Ein 2D-Arcade-Shooter, der mit Java Swing umgesetzt wurde. Der Spieler steuert ein Raumschiff am unteren Bildschirmrand, schießt auf herabfallende Gegner und versucht, alle 5 Leben zu erhalten. Bei einem Treffer erscheint eine Explosion, bei Spielende kann neu gestartet werden.

🔧 Funktionsumfang

Steuerung

  • / Pfeiltasten — Spieler nach links/rechts bewegen
  • Leertaste — Schießen (max. 1 Bullet gleichzeitig)

Regeln / Logik

Bedingung Ergebnis
Enemy erreicht unteren Rand Spieler verliert 1 Leben
Bullet trifft Enemy Explosion, Enemy respawnt mit Verzögerung
0 Leben übrig Game Over → Neustart möglich
Spieler drückt "Nein" beim Start Spiel wird beendet

Ausgabe

  • Schwarzes Spielfeld (600×900px)
  • Blauer Spieler-Dreieck unten
  • Rote Gegner-Dreiecke von oben
  • Orangefarbene Bullets und Explosionen
  • Lebensanzeige als ♥-Symbole im Fenstertitel

💡 Verwendete Java-Konzepte

Konzept Anwendung im Projekt
JFrame / JPanel Hauptfenster und Spielfeld
paintComponent(Graphics g) Manuelles Zeichnen aller Spielelemente
Thread + Runnable Gameloop läuft in eigenem Thread
Thread.sleep() Framerate-Steuerung (~60 FPS)
KeyListener Tastatureingaben für Steuerung
boolean[]-Array Statusverfolgung gedrückter Tasten
Math.random() Zufällige Enemy-Spawn-Positionen
JOptionPane Startbildschirm, Meldungen, Game Over
Inner Class GamePanel als innere Klasse
fillPolygon() Zeichnen von Spieler, Enemies, Explosion

▶️ Ausführen

javac gamegui/GameGUI.java
java gamegui.GameGUI

Voraussetzungen: Java JDK 8 oder höher — Keine externen Bibliotheken nötig

👩‍💻 Über die Entwicklerin

Dieses Projekt entstand als Übungsaufgabe in der Berufsschule. Es zeigt meine Fähigkeit, objektorientierte Java-Konzepte mit GUI-Programmierung (Swing) zu kombinieren und einen vollständigen Gameloop mit Kollisionserkennung, Event-Handling und grafischer Darstellung umzusetzen.