Skocz do zawartości
ch3matic

"ai" nie działa

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ł?

Udostępnij tego posta


Odnośnik do posta
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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×