Hello,
Schau, ich kann aufgrund des Codes nicht mal beurteilen, dass es noch gar nicht gelöst ist! ;-)
Was ist denn noch offen?
* Wieviele Extraktionen sollen vorgenommen werden pro Request?
* Soll es ein Multiuser-System sein oder bezieht sich das "schon gezogen" nur auf einen User?
Stichworte: Session, Datenbank, gemeinsame Ressource-Datei, Round-Turns, Abort-Festigkeit, ...
* Wie müssen die Daten zwischen den Requests zwischengespeichert werden?
Stichworte: Race-Condition, Serialisierung, TOCTTOU, ...
* Grenzwertbetrachtungen:
- Was passiert, wenn das Array schon "leer" ist, aber die
vorgeschriebene Anzahl von Extraktionen noch nicht erreicht ist?
Stichworte: array_shift() contra array_pop()
Nebenbetrachtungen:
* Warum "shuffle()" und nicht "rand()"?
* Was soll passieren, wenn die vorgeschriebene Anzahl Extraktionen größer ist, als
die vorhandene Anzahl Array-Elemente?
* Wie wird das Subsystem (das hier entsteht) installiert?
Bevor ich mir Gedanken über OOP oder Objekte oder Pragmen mache, kläre ich doch erstmal die grundlegenden Fragen. Anschließend kann ich das Problem dann bezüglich der gewählten Programmiertechnik weiter aufblasen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg