Ein einfaches Java-GUI-Shooter-Spiel mit Swing — entwickelt im Rahmen der Berufsschulausbildung zur Fachinformatikerin Anwendungsentwicklung.
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.
←/→Pfeiltasten — Spieler nach links/rechts bewegenLeertaste— Schießen (max. 1 Bullet gleichzeitig)
| 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 |
- Schwarzes Spielfeld (600×900px)
- Blauer Spieler-Dreieck unten
- Rote Gegner-Dreiecke von oben
- Orangefarbene Bullets und Explosionen
- Lebensanzeige als ♥-Symbole im Fenstertitel
| 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 |
javac gamegui/GameGUI.java
java gamegui.GameGUIVoraussetzungen: Java JDK 8 oder höher — Keine externen Bibliotheken nötig
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.