Hallo corone,

hmm... die idee hat was... in die aufzurufenden subprogramme unterschiedlich lange pausen einfügen, damit er auf neue zufallsergebnisse kommt...
... nee, so war das nicht gemeint. Die Pausen z.B. vor dem rand-Aufruf verändern die Zufallszahlenreihenfolge nicht.

Das Einzige, was Sinn macht, ist randomize immer am Anfang des Programms mit einem zufälligen Wert aufzurufen, der nicht beim Start immer gleich ist. Wenn man als Parameter für randomize den timer nimmt, dann bringt das auch nicht viel, weil vom Hochfahren des uC (CC1) bis zum Aufruf der randomize-Zeile jedesmal fast genau dieselbe Zeit benötigt wird. Damit hat timer bis auf geringe Abweichung denselben Wert. Das führt dann zur selben Abfolge der Zufallszahlen.
Man braucht also einen zufälligen Parameter für randomize. Wenn ich timer nehmen will, muss ich die Zeit bis zum Aufruf der Zeile unplanbar machen. Das meinte ich mit dem Berühren des TOUCH-Sensors. Niemand kann ihn so exakt zu einer bestimmten Zeit nach dem Booten berühren, dass timer den selben Wert enthalten würde.
Eine andere Lösung wäre, einen ganz anderen Parameter zu nehmen. Da bietet sich z.B. der Helligkeitssensor an, der wohl auch beim Start nicht immer den gleichen Wert haben wird, oder eine Multiplikation aus Helligkeit und Geräuschpegel im Raum ... Der Phantasie sind keine Grenzen gesetzt.

Was nichts bringt, sind zeitliche Veränderungen vor oder nach rand-Aufrufen. Da rand die Zufallszahlen errechnet, wird eine längere oder kürzere Zeit bis zum rand-Aufruf nichts ändern.

Verbesserungen kannst du nur über randomize (s.o.) erreichen.

Zur Sicherheit noch eins: Du rufst doch randomize nicht jedesmal vor rand auf??? randomize sollte am Anfang des Progs einmal erscheinen (mit möglichst zufälligem Parameter). Im Prog selbst gibt es dann nur noch die rand-Aufrufe.

Gruß Dirk