Bei der Dauerwerbesendung „Schlag den Star“ gibt es viele interessante Spiele, die nicht zuletzt durch die Kandidaten unterhaltsam und spannend sind. Einige von den Spielen eignen sich durchaus als Programmierübung.
Vor diesem Hintergrund ist mir das Spiel „Songtexte“ in Erinnerung geblieben.
Spielbeschreibung „Songtexte“
In diesem Spiel geht es darum, dass die KandidatInnen einzelne Worte aus einem Liedtext erraten müssen. Den KandidatInnen wird ein Liedtext gezeigt, in dem einzelne Wörter geschwärzt sind. Es muss abwechselnd geraten werden, was sich hinter den geschwärzten Wörtern befindet. Wer den ersten Fehler macht, verliert das Spiel.
Aufgabe
Deine Aufgabe ist es, einen zur Verfügung gestellten Text so anzupassen, dass eine vorgegebene Anzahl von Worten in folgender Weise geschwärzt werden:
- Jedes Wort muss durch Xe ersetzt werden
- Die Anzahl der Xe muss der Anzahl der Buchstaben im Wort entsprechen
- Jedes geschwärzte Wort muss eine fortlaufende Nummerierung enthalten
- Die Nummerierung muss
- Variante A: in Klammern hinter dem Wort erscheinen. Beispiel: NACHT = XXXXX(4), wenn es das vierte geschwärzte Wort ist
- Variante B: innerhalb der Xe erscheinen, sofern das Wort lang genug ist. Beispiel: ABEND = XX5XX, wenn es das fünfte geschwärzte Wort ist
Folgende Bedingungen sind zu beachten:
- Welche Wörter geschwärzt werden, soll dem Zufall überlassen werden.
- Die geschwärzten Worte sollten einigermaßen gleichmäßig über den gesamten Text verteilt sein.
- Es dürfen maximal 2 geschwärzte Wörter hintereinander stehen
- Es dürfen maximal 2 geschwärzte Wörter in einer Zeile vorhanden sein
- Eine Liste mit den Lösungen soll bereit gestellt werden:
- 1: AWAY
- 2: STAY
- 3: BELIEVE
- 4: SUDDENLY
- …
Spielfertige Variante
In der Programmieraufgabe geht es in erster Linie darum, den Text entsprechend zu bearbeiten. Allerdings kann ich mir vorstellen, dass man eine interaktive Version des Spiels in SAP abbilden kann.
Der Text wird in einem CL_GUI_TEXTEDIT-Control dargestellt. Eine Liste der geschwärzten Wörter wird als ALV-Grid daneben ausgegeben. Eine Spalte ist eingabebereit. In diese Spalte kann die Lösung zu dem Wort eingetragen werden. Ist das Wort korrekt, wird der Eintrag grün markiert oder bekommt in einer separaten Spalte ein Okay-Icon und es kann weiter geraten werden. Zusätzlich wird das geratene Wort in dem Texteditor ersetzt. Ist eine Eingabe verkehrt, wird die Liste aufgelöst und eine entsprechende Meldung ausgegeben.
Um die Ausgabe ansprechender zu gestalten, könnte der Text in HTML umgewandelt und in einem CL_GUI_HTML_VIEWER-Control dargestellt werden, in dem die geschwärzten Wörter farblich markiert werden.
Schlag den Raab Fanseite
Auf der Fanseite von Schlag-den-Raab kannst du vielleicht noch weitere Spielideen finden, die sich in ABAP umsetzen lassen? Die meisten Spiele sind Quizfragen und Geschicklichkeitsspiele, aber einige Spiele sind vielleicht ganz gut umsetzbar. Zum Beispiel wäre Geheimsprache aus Schlag den Henssler gut umsetzbar:
Es müssten zwar eine Menge Wörter gesammelt werden, aber es geht ja in erster Linie darum, die Logik abzubilden und dafür reichen je Kategorie ein paar Wörter. Die Aufgabe könnte dann lauten: Liefere mir zu einem Wort den Geheimcode.