Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL] Sprawdzanie dostępu do obszaru

Ostatnio zmodyfikowano 2012-12-16 13:04
Autor Wiadomość
pjpeg_objected
Temat założony przez niniejszego użytkownika
[SDL] Sprawdzanie dostępu do obszaru
» 2012-12-15 15:57:29
Witam. Piszę grę "Kulki" i mam problem ze sprawdzaniem czy obiekt ma dostęp do obszaru zdefiniowanego przez tablicę dwuwymiarową. W tablicy przechowuje informacje o tym jaki kolor ma dana kulka i w którym miejscu na planszy 10x10 się znajduje. Jeśli tablica jest równa od 0-3 to znaczy, że jest tam kulka a jeśli jest równa 4 oznacza to, że obszar jest pusty. Ten obrazek dobrze obrazuje co chciałbym osiągnąć : http://imageshack.us/photo/my-images/401/naforuml.png/. Kulka, która jest zaznaczona może być przesunięta tylko na miejsce, które nie jest blokowane przez inne kulki jak i również na skos pomiędzy kulkami. Nie wiem czy wymaga to jakiegoś skomplikowanego algorytmu więc zwracam się do Was po pomoc. Z góry dziękuje.
P-71095
DejaVu
» 2012-12-15 17:23:54
C/C++
if( polePuste( nowyX, nowyY ) )
     przesunKulke( obecnyX, obecnyY, nowyX, nowyY );
P-71106
pjpeg_objected
Temat założony przez niniejszego użytkownika
» 2012-12-15 17:39:53
Hmm nie do końca rozumiem jak to może działać. Co jeśli pole nie będzie puste a można będzie dotrzeć tam inną drogą np. ominąć tą kulkę z lewej? Chodzi mi o coś takiego jak wyszukiwanie drogi. Same przesuwanie kulki mam zrobione tylko nie wiem jak sprawdzać czy nie napotka po drodze jakichś kulek i czy będzie w stanie je ominąć. Dodam, że nie chce się babrać w dziesiątkach ifów. Tak czy inaczej DejaVu dziękuje za odpowiedź.

Dodam jeszcze grę z kodem źródłowym:
http://www.speedyshare.com/TAd8S/Kulki.rar
P-71113
DejaVu
» 2012-12-15 17:41:36
Nie do końca rozumiem jak ta gra ma działać :) Skoro pole docelowe będzie zajęte to chyba ruchu nie powinno dać się wykonać...?
P-71114
pjpeg_objected
Temat założony przez niniejszego użytkownika
» 2012-12-15 17:48:37
Chodzi o to, że jak chce przesunąć kulkę z pustego miejsca na inne puste miejsce to po drodze nie mogę przechodzić sobie przez kulki ale mogę za to je ominąć. I nie wiem jak zabrać się do takiego algorytmu, który kiedy napotka kulkę po drodze to postara się znaleźć inną drogę a jeśli wszystkie drogi będą zajęte zwróci fałsz. Chcę osiągnąć coś takiego :  http://www.zagrajsam.pl/gra5a_java.php
P-71116
DejaVu
» 2012-12-15 18:50:28
Poczytaj o algorytmie wyszukiwanie najkrótszej drogi
Frazy, które należy wpisać w wyszukiwarkę google:

/edit:
http://warsztat.gd/wiki/Algorytm+wyszukiwania+najkr%C3%B3tszej+drogi+w+%C5%9Bwiecie+2D

Tu masz przykład jak ten algorytm działa. Popatrz na ten mały rysunek z kwadracikami.

Podczas realizacji implementacji możesz ustalić czy dozwolone jest przemieszczanie się 'na skos' czy tylko w osiach.
P-71120
pjpeg_objected
Temat założony przez niniejszego użytkownika
» 2012-12-16 09:51:10
Dziękuje za pomoc. Co prawda kiepski jestem w implementacjach czyichś algorytmów ale postaram się to napisać.
P-71163
Mrovqa
» 2012-12-16 13:04:15
Po co wyważać otwarte drzwi? To jest bezsensu. Masz: http://content.gpwiki.org/index.php/Libraries#Pathfinding
P-71176
« 1 »
  Strona 1 z 1