Skocz do zawartości

"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 ;)

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

Odnośnik do komentarza
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ć. ;)

Odnośnik do komentarza
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 :)

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

Odnośnik do komentarza
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ę.

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

Odnośnik do komentarza
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;)

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