Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Znajdowanie drogi z punktu A do B
Forum PHP.pl > Inne > Hydepark
mk83
Witam
Chciałbym rozwiązać nastepujący problem: mam pole o rozmiarze 10x10, podzielone na kwadraty. Potrzebuje znalesc droge z jednego kwadratu do drugiego ( nie koniecznie najkrutszą ). Jednak dodatkowa przeszkadą sa dwa problemy:
1. na danycm polu moga znajdowac sie przeszkody ktore trzeba bedzie ominac
2. istnieja pewne pola specjalne przez ktore TRZEBA przejsc w drodze do punktu B

Jedyne co mi przychodzi do głowy aby rozwiazac ten problem, to algorytm znajdowania najkrutszej drogi Dijkstry,co prawda nie przygladalem mu sie dokladnie, ale z tego co pamietam to nie rozwiaze on moich problemow.
Dlatego zwaracam sie z pytaniem, czy ktoś z Was zetkną sie już z podobnym problemem. Bede wdzięczyn za wszelki informacje.
Pozdrawaim
TomASS
Kurcze, gdzieś miałem rozwiąznie Twojego problemu...narazie szukam i szukam...jak narazie znalazłem tylko to. W ogóle ta strona może być bardzo pomocna. Powodzenia i napisz jak coś lepszego znajdziesz.
ActivePlayer
wiec masz tak:

Kod
-----------
-xxxxxxxxk-
-xxxOxOxxx-
-xxxxxxxxx-
-sxxxOxxxx-
-----------

o - przeszkoda
x - pole po ktorym mozna chodzic
start/koniec - s/k

najpierw oznaczasz wszystkie x literkami wg schematu:

Kod
-----------
-33334567k-
-222O4O678-
-112345678-
-s123O5678-
-----------


wyznaczenie drogi:

-kursor na polu start
1: idz na pole o wartosci 1
2: idz na pole w wartosci wiekszej niz stoisz
3: jesli obok k idz na k jesli nie wykonaj czynnosc z pkt 2

zapisujesz po kolei w ktora strone sie poruszasz.... i masz droge.

edit
zrobiłem błąd.

zaczynamy od punktu konca, i szukamy cyferek w dół... smile.gif
NuLL
To problem raczej z algorytmiki wiec wedruje na HydePark
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.