Skocz do zawartości

losowanie obiektów bez powtarzania...


Rekomendowane odpowiedzi

jak wyżej... chodzi o to żeby co 2 sekundy pojawiał się na ekranie losowy obiekt ale potem nie może się już powtórzyć - kombinowałem jak mogłem ale za każdym razem niepożądany efekt :( aha i jak już pokażą się wszystkie obiekty (jest ich ok. 70) to żeby wyświetlił się komunikat... proszę o pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

Problem rozwiązany;) błąd polegał na tym że użyłem złej funkcji - zamiast instance_exists to object_exists - i tym sposobem program się zapętlał :P kod wygląda tak:

GML
for(i=1; i<2; i+=1)

{

obiekt=choose(obiekt1,obiekt2,...);//wszystkie obiekty z których losujemy

if (instance_exists(obiekt))

{

i-=1;//powtórzenie pętli

}

}

 

instance_create(x,y,obiekt);

 

Jak są jeszcze jakieś uwagi to piszcie;)

Odnośnik do komentarza
Udostępnij na innych stronach

Wrzucasz obiekty na jedną listę, później losujesz jedną z pozycje, tworzysz obiekt i kasujesz go z listy, albo oznaczasz jako stworzony. Później trzeba tylko sprawdzić czy wszystkie obiekty zostały stworzone - najlepiej po przez nadanie im jednego rodzica i ich policzenie.

 

Po za tym ten kod jest zły. =P

GML
do {

obj = choose( obiekt1, obiekt2, ... );

}

until( instance_exists( obj ) );

 

instance_create( x, y, obj );

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...