Skocz do zawartości
sfinkss

"Inteligentny" labirynt.

Rekomendowane odpowiedzi

Mam rooma, którym jest jakiś labirynt, ja tj. mój hero stoi na jednym końcu i rzecz jasne ja nim steruje tak aby dojść do jakiegoś punktu który jest w środku, a z drugiego końca stoi... AI.

Pytanie, jak zrobic takie AI , aby on sam doszedł do tego punktu? Tym samym nie odbijając się ciągle od jednej ściany itp. Ale także nie żeby od razu doszedł, tylko robił jakieś błędy.

proszę o pomoc ;)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

'AI' w wygaszaczu ekranu labirynt, było takie, że zawsze skręcało w prawo lub lewo. Takim sposobem zawsze dojdziesz do końca. Zrób tak, że jeżeli po prawej nie ma ściany koleś się obróci o 90 stopni, a gdy w polu widzenia będzie miał ten punkt, od razu do niego podejdzie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ja najczęściej podaję tylko algorytmy :P Czasem zdarza się, że podam swój, za to poprawię czyiś jeżeli jest błąd (o ile nie daje całego przykładu)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Spróbuj to zrobić sam. Więcej się nauczysz. Algorytm jest dość prosty: każesz ludzikowi (czy co to tam jest) iść do przodu, a jeśli zderzy się ze ścianą, obracasz go w prawo, aż trafi na kierunek, w którym może się udać. I tak w kółko, aż do skutku. Oczywiście wada jest taka, że ludzik będzie chodził kompletnie po omacku, więc można zdradzić mu jego położenie względem punktu, do którego dąży, żeby mógł się trochę nakierować. ;)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@offtop: sfinkss czytaj (głównie pkt. 6 :) ) :) http://wiki.gamedev.pl/Jak_nie_lami%C4%87

to się odnosi do tego postu:

więc podaj proszę^^

I

wolałbym z kodami smile2.gif

 

@topic:

zrób objekt (nie widoczny oczywiście... i żeby się poruszał w losowym kierunku) i ustaw temu twojemu wrogowi czy jakoś tak :P, żeby sprawdzał który z tych objektów jest najbliżej, po czym podchodził do tego objektu :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A może jednak nie? On nie chce, żeby ten koleś od razu doszedł do punktu... <_<

A pomysł z kolizją ze ścianą też odpada, bo gdy będzie 'skrzyżowanie', AI nie poprowadzi ludzika przez nie, tylko ciągle będzie chodził do przodu...

 

@topic: place_free() może Ci się przydać

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie, nie chodzi mu o to :P

 

 

Spróbuj losować liczbę od 0 do 2 i w zależności od tego co wypadnie, iść, czyli jest szansa 1 do 3 że skręci w dobrą stronę... Lub ustaw jak chcesz xD No w ten np. jeśli wylosuje 0 to każesz mu skręcić w stronę tego obiektu do którego chcesz aby doszedł a jak wylosuje 1 lub 2 to każesz mu iść w inną stronę.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Przecież to można zrobić na zmiennych. Stworzyć dwa obiekty takie same jak zakręty, i ustawiać zamiast zakretów. Kolizje = zmiana zmiennej zakręt na np. 1.

Potem warunki, jeżeli zakręt=1 wtedy skręć w prawo, jeżeli 2 to skręć w lewo.

Proste

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

będę próbować to zrobić ;]

a tym czasem ten przykład co dał Uzjel, nie działa, wyskakuje error:

ERROR in

action number 1

of Draw Event

for object __newobject8:

 

Error in function logn().

 

w czym problem?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dzięki Kamilek, przyda się.

Ale może mi jeszcze ktoś pomóc z tym errorem?

ja nie mogę tam nigdzie znaleźć żadnego 'czegoś' co by miała w kodzie 'logn'.

MOże ktoś ściągnąć ten przykład(wyżej jest) i 'looknąć'?

z góry dzięki;)

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

×