Skocz do zawartości

losowanie nie działa poprawnie


Rekomendowane odpowiedzi

Witam. Mój problem polega na tym że chcę, aby obiekt po wciśnięciu myszy tworzył się w którymś z 13 miejsc które sobie określiłem i program ma losować w którym. Próbowałem to robić z random(). Wyglądało to tak, że napisałem sobie zmienna=random(13) i do każdego przypadku robiłem if zmienna==ileś xx=ileś yy=ileś a potem instance_create(xx,yy,obiekt) ale game maker twierdził że nie zna zmiennych xx i yy. Próbowałem też instance_create(choose(tutaj napisałem wszystkie miejsca x),choose(tutaj wszystkie y) ,obiekt) ale w tym przypadku on mi tworzy ten obiekt we wszystkich 13 miejscach. Może mi ktoś wyjaśnić co robię źle?

Odnośnik do komentarza
Udostępnij na innych stronach

GML
switch(round(random(13)))

{

case 0:{instance_create(x,y,bzium);}

case 1:{instance_create(x,y,bzium);}

case 2:{instance_create(x,y,bzium);}

case 3:{instance_create(x,y,bzium);}

...

}

 

random zwraca ulamek nalezy dodac round(random(x)) lub floor()

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

GML
switch(round(random(13)))

{

case 0:{instance_create(x,y,bzium);} break;

case 1:{instance_create(x,y,bzium);} break;

case 2:{instance_create(x,y,bzium);} break;

case 3:{instance_create(x,y,bzium);} break;

...

}

ktoś zjadł break :) Wtedy switch przeleci wszystko :) (To zarówno wada jak i zaleta, zależy od przypadku).

 

W GM8 można też napisać

GML
switch( irandom(13) )
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ę...