Skocz do zawartości

Losowanie kolejki wrogow


Paqoo

Rekomendowane odpowiedzi

Chce stworzyc przeskakiwanie kamery w turze danego wroga. Czyli porusza sie wrog, kamera na niego centruje. Pozniej kolejny itp.

 

Wydaje mi sie, ze trzeba ustalic numer przy create i pozniej sprawdzac w stepie tej akcji ruchu, czy taki przeciwnik ma punkty akcji, a nastepnie ruszac. Pozniej kolejny, az do konca kolejki = instance_number(przeciwnik).

 

Jak to zapisac w create? Powinno jakos wykluczac te numery, ktore sa wylosowane. Zeby nie losowalo takich samych, bo sie popsuje. Musza byc unikalne. Jak to zapisac matematycznie? Zastanawiam sie wlasnie nad tym, ale moze ktos bedzie szybszy.

 

Edit godz. 21: To chyba bedzie tablica.

 

GML
numer[instance_number(oPrzeciwnik)]=round(random(instance_number(oPrzeciwnik))) //losuje numer jednostki, nalezy pomijac pozostale ktore sa wylosowane

if global.numer[]!=numer[]{global.numer[]=numer[]}else{numer[instance_number(oPrzeciwnik)]=round(random(instance_number(oPrzeciwnik)))}

 

Pewnie cos jest nie tak, tablice sa przeze mnie uzywane dosyc rzadko. Nie pamietam jak to lecialo... W drugiej linijce dac repeat? Ma to sens? Jest jakis prostszy sposob?

Odnośnik do komentarza
Udostępnij na innych stronach

GML
__temp = ds_list_create()

for(i=0;i<instance_number(oPrzeciwnik);i+=1)

{

ds_list_add(__temp,instance_find(oPrzeciwnik,i))

}

ds_list_shuffle(__temp)

Tak robisz listę zawierającą losowo ułożone ID przeciwników. To jak je wykrozystasz tak niewyraźnie wyplułeś, w tym poście, że to max jakie można Ci dać. Mamnadzieję, że wiesz jak tego użyć.

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ę...