![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Oraz przykład użycia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Oraz przykład graficzny: http://hernass.pl/searchWay/ PS. Dziękuję wszystkim, którzy pomogli przy skrypcie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
oho widzę że ktoś sie tu bawi w pisanie AI w PHP (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
~sticker
Nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po prostu potrzebuję tego do gry. :] |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Nieźle, klasa bardzo "huda" i zapewne wydajna.
Niezła robota, mówię tak choć nie testowałem - tylko ten przykład graficzny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chyba klasa nie była aż tak trudna jak się wydaje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Pozdrawiam, WebNuLL |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Jeśli znałeś algorytm to nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A jak go nie znałeś, to dla mnie było ciężko. ;P Na szczęście parę osób pomogło i podało poradniki. Nie wiem czy wydajna, nie testowałem jeszcze.
PS. Nie piszę się chuda? ;P |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 30.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hej, Bartku/Michale! (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif)
Ciekawa rzecz, ale.. nie jestem pewny czy to poprawne zachowanie? (IMG:http://img523.imageshack.us/img523/4154/shot00075qf7.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
ale chyba nie powinna iść po skosie. to zależy pewnie od rodzaju gry.
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Jest to najkrótsza droga. Można przydzielić rangę, że po skosie jest dłużej, ale nie miałem już siły przerabiać. :] Niedługo zamieszczę z możliwością ustalenia drogi po skosie, bo jednak u mnie jest to 2 razy dłuższa droga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Sry za offtop ale... Dla startowego elementu 2,1 i koncowego 6,1 zaznacza dodatkowe pole jako "droga" pomimo tego ze do tej drogi nie nalezy. Czy to własciwe zachowanie?
(IMG:http://img229.imageshack.us/img229/9829/clipboard02wt9.th.jpg) (IMG:http://img229.imageshack.us/images/thpix.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Trochę pokombinowałem i znalazłem błąd a bynajmniej ja tak to rozumiem...
Start: 8*8 Cel: 1*4 I droga skręca w prawo gdzie kończy się i ponownie rozpoczyna na celu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
@wookieb
Błąd w rysowaniu mapki, spójrz na kolejne etapy pod mapką. @ShadowD Mi działa normalnie nie licząc tego błędu jaki ma wookieb (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Później poprawie bo narazie nie mam sił. Przygotowałem już działającą wersję w JS (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hej, Bartku/Michale! (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) Ciekawa rzecz, ale.. nie jestem pewny czy to poprawne zachowanie? (IMG:http://img523.imageshack.us/img523/4154/shot00075qf7.jpg) Nie zagłębiałem się w kod ale nie powinien "numerować" wszystkich pól tylko zatrzymać się gdy znajdzie cel. Może jest tak zrobione, tylko na potrzeby mapki puszczone dalej;) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Jest tak zrobione, ale musi numerować wszystkie kroki aż do celu. Więc jeśli cel będzie na 11 kroku, ponumeruje wszystko do 11 kroku. A co do tego co na mapce widać, nie powinien numerować do końca i mi o dziwo na localhoscie nie numeruje. Nie pamiętam jak jest na serwerze, bo zmieniałem parę rzeczy.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zainspirowany tym tematem, nie patrząc na kod który bim2 podał, stworzyłem też swoją klasę szukającą najkrótszą drogę (też żadnego książkowego algortmu nie znałem na ten problem). Oto kod, jeśli ktoś by chciał go wykorzystać to brać śmiało (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Nie sprawdzałem go dokładnie, ale faktycznie zwraca najkrótszą drogę.
Przeprowadziłem też testy porównawcze mojej klasy i klasy bim2. Aby był sens tego porównania (czyli porównanie samego algorytmu porównania) z klasy bim2 wywaliłem możliwość chodzenia na skos (w mojej klasie to nie jest uwzględnione), a z mojej wywaliłem walidację mapy (bo u bim2 nie ma tego, a jest cholernie zasobożerne). Wynik testów wskazał, że moja klasa jest 40 razy wydajniejsza. Pewnie to z tego względu, że (wnioskuję z powieszchownego rzucenia okiem) klasa bim2 ustala ilość koniecznych kroków, które trzeba wykonać dla każdego pola z podanej mapki, a algorytm mojej klasy polega na tym aby wygenerować wszystkie możliwe drogi z punktu do punktu i wybrać najkrótszą. Może trochę chamsko (wg niektórych?) się podpiąłem pod ten temat, no ale równie dobrze mógłbym nic nie napisać i zostawić to dla siebie, a tak to przynajmniej są podane dwa trochę różne sposoby rozwiązania podobnego/tego samego problemu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Może komuś się to kiedyś sprzyda. Ten post edytował -=Peter=- 2.01.2009, 18:51:18 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Miło, pewnie sam wykorzystam twoją klasę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jeśli jest szybsza :] Szkoda że wcześniej nie napisałęś, dzień roboty bym zaoszczędził (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A jednak chyba moja klasa jest z dupy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Przy mapce o rozmiarze 8x8 jest znacznie wydajniejsza, ale przy większych wymiarach moja klasa wymięka (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Chyba algorytm jest rzędu wykładniczego ;]
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Hmm. I by się zgadzało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Moja tylko ponumeruje sobie mapkę, a później szuka jednej drogi. To o wiele wydajniejsze niż szukać ileś tam dróg, co przy większej mapce rośnie ekspansyjnie. :]
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 25 Dołączył: 4.07.2007 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Imho sprawdzanie każdej trasy przy dobrym algorytmie wydaje się trochę głupi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Jak gdziesz jedziesz to szukasz drogi najkrótszej sprawdzając każdą trasę? ;O
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 23:54 |