<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Klasse! Das ist IMHO ein sehr wichtiger Baustein. Zufallszahlen waren bisher nur sehr aufwendig zu erzeugen.<br><br>Uli<br><br>Vom Smartphone gesendet.</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Von: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:wullschleger@gmail.com">Jürg Wullschleger</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Gesendet: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">‎10.‎01.‎2016 01:24</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">An: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:tiptoi@lists.nomeata.de">tiptoi@lists.nomeata.de</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Betreff: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">[Tiptoi] Instruktions Code "FF00" erzeugt Zufallszahlen.</span><br><br></div>Hallo zusammen,<br><br>Ich habe seit 2 Wochen ein tiptoi stift, und habe nun begonnen ein<br>bisschen mit dem tttool herum zu spielen.<br><br>Ich hab auch was neues herausgefunden: die Instruktion<br><br>?($register,<value>) (00 FF)<br><br>generiert eine Zufallszahl zwischen 0 und <value> (inklusive 0 und<br><value>) und speichert es in $register.<br><br>Diese Interpretation macht auch einigermassen Sinn in "Puzzle<br>Kinderarzt", wo diese Instruktion gebraucht wird: (aus dem<br>mailing-listen archiv, 14 Jan 2015)<br><br>  12845:<br>  - $0==0? $6==0? ?($6,1) (00 FF) $6+=1 J(12845)<br>  - $0==0? $6==1? ?($6,1) (00 FF) $6+=1 ?($0,2) (E0 FF)<br>  - $0==0? $6==2? ?($6,1) (00 FF) $6+=1 P(99)<br>  - $0==1?<br>  12922:<br>  - $0==0? $10==0? ?($10,1) (00 FF) $10+=1 J(12922)<br>  - $0==0? $10==1? ?($10,1) (00 FF) $10+=1 ?($0,2) (E0 FF)<br>  - $0==0? $10==2? ?($10,1) (00 FF) $10+=1 ?($0,65535) (E1 FF)<br><br>Die Abfolge "?($6,1) (00 FF) $6+=1" generiert eine Zufallszahl<br>zwischen 1 und 2, welche dann benutzt wird, um eine von zwei<br>instruktionen auszufuehren.<br><br>Hier ist ein test fuer die Instruktion:<br><br>product-id: 42<br>media-path: Audio/digits/%s<br>welcome: blob<br>scripts:<br>  10208:<br>    - ?($register,9) (00 FF) P(blob)<br>  10239:<br>    - $register==0? P(blob) P(english_0)<br>    - $register==1? P(blob) P(english_1)<br>    - $register==2? P(blob) P(english_2)<br>    - $register==3? P(blob) P(english_3)<br>    - $register==4? P(blob) P(english_4)<br>    - $register==5? P(blob) P(english_5)<br>    - $register==6? P(blob) P(english_6)<br>    - $register==7? P(blob) P(english_7)<br>    - $register==8? P(blob) P(english_8)<br>    - $register==9? P(blob) P(english_9)<br>    - $register>10? P(blob) P(blob)<br><br>Die generierten Zufallszahlen sind:<br>1 9 7 7 7 7 2 7 7 2 7 7 2 7 6 7 1 7 2 7 7 6 6 2 7 7 2<br>3 7 7 2 3 2 2 2 7 7 7 2 7 7 1 7 2 7 2 6 7 2 7 2 6 6 7<br>3 1 6 6 2 6 7 2 7 7 7 7 7 7 2 2 7 7 2 7 2 2 7 2 7 2 2<br>7 0 1 7 1 7 7 2 1 7 9 7 7 7 2 7 7 7 7 1 7 7 2 7 1 7 7<br><br>Wie man sieht ist die Zufaelligkeit nicht wirklich uniform: viel zu<br>viele 7, gar keine 4, 5 oder 8.<br><br>Wenn man etwas uniformeres braucht, muss man also wohl:<br><br>  10208:<br>    - ?($register,14999) (00 FF) $register%=10 P(blob)<br><br>oder, falls das auch nicht wirklich uniform ist, gar:<br><br>  10208:<br>    - $count==0? P(blob) $register:=0 $count+=1 J(10208)<br>    - $count<50? ?($rand,6) (00 FF) $register+=$rand $count+=1 J(10208)<br>    - $count>=50? $register%=10 $count:=0 P(blob)<br><br>ausfuehlren. leider ist dies 2. Variante ziemlich langsam. Hier muss<br>man wohl nicht ein bisschen ausprobieren, was am besten ist.<br><br>Fuer einigermassen uniforme Zufallszahlen (z.b. fuer ein Wuerfelspiel)<br>ist es wohl<br>am besten, diese Funktion nur zu Beginn des Programms aufzurufen, um einen<br>Seed mit genuegend Entropie zu generieren. Und benutzt dann einen einfachen<br>Pseudozufallsgenerator.<br><br>Viele Gruesse<br><br>Juerg<br><br>-- <br>tiptoi mailing list<br>tiptoi@lists.nomeata.de<br>https://lists.nomeata.de/mailman/listinfo/tiptoi<br></body></html>