Skocz do zawartości

Losowe pojawianie sie przeciwników


BlueCraft

Rekomendowane odpowiedzi

Witam wszystkich. Z GM pracuje ok.2 lata. Od razu mówie że mam GM7.

 

 

Ostatnio włączyłem tryb zaawansowany(wcześniej nie wiedziałem że taki istnieje:P) i znów zacząłem robić proste mini gierki.

Wziąłem się za Shootera. Wymyśliłem go tak:

 

PPPPPPPPPPPPPPPPPPPPPPP

 

 

 

 

 

 

 

 

 

BBBBBBBBBKKKBBBBBBBBB

BBBBBBBBBBBBBBBBBBBBB

 

 

 

B=Jakiś budynek, którego będziemy strzec

K=Karabin

P=Miejsca pojawiania sie przeciwników.

 

I problem jest taki, że nie mam zielonego pojęcia, jak zrobić żeby Przeciwnicy pojawiali się w losowych odstępach czasu!

 

Dało by to taki efekt, że gracz nie wiedziałby gdzie pojawi sie przeciwnik:D

 

Potem zrobię wersje 2, w której budynek będzie na środku, karabin na budynku, a przzeciwnicy będą nacierać ze wszystkich stron świata:D

 

Z góry dziękuje za odpowiedzi:D

 

Pozdr.

 

BlueCraft

Odnośnik do komentarza
Udostępnij na innych stronach

jak rozumiem, dasz do rooma - dajmy na to - 10 obiektów, w miejscu których mają pojawiać się przeciwnicy - tzw. spawn

w eventach create i alarm0 takiego obiektu dajesz ten kod, który podałem

w alarm[0] tego samego obiektu dodajesz też kod na tworzenie instancji obiektu przeciwnika, tj.

GML
instance_create(x,y,oPrzeciwnik)

gotowe.

Odnośnik do komentarza
Udostępnij na innych stronach

Wstaw obiekt Obj_Alarm do room'a i daj taki kod do create:

 

GML
alarm[0]=random_range(1,600) //Ustawiasz czas alarmu o indeksie 0 na losowy z zakresu 1-600(wartości możesz zmienić)</span>

 

taki kod do alarm[0]

 

GML
instance_create(random_range(1,608), 0, Obj_Wrog) //Obiekt tworzy Ci się w miejscu na planszy w wylosowanym od 1 do 608 x(możesz sobie zmienić), a także y równym 0(możesz sobie zmienić) i oczywiście zamiast Obj_Wrog wpisujesz swoją nazwę dla obiektu przeciwnika

alarm[0]=random_range(1,600) //Ustawiasz czas alarmu o indeksie 0 na losowy z zakresu 1-600(wartości możesz zmienić)</span>

 

To Ci chyba wystarczy! Pozdro i wesołych świat :D.

Odnośnik do komentarza
Udostępnij na innych stronach

Wszystkie jełopy zapominają że seed losowania jest stały jeśli nie pobierzesz nowego(aka twoje losowanie nie jest tak losowe jak bys chcial i pojawiaja sie w zauwazalnych schematach).

Przed kazdym randomowaniem dawaj

GML
randomize()

To tak apropo jakby cie zastanawialo zrobienie z tego mniejszego crapa niz bedzie.

Odnośnik do komentarza
Udostępnij na innych stronach

Z dokumentacji GM:S

 

"This function sets the seed to a random value.

 

Note : Even this is affected by the seed! If you set the seed, randomized it, then set the seed back again and randomized again, both randomizations would result in the same seed."

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