Skocz do zawartości

Zablokowane Random mi nie działa


Rekomendowane odpowiedzi

W destroy o_bot:

GML
global.los=random(4)

if global.los=1

{

instance_create(global.blastx,global.blasty,o_php)

}

if global.los=2

{

instance_create(global.blastx,global.blasty,o_pg)

}

if global.los=3

{

instance_create(global.blastx,global.blasty,o_pmk)

}

if global.los=4

{

instance_create(global.blastx,global.blasty,o_pmp)

}

 

obiekty pod losami sie nie tworzą, a gdy zrobie

GML
global.los=1 //lub dwa, lub trzy, lub cztery

to się tworzy obiekt

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

GML
switch( round(random(4)) )

{

case 1: instance_create(global.blastx,global.blasty,o_php) break;

case 2: instance_create(global.blastx,global.blasty,o_pg) break;

case 3: instance_create(global.blastx,global.blasty,o_pmk) break;

case 4: instance_create(global.blastx,global.blasty,o_pmp) break;

}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

random(x) losuje liczbę z zakresu 0<= liczba < x. Liczba może być ułamkiem, dla tego trzeba ją zaokrąglić, normalnie praktycznie zawsze ma przecinek i nigdy nie wyniesie maksymalnej liczby).

Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie. Zrób:

GML
ceil(random(4))

musi być ceil a nie round żeby nie zaokrąglało do 0 i żeby 1,2,3 i 4 miały równe szanse.

Przy round 4 by miało mniejsze szanse :P

 

EDIT:

O a najlepiej tak jak Marek.S mówi :D

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

to wystarczy choose(1,2,3,4);

co do ceil, to jest zaokrąglanie w górę, więc jak wyjdzie równo 0, to nie zaokrągli tego jako 1 :)

co do floor (o którym nikt nie pisał), to zaokrągla w dół (można skojarzyć sobie że floor to także podłoga, wiec jest na dole, pod nogami).

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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