![]() |
![]() ![]() |
![]() |
-ChaChe- |
![]()
Post
#1
|
Goście ![]() |
Witam.
Chcę napisać skrypt, który wylosuje kolejno: Zestaw X (X = od 1 do 6) Z zestawu X jedną z 6 opcji W zależności jaka opcja została wylosowana, wykonuje czynność. Losowanie odbywa się z tablicy za pomocą array_rand. Przy próbie wylosowania wyświetla błąd: Kod Warning: Missing argument 1 for losuj(), called in ŚCIEŻKA DO PLIKU on line 345 and defined in ŚCIEŻKA DO PLIKU on line 148 Okolice linnie 345:
Funkcja losuj():
Gdzie namieszałem? ;> |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Musisz podać $rzucono przy wywołaniu funkcji...
|
|
|
-ChaCHe- |
![]()
Post
#3
|
Goście ![]() |
Dzięki Spawnm. Błędu już nie ma... Jednak skrypt nie działa jak należy.
Czy mógłby ktoś rzucić okiem? Wyszło mi z tego prawie 700 linijek więc boję się wrzucać na forum (IMG:style_emoticons/default/tongue.gif) Kod starałem się pisać starannie i używać tabulatorów... Jest dosyć przejrzysty, tak mi się wydaje. |
|
|
-ChaChe- |
![]()
Post
#4
|
Goście ![]() |
Albo chociaż logiczne ułożenie losowania:
Krok 1: Losowanie zestawu wyjściowego: Zestaw 1: Opcja a Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja d Opcja a Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Zestaw 2: Opcja a Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja a Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Zestaw 3: Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja d Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja c Zestaw 4: Opcja a Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja d Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Zestaw 5: Opcja a Opcja c Opcja c Opcja a Opcja d Opcja a Zestaw 6: Opcja b (losowanie ponowne z tego samego zestawu wyjściowego) Opcja c Opcja a Opcja c Opcja a Opcja d Krok 2: Losowanie z zestawu dla danej opcji: Opcja a: a b c d a b Opcja b: d c b a c d Opcja c: a a c c b b Opcja d: a c d a c d Krok 3: Losowanie z zestawu dla danej pozycji z Opcji: np. Pozycja a: 1 1 2 3 4 6 Pozycja c 1 2 2 3 3 5 Przykład wyniku losowania: Wylosowano zestaw wyjściowy nr. 3 Z zestawu wyjściowego nr. 3 wylosowano Opcję b - czyli następuje ponowne losowanie z tego samego zestawu wyjściowego. Po ponownym losowaniu wylosowano Opcję a Z Opcji a wylosowano Pozycję c Z zestawu dla Pozycji c wylosowano nr. 3. Zrobiłem to tak: Stworzyłem funkcję rzut(), w której losuję liczbę od 1 do 6. Przypisuję ją do zmiennej $rzucono. Do funkcji losuj() przekazuję zmienną $rzucono i losuję w tej funkcji zestaw wyjściowy: Jeżeli $rzucono = "1" losuję jedną z opcji z Zestawu 1. itd... Po wylosowaniu opcji z zestawu wyjściowego mam kolejne IF'y: Jeżeli $opcja = "a" wykonuję rzut(), przypisuję wynik do $rzucono, losuję jedną z pozycji z Opcji a w funkcji opcjea() do której przekazuję $rzucono. itd... Po wylosowaniu Pozycji dla danej Opcji mam kolejne IF'y: Jeżeli $pozycja = "1" wyświetlam jakiś tekst. itd... Miałem zamiar otrzymać (używając echo) taki wynik: Wylosowano zestaw wyjściowy nr. 1. Opcja: a. Pozycja b. Tekst dla pozycji b: Koniec! Jednak przy 6-ciu zestawach wyjściowych po 6 opcji każdy, gdzie unikalnych opcji we wszystkich jest 10. 5 z tych 10-ciu ma kolejne 'dzieci' - po 6 - z czego przy tych 30 'dzieciach' unikalnych jest 10. One z kolei mają kolejne 'dzieci' - także po 6 - unikalnych jest 10. W tym miejscu 'rodzina' się kończy (IMG:style_emoticons/default/smile.gif) Tak jakby lecieć palcem po drzewie genealogicznym od rodziców do dzieci i losowo wybierać 'gałęzie'. Jest na to jakiś prosty sposób? W php to rozumiem tak jak opisałem. Na JS się nie znam... :-] A może jakiś prostszy sposób z wykorzystaniem bazy SQL?? Z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:20 |