Symulator EU07 (i nie tylko) > Pomoc w tworzeniu
Losowanie zdarzeń z jednakowym prawdopodobieństwem
Benek:
Quark, oba te eventy są ok.
Przejechałem raz jeszcze. Teraz załączył się sam event krosowo1 i wszystko poszło poprawnie. Jak mam przesłać loga? Waży za dużo.
Coś jednak jest nie halo z tymi zdarzeniami prawdopodobieństwa. Wcześniej przelatuję przez dwie stacje i mimo, że mam ustawione po dwa alternatywne zdarzenia dla każdej ze stacji, z prawdopodobieństwem 0,5, to jednak ciągle się wywołują te same: rabinow1 i malelasy1, fragment kodu:
--- Kod: ---// wartość cell1 = * * 1
event rabinow1 multiple 0.0 none
rabinow_q_s5
change2_cell1
condition propability 0.5 endevent
event change2_cell1 updatevalues 0.0 cell1 * * 2 endevent
event rabinow2 multiple 0.0 cell1
rabinow_q_s2
rabinow_h_s2
change3_cell1
condition memcompare * * 1 endevent
event change3_cell1 updatevalues 0.0 cell1 * * 3 endevent
event rabinow3 multiple 0.0 cell1
rabinow_h_s2
change3_cell1
condition memcompare * * 2 endevent
//wartość cell1 = * * 3
event malelasy1 multiple 0.0 none
malelasy_b3_s5
change4_cell1
condition propability 0.5 endevent
event change4_cell1 updatevalues 0.0 cell1 * * 4 endevent
event malelasy2 multiple 0.0 cell1
malelasy_b3_s2
malelasy_b2_s2
change0_cell1
condition memcompare * * 3 endevent
event malelasy3 multiple 0.0 cell1
malelasy_b2_sz1
change0_cell1
condition memcompare * * 4 endevent
event change0_cell1 updatevalues 0.0 cell1 * * 0 endevent
--- Koniec kodu ---
rabinow3 i malelasy3 są kontynuacjami rabinow1 i malelasy1. Natomiast wywołały się alternatywne zdarzenia wtedy, gdy w propability ustawiłem zera. Czyli zachodzą, ale jakoś na 10 odpaleń scenariusza ani razu nie chciały zaskoczyć, gdy były na 0,5...
AtapiCl:
--- Cytat: Benek w 13 Kwietnia 2011, 22:37:26 ---Przed chwilą załączyły mi się dwa eventy na raz: krosowo1 oraz krosowo3.
--- Koniec cytatu ---
No... A wg Ciebie jak powinno być?
Ra:
--- Cytat: Benek w 14 Kwietnia 2011, 00:01:36 ---Jak mam przesłać loga? Waży za dużo.
--- Koniec cytatu ---
Tylko od wyzwolenia pierwszego eventu do wykonania ostatniego z interesujących.
Benek:
--- Cytat: ZiomalCl w 14 Kwietnia 2011, 00:16:26 ---No... A wg Ciebie jak powinno być?
--- Koniec cytatu ---
Krosowo1 powinno się załączyć, a krosowo3 już nie. Dlatego, że krosowo1 zmienia wartość w komórce. Poza tym raz mi się załączyło samo krosowo1, a raz oba. Jak to wytłumaczysz?
Wiesz do czego dążę, więc jak możesz to powiedz mi co jest źle po prostu. Sam sugerowałeś mi takie rozwiązanie tego problemu. Widać diabeł tkwi w szczegółach.
W załączeniu log.
--- Cytuj ---Jak to wytłumaczysz?
--- Koniec cytatu ---
Chyba jedynie tak, że krosowo tak czy siak uruchomi każdy z subeventów... Tylko dlaczego zabezpieczenie komórką nie pomaga? Nie powinno być tak, że zdarzenia uruchamiają się po kolei? Najpierw krosowo1, potem wszystkie jego subeventy, następnie krosowo2, itd. ?
AtapiCl:
Mistrzu, a kiedy wg Ciebie zmienia się wartość tej komórki? Bo chyba się pomyliłeś... Pozostałe eventy uruchomią się przed zmianą tej wartości. Wywołany taki event od razu dodaje się na koniec kolejki (EVENT ADDED TO QUEUE). I dopiero jak ta kolejka dojdzie do tego eventu, to on się wykona. A te poprzednie eventy stoją w kolejce przed updatem komórki.
To zadziała tylko wtedy, gdy pozostałe eventy (krosowo2,3) mają zwłokę czasową (z tym, że zwłoka każdego kolejnego eventu musi być wyższa od poprzedniego).
Nawigacja
[#] Następna strona
Idź do wersji pełnej