Registriert seit: 28. Apr 2014
46 Beiträge
Delphi 10.3 Rio
|
Random Generator mit In-Output
19. Mär 2018, 19:43
Hallo,
ja, der Titel ist verwirrend, aber umschreibt ganz gut was ich versuche zu bekommen.
STORY: Ich schreibe im Rahmen eine Schulprojektes ein kleines Programm was aus einem Bild bzw. dessen Farben/Pixeln Töne mittels MIDI erzeugt. Das funktioniert bisher auch ganz gut. Nun hab ich das Problem, dass ich ja nicht immer den gleichen Ton hören will, also brauch ich eine Art Zufallsgenerator.
Nun zum Problem: Ich kann (wahrscheinlich) NICHT den Delphi internen Generator nehmen. Wenn ich ein Bild lade, das abspiele und mich von der grandiosen Musik beschallen lassen hab, ist alles prima, wenn ich das Bild nun erneut lade, sollte ja auch das gleiche "Lied" entstehen, entsprechend muss ich einen Zufallsgenerator nutzen, dem ich einen Input geben kann, der darauf hin immer den gleichen Output gibt.
Eine Zufallszahl mit gegebenen Werten zu erzeugen hab ich bisher semi-professionell mit einem XorShift gelöst, nicht schön aber es tut was es soll.
Jetzt brauch ich aber möglichst einen Weg die entstandene Zahl (derzeit ein Cardinal) in einen von mir definierten Bereich zu pressen, ähnlich wie random(10) nur noch Zahlen zwischen 0 und 9 ausgibt.
Also für alle lesefaulen (und alle, die meine eher komische Art Fragen zu stellen nicht entziffern können):
Wie bekomme ich einen Zufallsgenerator der mir bei gleichen Input immer den gleichen Output serviert?
und/oder
Wie bekomme ich große Zahlen vernünftig in einen definierten Zahlenbereich komprimiert? (also z.B.: 184 492 344 in einen Bereich zwischen 0 und 87)
Alternativ könnt ihr mir auch nen Googleansatz geben, ich hab nähmlich einfach keine Ideen mehr...
Danke im Vorraus
Geändert von tumo (19. Mär 2018 um 19:47 Uhr)
|