HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Zufall - kleine Frage (https://hx3.de/editing-139/zufall-kleine-frage-17130/)

Hercules-HH 26.06.2009 14:53

Zufall - kleine Frage
 
Funktioniert das Zufallsprinzip so korrekt?

Code:

#Start
_zufall4 = random 4;
#Punkt1
~0.1
? _zufall4 < 1 : goto "Fr2p1";
? _zufall4 < 2 : goto "Fr2p2";
? _zufall4 < 3 : goto "Fr2p3";
? _zufall4 < 4 : goto "Fr2p4";
#Fr2p1
[1] exec "Skripte\Ki-West\Angriff.sqs";
~0.1
goto "Ende";
#Fr2p2
[2] exec "Skripte\Ki-West\Angriff.sqs";
~0.1
goto "Ende";
#Fr2p3
[3] exec "Skripte\Ki-West\Angriff.sqs";
~0.1
goto "Ende";
#Fr2p4
If(Wnummer == 10)then{hint "ist schon"; goto "Start"}else{hint "los"};
[4] exec "Skripte\Ki-West\Angriff.sqs";
~0.1
goto "Ende";
#Ende
exit;

Wenn die Wnummer der 10 entspricht, dann soll nochmal gewürfelt werden, also soll wieder der Zufall entscheiden, bis einer der anderen Punkte (Fr2p1 oder Fr2p2 oder Fr2p3) gewählt werden soll.

Meine Frage genau:
  • wird _zufall4 nochmal eine Zufallszahl oder bleibt sie unverändert, wenn sie einmal schon ne 4 war.
Eigentlich müsste ja der Zufall wieder entscheiden, weil das zum Start springt und Random wieder durchläuft. Oder?

Vienna 27.06.2009 20:09

Ich würde das so lösen:

Code:

#Start
_zufall4 = floor(random 4)+1;
#Punkt1
~0.1
? _zufall4 == 1 : goto "Fr2p1";
? _zufall4 == 2 : goto "Fr2p2";
? _zufall4 == 3 : goto "Fr2p3";
? _zufall4 == 4 : goto "Fr2p4";
...
...

Mit floor(random 4)+1 erhältst du ganze Zahlen von 1 bis 4.

Für den Test erstelle einen Auslöser mit

Bedingung: true

Bei Akt. folgende Zeile
Code:

null=[]spawn{_Ges=0;_Z1=0;_Z2=0;_Z3=0;_Z4=0;while{true}do{_Ges=_Ges+1;_Zahl=floor(random 4)+1;switch(_Zahl)do{case 1:{_Z1=_Z1+1};case 2:{_Z2=_Z2+1};case 3:{_Z3=_Z3+1};case 4:{_Z4=_Z4+1}};hint format["Gesamt: %1\n\n1: %3\n2: %4\n3: %5\n4: %6",_Ges,_Z0,_Z1,_Z2,_Z3,_Z4];sleep 0.001}}
Da siehst du in der Hint-Ausgabe die korrekte Verteilung der Zufallszahlen von 1 bis 4.

Eine vorherige Zufallszahl hat keinen Einfluss auf die nächste Zufallszahl. Es kann die gleiche Zahl mehrmals hintereinander kommen.

Hercules-HH 27.06.2009 21:23

danke,

Nun hab ich das so fertig gemacht, aber ich änder das mal später.

War mir da unsicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119