Symulator EU07 (i nie tylko) > Pomoc w tworzeniu
Losowanie zdarzeń z jednakowym prawdopodobieństwem
Benek:
--- Kod: ---//wartość cell1 = * * 0
event krosowo multiple 0.0 none
krosowo1
krosowo2
krosowo3
krosowo_losuj
endevent
event krosowo1 multiple 0.0 cell1
krosowo_1
condition memcompare * * 0 endevent
event krosowo_1 multiple 0.0 none
krosowo_zwr13-
krosowo_o_s13
change1_cell1
condition propability 0.3 endevent
event krosowo4 multiple 0.0 cell1
krosowo-wyjazd_j_s2
condition memcompare * * 1 endevent
event krosowo2 multiple 0.0 cell1
krosowo_2
condition memcompare * * 0 endevent
event krosowo_2 multiple 0.0 none
krosowo_zwr13-
krosowo_o_s10
krosowo-wyjazd_j_s2
change2_cell1
condition propability 0.3 endevent
event krosowo3 multiple 0.0 cell1
krosowo_3
condition memcompare * * 0 endevent
event krosowo_3 multiple 0.0 none
krosowo_zwr04a-
krosowo_zwr06a-
krosowo_o_s4
krosowo-wyjazd_k_s10
change2_cell1
condition propability 0.3 endevent
event krosowo_losuj multiple 0.0 cell1
krosowo
condition memcompare * * 0 endevent
--- Koniec kodu ---
Siedzę już kolejną godzinę i kombinuję z ideą losowania. Coś jest nadal nie tak. Przed chwilą załączyły mi się dwa eventy na raz: krosowo1 oraz krosowo3. krosowo4 jest tylko przedłużeniem krosowo1.
--- Cytuj ---changex_cell1
--- Koniec cytatu ---
oznacza, że w komórkę cell1 wpisujemy wartość * * x.
Quark-t:
Zapewne nic to nie da, ale (z matematycznego punktu widzenia) prawdopodobieństwa nie sumują Ci się do 1 (tak ma być?)
Co masz w changeX_cell?
Benek:
Nie, to nie ma znaczenia. Ten zapis mówi tylko tyle, że jak exe (czy co to tam liczy) wylosuje <0.3, a losuje na przedziale [0,1], to event się wykona. Mam też inne eventy, np.:
--- Kod: ---event KeyCtrl01 multiple 10.0 none
dzierzawa1
dzierzawa2
dzierzawa_zwr01-
endevent
event dzierzawa1 multiple 0.0 none
change1_cell1
dzierzawa_zwr01-
dzierzawa_o02_sz1
condition propability 0.5 endevent
event dzierzawa2 multiple 0.0 cell1
dzierzawa_zwr01-
dzierzawa_o02_s10
change1_cell1
condition memcompare * * 0 endevent
--- Koniec kodu ---
I w tym przypadku wywołuje się poprawnie raz S10, raz zastępczy, mimo że sumuje się P(A) do 0,5.
Libertyn zasugerował, że można dać opóźnienia czasowe. Jednak z tego co ja wiem, nic to nie powinno dać, gdyż eventy się wykonują po kolei.
--- Cytuj ---event change1_cell1 updatevalues 0.0 cell1 * * 1 endevent
--- Koniec cytatu ---
Quark-t:
Mnie bardziej chodziło o to, że wykonały Ci się dwa na raz, mimo iż jest memcompare. Stąd pytanie o ten changex_cell (w jednym masz change1_cell1, a w drugim i trzecim change2_cell1, czy oba te eventy są ok).
Ra:
A możesz dać log z tego, co się źle wykonuje?
Nawigacja
[#] Następna strona
Idź do wersji pełnej