![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 2 Dołączył: 22.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem. Mianowicie chodzi o wylosowanie zdarzenia oparte o szansę.
Mamy obsługę samochodu, gdy obsługa danego kierowcy jest 0 to losuje się przy tym 1..10 i przyjmijmy że wylosowano liczbę 2. (mowa tu o %) Następnie pod zmienną $rand stawiam rand(1,100) i w przypadku wylosowania liczby <= 2 ma nastąpić jakieś negatywne zdarzenie. Jednak takie coś jest nie zgodne z prawdą, bo szansa i tak w tedy wyjdzie więcej niż te 2%... trochę to chaotycznie napisane więc przedstawiam kod...
Chodzi ogólnie obsługa polega na tym, że wyznacza ile % szans jest na ominięcie np. przeszkody itp. Proszę o pomoc, bo te obliczenia nie są w ogóle dobre... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Przecież twój sposób liczenia szansy jest poprawny.
Ten post edytował smietek 18.12.2010, 12:57:33 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 2 Dołączył: 22.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest poprawny, bo skoro mam 2% na ominięcie przeszkody to przy takim losowaniu cały czas praktycznie przeszkoda była by omijana.
Już sobie poradziłem, dla innych którzy będą mieli podobny problem. Wystarczy od 100 odjąć wylosowany %. Np.:
Ten post edytował Kasat 18.12.2010, 13:37:34 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Nie jest poprawny, bo skoro mam 2% na ominięcie przeszkody to przy takim losowaniu cały czas praktycznie przeszkoda była by omijana. Skoro szansa na zdarzenie jest 2% (czyli 2, trzeba pomnożyć % tak żeby wyszedł integer), a $zdarzenie_negatywne przyjmuje wartości od 1 do 100, to znaczy, że tylko dwie liczby spełniają zależność $zdarzenie_negatywne <= $obsluga, 1 i 2. Gdy system wylosuje jakąkolwiek inną, zdarzenie nie występuje (tylko liczby 1 i 2 są mniejsze lub równe 2) Ten post edytował smietek 18.12.2010, 13:46:42 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:43 |