Skocz do zawartości

"ai" nie działa


ch3matic

Rekomendowane odpowiedzi

mam takie pesudo ai dla obiektu, ale nie działa.

 

 

 

create:

 

GML
change_dir = 0

idzie = 0

kierunek = 1

 

 

step:

 

GML
change_dir += 1

losuj = random(100)

 

if(change_dir > 20 && idzie = 0){

if(losuj < 25 && place_free(x+1,y)) {

idzie = 1

kierunek = 1

}

 

else if(losuj > 24 && losuj < 50 && place_free(x,y+1)) {

idzie = 1

kierunek = 2

}

 

else if(losuj > 49 && losuj < 75 && place_free(x-1,y)) {

idzie = 1

kierunek = 3

}

 

else if(losuj > 74 && place_free(x,y-1)) {

idzie = 1

kierunek = 4

}

 

change_dir = 0

}

 

if(idzie = 1){

switch(kierunek){

case 1: if(place_free(x+1,y)) {

x += 1

change_dir -= 1

}

else idzie = 0

case 2: if(place_free(x,y+1)) {

y += 1

change_dir -= 1

}

else idzie = 0

case 3: if(place_free(x-1,y)) {

x -= 1

change_dir -= 1

}

else idzie = 0

case 4: if(place_free(x,y-1)) {

y -= 1

change_dir -= 1

}

else idzie = 0

}

}

 

pewnie coś namieszałem, ale jestem już zmęczony tym i mózg mi się zaczyna lasować

 

problem jest taki, że obiekt zaczyna jechać w lewo, dojeżdża do ściany i się przestaje ruszać zamiast zmieniać kierunek

 

ma ktoś jakiś pomysł?

Odnośnik do komentarza
Udostępnij na innych stronach

create:

go=0
kier=0
timer=0

step:

if go=0 
{
kier=round(random(3)) // lasuj kierunek
go=1 
timer=0 // wyzeruj stoper
}
////////////////////////////////////////////////////
if go=1
{
if kier=0
{
if (place_free(x-1,y)) 
x-=1
else
go=0
}
else if kier=1
{
if (place_free(x+1,y)) 
x+=1
else
go=0
}
else if kier=2
{
if (place_free(x,y-1)) 
y-=1
else
go=0
}
else if kier=3
{
if (place_free(x,y+1)) 
y+=1
else
go=0
}
timer+=1/room_speed      // włącz stoper
}
////////////////////////////////////////////////////
if timer>10 // jeśli upłynniło więcej niż 10 sekund
{
go=0  // to wyzeruj go
}

 

i gotowe :P

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