amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > random funktion in scala [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

18.11.2004, 12:32 Uhr

wawa
Posts: 314
Nutzer
auf mal wieder: weiss jemand wie syntax für random funktion in mm400 aussieht? in handbuch ist nur ein beispiel anhand von tutorial, attribute werden aber nicht beschrieben.

[ - Antworten - Zitieren - Direktlink - ]

18.11.2004, 21:25 Uhr

Lippi
Posts: 1247
Nutzer
Ich habe es gerade mal probiert, und nicht hingekriegt.
Kommt immer die gleiche Zahl raus, bzw abhängig von
dem Klammerwert.
Dann habe ich das in Arexx probiert, ist auch so !
Würde mich auch interessieren, wie man eine
(immer unterschiedliche) Zufallszahl rausbekommt.

--
mfg -lippi-

Mario Lippert
Infokanal-tv.de

infokanal@t-online.de

[ - Antworten - Zitieren - Direktlink - ]

18.11.2004, 21:36 Uhr

wawa
Posts: 314
Nutzer
eben! ist warscheinlich falsch gepostet. versuche mal bei den programierern.

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 01:45 Uhr

Palgucker
Posts: 1342
Nutzer
@ Lippi

quote:

Dann habe ich das in Arexx probiert, ist auch so !
Würde mich auch interessieren, wie man eine
(immer unterschiedliche) Zufallszahl rausbekommt.


Eine Möglichkeit unter Arexx wäre:

say randu(time(S))

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 01:54 Uhr

cgutjahr
Posts: 2782
[Administrator]
Ich habe hier das Handbuch von der Nightshifts-CD-Version. Um einen zufälligen Wert zwischen 1 und 9 zu ermitteln, wird folgende Syntax vorgeschlagen:

RANDOM (1,9,TIME('S'))

Hilft euch das irgendwie weiter?
--
Gutjahrs :amiga: Seiten

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 10:51 Uhr

wawa
Posts: 314
Nutzer
das ist das handbuch-beispiel das ich meinte. offensichtlich entspricht es der arexx funktion. ex nimmt tatsächlich einen pseudizufälligen wert bei jeder script execution, der sich aber während dessen ablaufs nicht mehr zu ändern scheint. vielleicht muss man die variable "S" irgendwie beim start definieren oder resetten oder gott weis was.

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 11:05 Uhr

thomas
Posts: 7717
Nutzer

Wenn es doch die gleiche Funktion wie bei ARexx ist, warum lest ihr nicht einfach die Beschreibung im ARexx-Handbuch ?

RANDOM(x,y) liefert eine Zufallszahl zwischen x und y. Natürlich kommt dabei immer eine neue raus. Allerdings wird der Generator am Anfang des Programms immer mit dem selben Wert initialisiert, d.h. die erste Zahl des Programms ist immer die selbe und die Folge dürfte auch immer die selbe sein.

RANDOM(x,y,z) initialisiert den Generator mit z und gibt dann eine Zufallszahl zwischen x und y. Hier kommt natürlich für das gleiche z immer die gleiche Zahl raus.

'S' ist keine Variable, sondern ein String mit dem S als inhalt.

TIME('S') gibt die Anzahl Sekunden seit Mitternacht zurück.

Sinnvollerweise wird man zuerst einmal RANDOM(x,y,z) aufrufen und danach immer nur noch RANDOM(x,y). z muß dabei eine "echte" Zufallszahl sein. Die aktuelle Uhrzeit ist in den meisten Fällen ausreichend, sofern sie genau genug ist. Mit Sekunden als Einheit finde ich das hingegen überhaupt nicht zufällig. Es sollten schon Zehntel oder Hundertstel dabei sein.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 12:35 Uhr

wawa
Posts: 314
Nutzer
ich habs glaube ich! da die ganzen uhr batterien in meinen amigas sicher leer sind, läuft system uhr nicht alo ändet sich TIME'S' wert auch nie. musste ich überprüfen. deshalb ist das ergebnis während des scriptablaufes immer das gleiche, jedesmal wenn die wieder funktion abgerufen wird! nur was ist mit uae auf meinem sony notebook? ausgelaufenes aku?

[ - Antworten - Zitieren - Direktlink - ]

19.11.2004, 20:29 Uhr

Palgucker
Posts: 1342
Nutzer
@ Thomas

Mit Sekunden als Einheit finde ich das hingegen überhaupt nicht zufällig. Es sollten schon Zehntel oder Hundertstel dabei sein.

Zum üben sollten die 86400 Möglichkeiten erst einmal reichen. Wenn man mehrere Zufallszahlen innerhalb kurzer Zeit braucht, hast Du natürlich recht. Unter Arexx ist das ganze aber eigendlich nicht wirklich ein Problem. Es ginge auch so:

RND = random(1,9,c2d(import('00dff006'x,2)))

Allerdings bezweifle ich ein bischen, das man auch mit der Scriptsprache von Scala Hardwareadressen auslesen kann. Wenn doch, könnte es ja eine Lösung sein.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

23.11.2004, 03:31 Uhr

wawa
Posts: 314
Nutzer
ha! guter tip! habe die zufallfunktion tatsächlich über arex abgewickelt als execute von scala scrypt, übrigens scala scrypt (lingo) kann sich dieser rezeptur genauso gut nativ bedienen. so sind alle parameter der präsentation auf zufall gestellt. läuft grandios!!!

danke, palgucker, mann!




[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > random funktion in scala [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.