Autor Wątek: pokoje do gier - jak zaprojektować  (Przeczytany 1456 razy)

Offline Puchaczov

  • Użytkownik

# Kwiecień 30, 2013, 22:37:59
Witajcie, potrzebuję stworzyć proste pokoje do gier 2D i zastanawiam się jak powinienem to zrobić poprawnie. Priorytetem dla mnie jest możliwie najmniejsza redundancja danych (powiązanie użytkownika z pokojem). Myślę, że najlepiej będzie pokazać obrazek który powinien nieco lepiej pokazać moje wyobrażenie




Myślałem o strukturze hierarchicznej, mniej więcej tak:

Każdy węzeł/liść ma swojego właściciela (roomOwner), Węzeł może posiadać zarówno kolejne węzły jak i pokoje do gier(liście). Pokój zawiera liste użytkowników(referencje do obiektu reprezentujacego użytkownika) podłączonych do niego. Aktor(użytkownik) posiada listę węzłów których jest właścicielem oraz listę pokoi w których aktualnie gra. Problem polega na tym ,że dodanie użytkownika do gry lub jego skasowanie wymaga aktualizacji 2/3 list. Zastanawiam się czy jest jakiś lepszy sposób na zrobienie tego tak abym posiadał np. tylko 1 listę którą mógłbym aktualizować a jednocześnie wydajnie wyszukiwać który użytkownik jest podłączony do której gry. Czy możecie mi coś poradzić?

czy to co zaproponowałem ma w ogóle sens? Czy powinno się to zrobić zupełnie inaczej?
« Ostatnia zmiana: Kwiecień 30, 2013, 23:08:32 wysłana przez Puchaczov »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Maj 01, 2013, 15:05:22
Ja trochę nie rozumiem. Po co jest RoomNode i RoomLeaf? Co one reprezentują? Skoro są pokoje i są użytkownicy, to takie klasy stwórz w kodzie. Potem, jeśli to jest relacja wiele-do-wielu (każdy użytkownik może być w wielu pokojach na raz), to pomyśl, jak to najlepiej zapisać w pamięci, patrząc jak będziesz chciał to wyszukiwać i zmieniać.