[Tiptoi] Random Funktion

andi aaaaandi at gmail.com
Do Apr 16 11:54:07 CEST 2015


Hi,

in meiner Random Funktion habe ich noch einen kleinen Fehler entdeckt.

Da die Werte der Variablen im Tiptoi 16bit unsigned Integer sind, sollten
die Multiplikations Ergebnisse unter 2^16 bleiben.
Um in der Funktion eine maximale Zahlenreihe (1 bis 768) zu erlangen, habe
ich jetzt den Wert 83 gewaehlt. Diesen Wert habe ich mit einem
LCG-Zufallszahlengenerator ermittelt:
http://www.vias.org/simulations/simusoft_lincong.html

Der geaenderte Code fuer die random Funktion sieht dann so aus:

# $maxn=6:
# 769 = 6 * 128 + 1 ==> Ergebnis-1 einfach durch 128 teilen => Reihe 0 bis 5
# since we are using 16bit unsigned integers, max equation result should be
lower than 2^16
# b * 768 <= 2^16
# --> b <= 85
# --> reasonable numbers for b: 69 70 71 73 78 83
# x[i]=(0+83*x[i-1]) mod 769; x[1]=1
random:
- $n*=83 $n%=769 J(zahl) # pseudo random number 1 to 768

 LG,
Andi.


Am 13. April 2015 um 07:04 schrieb stephan schewe <MacDaxter at web.de>:

> also J ist der Jumpbefehl, zum springen zur gewünschten OID.
>
> Mfg
>
> *Gesendet:* Montag, 13. April 2015 um 06:50 Uhr
>
> *Von:* "Leon Gotpc" <leon.gotpc at gmail.com>
> *An:* "Die Mailingliste für Tiptoi-Bastler" <tiptoi at lists.nomeata.de>
> *Betreff:* Re: [Tiptoi] Random Funktion
>
> Danke für den Code aber was bedeutet J (seed)
>                  J (Random)
> Welcher Befehl ist J?
>
> Viele Grüße
> Gotpc
> Am 12.04.2015 18:53 schrieb "stephan schewe" <MacDaxter at web.de>:
>>
>>
>> Also dies ist nur die reine Würfelfunktion,
>>
>> wuerfel_start: # Start-OID zum Würfelbeginn
>>   J(seed)
>>   # Pseudo Random Numbers
>>   ########################
>>   #
>>   seed: # wiederholt $n bis eine andere OID berührt wird
>>   - $n<768? $n+=1 P(leer) J(seed) # P(leer) bestimmt die zähler
>> geschwindigkeit
>>   - $n:=1 J(seed)
>>   # $maxn=6:
>>   # 769 = 6 * 128 + 1 ==> Ergebnis-1 einfach durch 128 teilen => Reihe 0
>> bis 5
>>   # reasonable numbers for b: 115 187 202
>>   # x[i]=(0+202*x[i-1]) mod 769; x[1]=1
>>   random:
>>   - $n*=202 $n%=769 J(zahl) # pseudo random number 1 to 768
>>   zahl: # 0-5
>>   - $zahl:=$n $zahl-=1 $zahl/=128 J(zahl_1)
>>   zahl_1:
>>   - $zahl==0? P(eins) J(wuerfel_start)
>>   - $zahl==1? P(zwei) J(wuerfel_start)
>>   - $zahl==2? P(drei) J(wuerfel_start)
>>   - $zahl==3? P(vier) J(wuerfel_start)
>>   - $zahl==4? P(fuenf) J(wuerfel_start)
>>   - $zahl==5? P(sechs) J(wuerfel_start)
>>   - P(fehler)
>>   wuerfel: # virtuelles würfelfeld
>>   J(random)
>>
>> Mfg
>>  *Gesendet:* Sonntag, 12. April 2015 um 17:20 Uhr
>> *Von:* "Leon Gotpc" <leon.gotpc at gmail.com>
>> *An:* "Die Mailingliste für Tiptoi-Bastler" <tiptoi at lists.nomeata.de>
>> *Betreff:* Re: [Tiptoi] Random Funktion
>>
>> Kann mir jemand sagen wie diese Variante vom Olchispiel geht oder nen
>> link dazu schicken?
>>
>> Viele Grüße
>> Gotpc
>> Am 12.04.2015 12:53 schrieb "stephan schewe" <MacDaxter at web.de>:
>>>
>>>  Also ich habe für ein kleines Würfelspiel, die Seedvariante von dem
>>> Olchispiel benutzt (Vielen Dank für den Code!) die variante funtioniert
>>> einwandfrei und ist auch nicht schwer zu verstehen bzw. wo anders zu
>>> implementieren, man benötigt nur eine OID dafür und man kann sie dadurch
>>> besser anpassen anstatt viele kleine oid´s nebeneinander zu ordnen. Das mit
>>> den Batterien rausnehmen kann auch bei Anderen Aufgaben passieren, wenn man
>>> ausversehn eine Endlosschleife irgendwo einbaut durch einen
>>> Variablenzähler, der dann keine Übereinstimmung mit den Spielregistern hat,
>>> aber eigentlich lässt sich der stift durch langes drücken immer ausschalten
>>> egal wo er gerade hängt.
>>>
>>>
>>> Mfg
>>>  *Gesendet:* Samstag, 11. April 2015 um 20:55 Uhr
>>> *Von:* "Daniela Tovar" <daniela.tovar at gmx.de>
>>> *An:* "Die Mailingliste für Tiptoi-Bastler" <tiptoi at lists.nomeata.de>
>>> *Betreff:* Re: [Tiptoi] Random Funktion
>>>  Dafür gibts drei Varianten.
>>>
>>> Variante A: diese habe ich nicht richtig verstanden, allerdings hat mir
>>> an der Beschreibung nicht gefallen, dass es hiess, man muss zur Not dem
>>> Stift die Batterien raus nehmen. Diese hatte hier in der Mailingliste
>>> jemand implementiert für das Olchis-Fussball-Spiel.
>>>
>>> Variante B: Die OIDs für Zahlen 1-6 jeweils einmalig nebeneinander zu
>>> klatschen, sodass dann eine kleine Fläche gleichmäßig mit den 6 OIDs
>>> bedruckt ist: ABCDEFABCDEFABCDEF... Dann ist es Zufall, wenn man den Stift
>>> auf diese kleine Fläche hält, welche OID erkannt wird.
>>>
>>> Variante C: wird von Ravensburger benutzt, ist eine echte
>>> Zufallsfunktion, wir wissen noch nicht, wie sie funktioniert
>>>
>>> 2015-04-11 20:29 GMT+02:00 Leon Gotpc <leon.gotpc at gmail.com>:
>>>>
>>>> Weiß jemand wie man eine Random funktion im tttool erstellen kann? Ich
>>>> arbeite an einem Spiel wie Hundred Doors und bei sowas wäre das extrem
>>>> wichtig.
>>>> Gruß Gotpc
>>>>
>>>> --
>>>> tiptoi mailing list
>>>> tiptoi at lists.nomeata.de
>>>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>>>>
>>>
>>>
>>>
>>>
>>> --
>>> Daniela Tovar
>>> August-Metz-Weg 5
>>> 64297 Darmstadt Eberstadt
>>> 06151/6790212
>>>  -- tiptoi mailing list tiptoi at lists.nomeata.de
>>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>>>
>>> --
>>> tiptoi mailing list
>>> tiptoi at lists.nomeata.de
>>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>>>
>>
>>  -- tiptoi mailing list tiptoi at lists.nomeata.de
>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>>
>> --
>> tiptoi mailing list
>> tiptoi at lists.nomeata.de
>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>>
>
>  -- tiptoi mailing list tiptoi at lists.nomeata.de
> https://lists.nomeata.de/mailman/listinfo/tiptoi
>
> --
> tiptoi mailing list
> tiptoi at lists.nomeata.de
> https://lists.nomeata.de/mailman/listinfo/tiptoi
>
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.nomeata.de/pipermail/tiptoi/attachments/20150416/be7096df/attachment.htm>


Mehr Informationen über die Mailingliste tiptoi