Szukanie najkrótszej możliwej drogi do pola na planszy

0

Muszę sprawdzać, czy punkt na planszy ma możliwość przejścia na inne pole przechodząc po kolejnych pustych polach, czy droga jest otwarta.
Nie mam pojęcia jak to zrobić, czytałem o algorytmie A STAR (A*) ale nie wiem jak to zaimplementować i czy to się nada. Mógłby ktoś mi pomóc?

2

Nada się. Również nadałby się zwykły bfs / dfs, jednak złożoność A* jest lepsza. Nie wiesz jak zaimplementować?
http://4programmers.net/Forum/Og%C5%82oszenia_drobne
Zrobie to dla Ciebie za 150zł.

0

Nie chce gotowca, po prostu podpowiedź jak to zrobić.

0

albo BFS (działo mniejszego kalibru niż A*).

Opisz dokładniej swój problem: co to jest plansza, jak masz ją opisaną (jak wygląda opis grafu), czy wystarczy ci stwierdzenie że istnieje droga, czy musisz ją dokładnie opisać.
Najprawdopodobniej BFS będzie dla ciebie w sam raz by zaimplementować to samemu.

0

Jest po prostu plansza (tablica dwuwymiarowa kwadratowa) w której niektóre pola mam oznaczone jako puste, a niektóre jako 'coś'. Podaje współrzędne x i y tego coś, i miejsca pustego w które chce to przesunąć, i potrzebuję sprwdzić, czy da się tam przejść po kolejnych polach :)

0

@MarekR22 czyli w sumie potrzebuję tylko info, czy istnieje droga :)

0

Niestety nie mogę znaleźć jak BFS wygląda dla tablicy, jak dodawać do kolejki współrzędne pola tablicy

0

refresh

1

Przecież dostałeś ofertę. Pokaż kod - pomożemy. Jak sam nic nie zrobisz to nic nie dostaniesz.

0

Muszę wiedzieć jak wystartować, opisałem wyżej post w czym tkwi problem :/

1

No i dostałeś odpowiedzi. W czym problem teraz?

0

Nie mam pojęcia jak to zrobić, czytałem o algorytmie A STAR (A*) ale nie wiem jak to zaimplementować

To normalne, skoro nie znasz tego algorytmu. Rzadko który programista jest jasnowidzem. Musisz po prostu poszukac dobrego opisu algorytmu A* wraz z przykładami, czy źródłem i zobaczyć na czym on polega.

Choćby tutaj masz opis
http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/a-pathfinding-for-beginners-r2003

Tu masz inny, bardziej z obrazkami i animacjami:
http://www.redblobgames.com/pathfinding/a-star/introduction.html

Poza tym generalnie Google (a star pathinding, albo a star gamedev itp.) , Stack Overflow i jedziesz...

0
Bartolinho10 napisał(a):

Niestety nie mogę znaleźć jak BFS wygląda dla tablicy, jak dodawać do kolejki współrzędne pola tablicy

Tablica poza informacją o "terenie"/"planszy" powinna zawierać informację czy BFS już odwiedził dane pole.
A do kolejki dodajesz strukturę opisującą pozycję na planszy.

0

@MarekR22 to lepiej BFS? Chyba mniej skomplikowany niż A* prawda?
No i jeśli chodzi o zaznaczanie w tablicy, które pole już zostało odwiedzone, to chyba mogę sobie zrobić pomocniczą tablicę booleanów np?
Obecna tablica moja to enumy.

0

Mam już to napisane, ale niezbyt chciałbym to udostępniać, bo jest to do mojego projektu. Mógłby ktoś rzucić okiem? Podesłałbym na PW :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1