Skocz do zawartości

Funkcja "IF"


Dangon

Rekomendowane odpowiedzi

A wiec mam taki problem.

 

Chce zrobic tak ze jezeli direction bedzie malalo (lub roslo) to wykona sie jakas tam akcja.

Ja prowalem czegos takiego:

if direction -= 0.1
{
jakas tam akcja
}

Jednak to nie dziala, wyskakuje blad (w programie, bo w grze nie sprawdzalem).

I teraz mam pytanie czy da sie jakos inaczej to zapisac?

Odnośnik do komentarza
Udostępnij na innych stronach

Chyba wiem o co ci chodzi

ja bym to zrobił tak

 

W create

dir=0

 

W steps’ah

if keyboard_check_pressed (vk_left) // na przykład gdy player wciśnie w lewo
{
dir=1
}
else if keyboard_check_pressed (vk_right)
{
dir=2
}

if dir=1
{
direction-=2
// I tu akcja którą chcesz wykonać
}
else if dir =2
{
direction+=2
// I tu akcja którą chcesz wykonać
}

2 sposób gdy chcesz by tylko raz zadziałało to coś (gdy direct maleje lub rośnie)

 

W create

dir=0
ras=0

 

W steps’ah

if keyboard_check_pressed (vk_left) // na przykład gdy player wciśnie w lewo
{
dir=1
ras=1
}
else if keyboard_check_pressed (vk_right)
{
dir=2
ras=2
}

if dir=1
{
direction-=2
}
else if dir =2
{
direction+=2
}

if ras=1
{
// I tu akcja którą chcesz wykonać
ras=0
}
else if ras=2
{
// I tu akcja którą chcesz wykonać
ras=0
}

Odnośnik do komentarza
Udostępnij na innych stronach

Więc po pierwsze: zwykle nie daje się w funkcji "if" czegoś takiego jak "-=" albo "+=" bo do tego trzeba użyć np. pętli albo innych warunków ale nie będę się o tym rozpisywał.

Po drugie:

@UP: hmm, niezbyt to zawiłe, żeby to wpisywać...? a nie prościej:

 

if direction == <kąt w stopniach>
{
direction -= (od 0 do 360)
}

 

To jest dużo prostsze, jeśli właśnie o to wam chodziło.

 

@down:

ahh, no jasne xD Przeoczylem, mialem na myśli inne direction, ahh, ten mały błąd x/ Już poprawiłem.

Odnośnik do komentarza
Udostępnij na innych stronach

Po drugie: jeśli pisząc "direction" masz na myśli zmienną programową, to nie możesz od niej odjąc liczb ułamkowych, jak 0.1, bo direction ma określone wartości od 0 do 9.

 

No przeciez direction to kat a maksymalny kat to 360 stopni. No to jak od 0 do 9? Mozna wpisac od 0 do 360...

 

Nikt mi nie pomogl ale to nie szkodzi. Ja robie inteligencje kompa i musze cos pokombinowac z tym... Ale dzisiaj to jakos glowy do tego nie mam. :jezor:

 

A temat zamykam.

Odnośnik do komentarza
Udostępnij na innych stronach

Kod jest taki sam jak do gracza "zywego". Jedynie chce zmienic ze zamiast "if left_button_pressed" bedzie "if direction += 1"... Ma byc ten sam efekt tylko ze on ma sam wiedziec kiedy skreca (czyli kiedy zmienia mu sie direction). Jezeli direction mu sie zwieksza (czyli u gracza "zywego" naciskalby strzalke w lewo), to wykonuje sie jakas akcja. Jezeli direction mu sie zmniejsza to wykonuje sie zupelnie inna akcja.

 

No inaczej nie da rady tego wyjasnic.

Odnośnik do komentarza
Udostępnij na innych stronach

W scigalce to sie chyba nie sprawdzi. No chyba ze bym stworzyl obiekty gdzie komputer by jechal w strone pierwszego a jak nastapi miedzy nimi kolizja to bedzie jechal to kolejnego itd... Ale to sporo punktow bym musial zrobic :D No nic jeszcze pomyslimy.

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