Witam. Otóż piszę prostą grę planszową i zastanawiam się nad reprezentacją pól. Czy dobrze jest to zrobić za pomocą mapy a dokladnie Map < Point, Pole > ? I teraz po kliknięcia odczytywać dane pole za pomocą wspolrzędnych ? Wydaje mi się, że tak tylko w pierwszym kroku muszę wypełnić wszystkie pola... Czy istnieje taka mapa która gwarantuje kolejność taką w jakiej wartosci i klucze zostaly dodane?
- Rejestracja:około 11 lat
- Ostatnio:prawie 10 lat
- Postów:110
Jesli wielkosci wymiarow sa stale to uzylbym tablic

- Rejestracja:około 12 lat
- Ostatnio:około 10 lat
- Postów:160
Dostęp do wartości mapy poprzez klucz jest szybkie, ale nigdy nie szybsze niż dostęp do wartości tablicy przez indeks i mapa nigdy nie będzie działać szybciej niż tablica, za to może działać wolniej (i działa wolniej). Jeżeli więc znasz wielkość planszy to najlepiej użyć zwykłej tablicy - szczególnie, że rozwiąże to Twój problem sortowania.
Hmm dzięki za odpowiedź, ale jednak tak nie mogę zrobić. Kod ma być jak najbardziej obiektowy i pętle ( przy takiej tablicy dwuwymiarowej ich będzie dużo) nie są mile widziane. Czy w takim razie można jakość uzyskać kolejność wartości w mapie? Może to być wolniejsze niż w tablicy. I tak użyję tego tylko jeden raz przy wyświetlaniu całej planszy. Potem będę uaktualniał tylko dane pole - mając klucz ( punkt(x,y) ) szybko dostane się do danego pola.
No niestety to nie są moje wymysły. Przy pętli for(int i = 0 ; i < 3 ; i ++ ) prowadzący zapytał :" a co jakby zmienił 3 na 5 ? Jak szybko znajdzie pan ten błąd ?" No nic, zostane na razie przy tej tablicy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
mając klucz ( punkt(x,y) ) szybko dostane się do danego pola
powątpiewałbym :vwojciech.kudla