Skocz do zawartości

Sprawdzanie przedziału liczb


tomalas

Rekomendowane odpowiedzi

Jest jakiś szybki sposób w gml'u na sprawdzenie czy wartość znajduje sie w jednym z dwóch przedziałów liczbowych?

 

Chce sprawdzić czy wartość jest w przedziale liczbowym zwraca mi prawdę że jest albo fałsz że nie należy do przedziału... ;)

 

Ogólnie chodzi mi o sprawdzenie czy gracz patrzy w prawa stronę czy lewa... a problem jest w tym ,że prawa strona to direction od 0 do 90 i od 270 do 360 to co podał Yoda jest dobre ale myślałem ,że jest prostszy sposób na to a chce żeby kod był jak najlepiej zoptymalizowany

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if(direction < 90 && direction < 270)

{

image_index = 1;

}

else if(direction > 90 && direction < 270)

{

image_index = 0;

}

 

Wyjęte z mojej aktualnej gry ;-)

 

Ja mam regułę pisać kod jak najprzejrzyściej umiem - tabulatory niemal wszędzie, czasem nawet jakiś komentarz.....

 

Przerób se troche i będziesz miał własną funkcję ;-) return false czy tam true i cacy :D

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if(direction < 90 && direction < 270)

{

image_index = 1;

}

else if(direction > 90 && direction < 270)

{

image_index = 0;

}

 

Wyjęte z mojej aktualnej gry ;-)

 

Ja mam regułę pisać kod jak najprzejrzyściej umiem - tabulatory niemal wszędzie, czasem nawet jakiś komentarz.....

 

Przerób se troche i będziesz miał własną funkcję ;-) return false czy tam true i cacy :D

 

w tym pierwszy if to sie pomyliles bo wiadomo ze jak jest <90 to jest i <270 ;))

Odnośnik do komentarza
Udostępnij na innych stronach

sprawdzanie, czy liczba należy do przedziału liczbowego jest troche bardziej złożone :D sprawdź ten skrypcik, nie wiem czy działa ale powinien xD

 

GML
/*

arg0 - liczba do sprawdzenia

arg1 - liczba1 ( lewa strona ) nie wiem jak inaczej napisac;)

arg2 - czy liczba1 nalezy do przedzialu ? (0/1)

arg3 - liczba2 ( prawa strona )

arg4 - czy liczba2 nalezy do przedzialu ? (0/1)

*/

 

if argument2 and argument4

{

if argument0 >=argument1 && argument0 <= argument3

{ return true } else { return false }

}

 

if ! argument2 and ! argument4

{

if argument0 > argument1 && argument0 < argument3

{ return true } else { return false }

}

 

if ! argument2 xor ! argument4

{

if ! argument2 {

if argument0 > argument1 && argument0 <= argument3 { return true }

else { return false }

}

else {

if argument0 >= argument1 && argument0 < argument3 { return true }

else { return false }

}

}

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