====== Projekt: Programmierung eines einfachen Computerspiels ====== ===== Organisation ===== * Vorgefertigte Spiele (s.u.) stehen im Quellcode zur Auswahl, wahlweise kann aber auch ein eigenes Spiel programmiert werden * Ziel ist es, das Spiel so weit wie möglich auszubauen. Unten sind Erweiterungsmöglichkeiten beschrieben. * Arbeit alleine, es ist aber erlaubt, sich gegenseitig zu befragen und zu helfen. * 3 Doppelstunden (20.06., 27.06., 04.07.), dann Benotung des Projektfortschritts * Danach bis zum Schuljahresende Weiterarbeit am Projekt Falls Sie zuhause weiterarbeiten möchten, [[schule:klassen:2017:10b:installation|hier eine kurze Anleitung]]. ===== Anforderungen ===== * Sauberer Code * Eigene Klassen * Selbst eingefügten Code kurz kommentieren ===== Spiele, Aufgaben ===== ==== PONG ==== * Erhöhen des Schwierigkeitsgrades mit zunehmender Spieldauer, z.B. * kürzere Schläger * mehrere Bälle gleichzeitig * Abprallwinkel abhängig von der Schlägergeschwindigkeit zum Zeitpunkt des Aufpralls * Anzeige, wie viele Spiele durch die einzelnen Spieler schon gewonnen wurden * Bewegter Sternenhimmel (verschieden große Kreise) im Hintergrund * Funkenschlag beim Aufprall auf die Schläger * Andere graphische Verzierungen ==== Snake ==== * Anzahl der Leben eines Spielers anzeigen * Lebensverlust (und nachfolgend neuer Spielbeginn) wenn * die Schlange den Rand berührt oder * sich selbst beißt. * Wenn eine bestimmte Zahl von Früchten auf dem Spielfeld unterschritten wird, sollen an zufälliger Position automatisch neue Früchte gesetzt werden * Punktezähler; Punkte gibts fürs Essen von Früchten * Giftflaschen an zufälligen Positionen, die nicht gegessen werden dürfen. ==== Space Invaders ==== * Anzeige der verbleibenden Leben * Lebensverlust bei Berührung eines Alien Bullets oder bei Zusammenstoß mit einem Alien, nachfolgend bspw. Neubeginn des Levels * Weitere Alien-Arten mit verschiedenem graphischen Aussehen und verschiedener Art sich zu bewegen und zu schießen * //Tipp:// Das Sprite-Objekt in der Alien-Klasse hat 8 verschiedene "Aussehen", die mit sprite.zeichneBild(0) bis sprite.zeichneBild(7) ausgewählt werden können * Powerups * //Tipp:// Das Raumschiff hat drei verschiedene "Aussehen", die mit sprite.zeichneBild(0) bis sprite.zeichneBild(2) ausgewählt werden können. * Verschiedene Waffen für das Raumschiff ==== Boulder dash ==== * Anzeige der verbleibenden Leben * Lebensverlust, wenn ein Stein oder ein Edelstein den Mann erschlägt * größeres Level **mit Scrolling** * Levelausgang, der sich erst öffnet, wenn eine bestimmte Anzahl von Edelsteinen aufgesammelt wurde * Mehrere Level