Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: operacje na tablicy a OOP
Forum PHP.pl > Forum > PHP > Object-oriented programming
marcus753
tak jak w temacie, zastanawiam się jak podejść do tego tematu:

mam dużą kilku wymiarową tablicę która jest jednocześnie moją bazą danych (zapisuje i pobieram ją z pliku)

załóżmy że projektujemy grę warcaby:

tablica[0] - tutaj trzymam informacje o samej grze (autor,nazwa gracze itp) w formacie tablica[0][0] - autor tablica[0][1] - data napisania itd...
tablica[1] - tutaj przechowuje informacje o polach szachownicy i pionkach jakie się na niej znajdują tablica[1][x][y] = 0 - brak pionka / 1-czarny / 2-biały
tablica[2]...

załóżmy że nasza główna tablica ma więcej podtablic tzn. tablica[2]... tablica[3]... tablica[4]... i każdy z nich przechowuje jakieś istotne dane dotyczące gry.

Jak napisać to korzystając z obiektów ? stworzyć z tablica[0], tablica[1] itd. poszczególne obiekty ? tyle tylko że tablica[1] zawiera pod-tablicę współrzędnych które chyba też powinny być obiektami ? a jak do tego dodam możliwość zapisywania i odczytywania aktualnych danych do poszczególnych tablic a potem wyeksportowania ich do jednej super tablicy i zapisania do pliku to już kompletnie nie wiem jak się za to zabrać... będę wdzięczny za sugestie / pomoc wink.gif


by_ikar
Każde pole może być obiektem, który przechowuje jakieś dane (czy posiada jakiś pionek aktualnie, jaka jest jego pozycja, jaki kolor pionka posiada etc), a wszystkie obiekty możesz trzymać w kolekcji, po której potem będziesz mógł iterować.
Pyton_000
Obielkt Tablica przechowujący kolekcję obiektów Pole (własności typu ma pionek), Pionek z własnością czyj to pionek (biały, czarny) Obiekt Gracz itd.
aniolekx
możesz zamiast tablic używać obiektów które zachowują się jak tablice, przed zapisem do pliku będziesz musiał je serializować
sprawdź ArrayObject i ArrayIterator
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.