16.09.2017 Aufrufe

Vorkurs Informatik

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

204 10 Grafikprogrammierung mit Swing<br />

der Umsetzung der Aufgabe folgendermaßen vor: Durch den ersten Mausklick wird der Anfangspunkt<br />

der ersten Linie festgelegt, mit dem zweiten Mausklick der Endpunkt. Dieser Punkt ist gleichzeitig<br />

der Anfangspunkt der nächsten Linie. Beendet wird diese Vorgehensweise, wenn sich die Koordinaten<br />

zweier nachfolgender Mausklicks nicht unterscheiden.<br />

Aufgabe 10.8:<br />

Zum Abschluss der Kapitel über Programmierung soll ein größeres Softwareprojekt realisiert werden -<br />

ein Computerspiel mit Namen Repeater. Das Ziel dieses Spiels ist es, eine Kombination von Farbfolgen<br />

zu wiederholen, die im Laufe des Spiels immer länger wird. Sehen wir uns zunächst eine mögliche Bildschirmdarstellung<br />

des Spiels in Abbildung 10.8 an. Gemäß der vier Himmelsrichtungen sind auch die vier<br />

Farbflächen (rot, grün, blau, gelb) angeordnet, deren Farbkombinationen es zu wiederholen gilt. Ergänzt ist<br />

noch ein Button zum Starten des Spiels gegeben.<br />

Ausgehend von diesem Spielfeld beschreiben wir kurz ein mögliches Spielszenarium. Sobald das Spiel<br />

über den Button gestartet wird, leuchtet zufällig eine durch den Computer bestimmte Farbfläche auf, die<br />

es sich zu merken gilt. Gehen wir einmal davon aus, dass die rote Farbfläche ausgewählt wurde, ist auch<br />

diese rote Fläche mit der Maus anzuklicken. Anschließend wird die aktuell aus einer Farbe bestehende<br />

Farbkombination erweitert, beispielsweise, dass eine grüne Fläche hinzukommt. Dieses wird durch den<br />

Computer angezeigt, indem zuerst die rote, danach die grüne Fläche aufleuchtet. Nach diesem Prinzip setzt<br />

sich das Spiel fort. Nach jeder erfolgreich wiederholten Farbkombination, wird diese um eine weitere Farbe<br />

ergänzt. Das Spiel endet, falls die Farbkombination nicht korrekt wiederholt werden konnte.<br />

Zu Beginn einer Softwareentwicklung steht die Frage, was das System leisten soll und wie es auf Basis<br />

dieser Überlegungen in einer Programmiersprache umzusetzen ist. Da dieses Buch nicht das Softwaredesign<br />

zum Thema hat, nehmen wir die Anforderungen als durch die Spielbeschreibung bereits (informell)<br />

vorgegeben. Eine mögliche softwaretechnische Umsetzung könnte gemäß dem UML-Diagramm in Abbildung<br />

10.9 realisiert werden. War es in den bisherigen Programmieraufgaben immer klar definiert, was<br />

genau zu programmieren ist, sei in dieser Aufgabe programmiertechnische Kreativität möglich und erwünscht.<br />

So sollen der Screenshot in Abbildung 10.8 und das UML-Diagramm in Abbildung 10.9 nur<br />

eine Option zur Programmierung aufzeigen. Dass innerhalb der Abbildung „besondere“ Formen von Vererbungsbeziehungen<br />

zwischen den Klassen dargestellt sind, können Sie ignorieren. Die damit ausgedrückten<br />

Konzepte („gerichtete Assoziation“ zwischen RepeaterPanel und RepeaterFrame bzw. eine sogenannte<br />

„Containment-Hierarchy“ zwischen RepeaterFrame und RepeaterActionListener) sind nur im<br />

Hinblick auf eine korrekte Darstellung genutzt. Sie gehen aber über den einführenden Charakter zur UML-<br />

Notation hinaus.<br />

Trotz dieser Freiheit sollen Ihnen die folgenden Teilaufgaben, mit den entsprechenden Hinweisen, helfen,<br />

auch dieses größere Softwareprojekt erfolgreich zu realisieren. Als zusätzliches Hilfsmittel sollte die Java-<br />

Dokumentation genutzt werden – auf der Internet-Seite zum Buch finden Sie die zugehörigen Links zum<br />

Download. Schließlich befindet sich, abweichend zu den bisherigen Aufgaben, auch eine Musterlösung auf<br />

der Internet-Seite zum Buch. Sie sollten aber versuchen, die Musterlösung eventuell nur als Anhaltspunkt<br />

zu nutzen und das Spiel nach Ihren eigenen Vorstellungen programmieren.<br />

a) Erstellen Sie zunächst die grafische Oberfläche mit den vier Farbflächen und dem Start-Button. Die<br />

Anordnung der Farbflächen kann über den Layoutmanager BorderLayout realisiert werden. Dieser<br />

ermöglicht es, die Elemente in allen vier „Himmelsrichtungen“ und der Mittelposition anzuordnen.<br />

Sie können beispielsweise die Datenstruktur Rectangle aus dem Abschnitt 10.3.1 wiederverwenden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!