Keno-Generator
2 bis 10 Zufallszahlen und Pseudo-Sortierung
|
|
Aufgabenstellung
Funktionalität
Es soll ein Keno-Generator erstellt werden, der für jede Ziehung eine Anzahl von Zahlen (2 bis 10) bereitstellt. Diese sollen anschließend wieder in sortierter Reihenfolge auf der Seite dargestellt werden.
Programmlogik
Es gibt mehrere Buttons für die Wahl der Anzahl an Zahlen für die Ziehung. Jeder Button ruft die entsprechende Ziehungsfunktion auf und übergibt ihr den Wert des jeweiligen Buttons. Die gezogenen Zahlen werden dann in sortierter Reihenfolge ausgegeben, wobei dafür diesmal keine richtige Sortierfunktion benötigt wird. Stattdessen soll mit einem Array vom Typ "Boolean" gearbeitet werden. Es wird zunächst komplett mit "false" initialisiert. Gezogene Zahlen sorgen für einen Austausch gegen "true" im entsprechenden Arrayfeld. Dabei kann geprüft werden, ob eine Zahl bereits gezogen wurde - also ob ein Feld bereits "true" enthält. Außerdem entfällt damit die Sortierung, da am Ende nur noch das gesamte Array per Schleife der Reihe nach auf den Wert "true" untersucht und der entsprechende Array-Index ausgegeben werden muss. Genutzt werden soll ein Array mit 71 Feldern, was einem Index von 0 bis 70 entspricht. Feld 0 bleibt ungenutzt.
Sprache
Die grundsätzliche Logik ist mit JavaScript zu realisieren, um die Seitenänderungen dynamisch zu gestalten. Weiterhin darf mit CSS formatiert werden. PHP darf lediglich zur Vereinfachung z.B. bei Erstellung umfangreicher Tabellen mittels verschachtelter Schleifen benutzt werden.
Darstellung und Aufbau
Es ist ein Kästchen aus einem Keno-Spielschein mit 7x10 Feldern darzustellen. Genutzt werden soll eine unsichtbare Tabelle, die als Hintergrundbild die Fläche mit allen Zahlen und Rahmen enhält. In die Tabellenfelder kommen entweder transparente Grafiken oder nach Austausch Bilder mit einem X (angekreuzt). Daneben soll es die Buttons für die Auswahl von 2 bis 10 Zahlen geben und zusätzlich einen Reset-Button, um alles wieder auf den Ursprungszustand zu setzen.
Weitere Vorgaben/Einschränkungen
Es dürfen keine Sortierfunktionen verwendet werden, weder aus JavaScript oder PHP, noch selbstgeschriebene. Die sortierte Ausgabe soll allein auf der Reihenfolge der "true"-Werte beim Auslesen des boolschen Arrays beruhen.
Erstellungsdatum
Aufgabe und Programmdemonstration wurden im Juli 2005 von Gerd Schiefer erstellt.
