gra kulki

problemy z tworzeniem aplikacji graficznych oraz audio i wideo

gra kulki

Nowy postprzez jace17 » poniedziaÅ‚ek, 26 lipca 2010, 19:29

Witam chodzi mi o stworzenie gry w kulki podobnej do http://www.kulki24.net/.Mam tylko pytanie: otoż jak klikam na kulke i potem klikam w miejscu gdzie chce aby sie ona znalazła nie wiem jak zrobić aby przesuwala sie poprzez poszczególne pola tak aby dotarała do celu.Czy tu trzeba jakies trudniejsze algorytmy przeszukiwania najkrótszej drogi czy co?Umialbym zrobic zeby sie przesunela bez widoczności drogi jaka podaza, ale to lipa bo kulka moze być zablokowana przez inne
Avatar użytkownika
jace17
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 24 lipca 2010, 14:44
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
Gadu Gadu: 0
    Windows 7Internet Explorer 8

Re: gra kulki

Nowy postprzez wargo » poniedziaÅ‚ek, 26 lipca 2010, 20:54

Przede wszystkim musi wykryć wolną drogę (wtedy musiał by szukać wolnych pól wokół siebie po każdym przeskoku), ale najlepiej gdyby wyszukiwała najkrótszą drogę (wtedy musiał by szukać wolnych pól wokół siebie po każdym przeskoku oraz analizować każde drogi, policzyć możliwości i znaleźć z najmniejsza liczbą).
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    WindowsFirefox

Re: gra kulki

Nowy postprzez jace17 » poniedziaÅ‚ek, 26 lipca 2010, 22:59

dobra a wiec jakbym chciał zrealizowac wariant ze znajdywaniem najkrótszej drogi.Moglby mi ktos powiedzieć jak sie mniej wiecej za to zabrać albo najlepiej moze ktos ma jakis przyklad.Nie wiek to ma działać bo co on ma isc jak po pijaku najpierw daje krok losowo gora,dol,lewo,prawo itd..I jak znaleźc wszystkie przypadki tak aby policzyc drogi.Czy te przypadki musze zapisywać jakos zeby wybrac najmniejszą
Avatar użytkownika
jace17
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 24 lipca 2010, 14:44
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
Gadu Gadu: 0
    Windows 7Internet Explorer 8

Re: gra kulki

Nowy postprzez Cyfrowy Baron » wtorek, 27 lipca 2010, 09:24

Algorytmu Tobie nie podam, gdyż musiałbym go dopiero opracować, ale żeby obliczyć najkrótszą drogę, program musi najpierw wyznaczyć prostą drogę, czyli prostą linię między startem i metą, potem program musi sprawdzać, czy na polach przez które przechodzi coś się znajduje, jeżeli TAK to sprawdza np. pierwsze po prawo od pola zajętego, jeżeli jest wolne to kulka wchodzi na to pole, a potem znów wraca na prostą linię za polem zajętym, ale najpierw musi sprawdzić, czy to pole jest wolne itd, aż do mety, trzeba sprawdzać, czy pola przez które przechodzi linia prosta są wolne.

Do stworzenia gry proponuję użyć komponentu TDrawGrid gdyż jest to siatka w komórkach której można umieszczać grafikę, a łatwo będzie sprawdzać zawartość poszczególnych komórek.



Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: gra kulki

Nowy postprzez jace17 » wtorek, 27 lipca 2010, 09:40

No dobra tak jak napisales to jeszcze dalbym rade ale przeciez ja nie moge wyznaczac drogi jako lini prostej miedzy punktem aktualnym a zadanym.Przecierz ja sie nie moge poruszac po ukosie tylko pionowo i poziomo.A co myslicie o niejakim algorytmie Dijkstry czy to na cos sie zda w tym przypadku,znalazlem ze to szuka najkrotszej drogi
Avatar użytkownika
jace17
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 24 lipca 2010, 14:44
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
Gadu Gadu: 0
    Windows 7Internet Explorer 8

Re: gra kulki

Nowy postprzez Cyfrowy Baron » wtorek, 27 lipca 2010, 10:06

Przecież ja przedstawiłem schemat działania, sposób w jaki należy podejść do problemu. To czy możesz poruszać się po skosie, nie ma znaczenia, ale linia prosta to najkrótsza droga między startem i metą, potem przesuwasz obiekt, ale zawsze jako punktu odniesienia używasz tej linii. Kulka poruszając się musi sprawdzać pola na które ma wkroczyć, jeżeli takie pole jest zajęte to szuka kolejnego, jeżeli wolne to wkracza na nie. Potem kulka próbuje wrócić najbliżej pola przez które idzie linia itd.

A co myslicie o niejakim algorytmie Dijkstry


Nie znam. Poza tym algorytm to jeszcze za mało. Trzeba stworzyć mechanizm pod który ten algorytm zostanie podłączony.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: gra kulki

Nowy postprzez politech » wtorek, 27 lipca 2010, 15:59

Algorytm Dijkstry będzie ok z tym, że nie wiem czy jest sen używania go w tym przypadku nie lepiej zastosować metodę powrotów? Albo nawet algorytm zachłanny?

Edit: z tym że powrotami na poczatku przy małej liczbie ograniczen(kulek) ruch będzie wygladał dziwnie a Dijkstra albo Floyd-Warshall zapewni ci najkrótsza droge
Avatar użytkownika
politech
Homos antropiczny
Homos antropiczny
 
Posty: 56
Dołączył(a): poniedziałek, 26 lipca 2010, 13:21
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder 2006
Gadu Gadu: 0
    Windows XPFirefox


Powrót do Aplikacje multimedialne, graficzne

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron