Rafep Opublikowano 4 Kwietnia 2019 Udostępnij Opublikowano 4 Kwietnia 2019 Cześć! Ostatnio użyłem w mojej grze funkcji: irandom_range(0, 15); Tylko, że wynik zawsze jest równy 0. Próbowałem też użyć na początku kodu funkcji: randomize(); ale też nie działa... Wie ktoś jak to naprawić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 4 Kwietnia 2019 Udostępnij Opublikowano 4 Kwietnia 2019 Jaką wersję GameMakera używasz? Bodajże wersja 1.4 miała jakieś problemy z losowaniem liczb. Może ktoś bardziej obeznany wie coś więcej na ten temat. PS. Funkcję randomize(); musisz wywołać tylko raz, może w create jakiegoś obiektu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rafep Opublikowano 4 Kwietnia 2019 Autor Udostępnij Opublikowano 4 Kwietnia 2019 Tak, używam wersji właśnie GM:S 1.4. A funkcji randomize(); używam właśnie w create obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus7 Opublikowano 4 Kwietnia 2019 Udostępnij Opublikowano 4 Kwietnia 2019 Pokaż troszkę więcej kodu, gdzie używasz funkcji irandom_range, może gdzie indziej jest błąd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rafep Opublikowano 4 Kwietnia 2019 Autor Udostępnij Opublikowano 4 Kwietnia 2019 Proszę: if global.generator = true { generator = false; if distance_to_object(obj_biom_pustynia) < 500 { los = irandom_range(0, 4); if los < 4 { if pustynia > 0 { instance_create(x, y, obj_biom_pustynia); pustynia -= 1; generator = true; } } } if generator != false { los = irandom_range(0, 15); if los < 15 { instance_create(x, y, obj_biom_trawa); pustynia += 1; } if los = 15 { if pustynia > 0 { instance_create(x, y, obj_biom_pustynia); pustynia += 1; } else { instance_create(x, y, obj_biom_trawa); pustynia += 1; } } } instance_create(x, y, obj_biom_trawa); x += pixels_beetween_biomes; if x > room_width / pixels_beetween_biomes * pixels_beetween_biomes { if y > room_height / pixels_beetween_biomes * pixels_beetween_biomes { global.generator = false; } else { y += pixels_beetween_biomes; x = pixels_beetween_biomes; } } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus7 Opublikowano 4 Kwietnia 2019 Udostępnij Opublikowano 4 Kwietnia 2019 Well, nie mam pojęcia, wszystko wygląda ok. Możesz spróbować zapisać to inaczej. Może coś się koliduje z poprzednim los = irandom_range(0, 4); var _los = irandom_range(0, 15); if(_los < 15) { instance_create(x, y, obj_biom_trawa); pustynia += 1; } Możesz jeszcze spróbować zrestartować gm'a :V Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Kwietnia 2019 Administratorzy Udostępnij Opublikowano 5 Kwietnia 2019 W dokumentacji jest opisane, że jak testujesz grę, to zawsze ziarno jest ustawiane na takie samo, zeby łatwiej było debugować. Musisz dać randomize() w create i powinno działać. Oczywiście, zamiast testować swój długi kod, wystarczy randomize(); show_debug_message(irandom_range(0,12)); I odpalić grę parę razy dla pewności. Jak będą inne, to wszystko działa. Btw, sprawdź czy używasz wersji 1.4.9999 - ale pamiętaj, że GMS 1.4 nie jest już wspierany od niemal roku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 5 Kwietnia 2019 Udostępnij Opublikowano 5 Kwietnia 2019 Tak nie w temacie losowości to dostrzegłem tutaj błąd logiczny że blok: if generator != false { los = irandom_range(0, 15); if los < 15 { instance_create(x, y, obj_biom_trawa); pustynia += 1; } if los = 15 { if pustynia > 0 { instance_create(x, y, obj_biom_pustynia); pustynia += 1; } else { instance_create(x, y, obj_biom_trawa); pustynia += 1; } } } Nigdy się nie wykona bo wyżej zawsze ustawiasz generator = false gnysek 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rafep Opublikowano 5 Kwietnia 2019 Autor Udostępnij Opublikowano 5 Kwietnia 2019 @I am Lord Ty. Faktycznie xD Właśnie odkryłem jak głupi jestem. @gnysek Mam GM:S 1.4.1804. Dlaczego? Bo nie wiem gdzie pobrać 1.4.9999. Serio. Gdzie można to pobrać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Kwietnia 2019 Administratorzy Udostępnij Opublikowano 5 Kwietnia 2019 Przejdź na kanał beta w zasobniku przy zgearze, na ikonie GMS. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się