Tach!
Dieser Ansatz ist falsch. Du willst doch genau das Gegenteil, den Zufall einschränken. Die Ereignisse sollen gleichmäßig auftreten, aber innerhalb der Gleichmäßigkeit in zufälliger Reihenfolge.
Für die genannten Verfahren der einfacheren Sorte bietet sich unter anderem ein Array an, dass man schüttelt und dann gerade durchläuft. Oder per Zufall ein Element wählen und das dann entfernen, bis alle weg sind, und das Array dann wieder füllen.
dedlfix.