Nadal jestem całkiem nowy w grze z bazami danych i chciałem stworzyć bazę danych śledzenia dla kilku gier, takich jak zderzenie klanów.
Nie jestem pewien, jak ustrukturyzować niektóre tabele.
Oto wynik końcowy: Wybierz użytkownika Poziomy budynków wprowadzane przez użytkownika. jest to przechowywane w tabeli.
trudną częścią (przynajmniej dla mnie) jest ustalenie, jakie budynki i jakie poziomy są dostępne na podstawie aktualnych poziomów użytkownika.
Przykład: Obecny poziom użytkownika to TH7, poziom laboratoryjny 5 i fabryka zaklęć 3
Czary dostępne w th7 to A B C. Ale na poziomie fabryki 3 tylko czary to A B a wraz z Laboratorium Zaklęcie A może osiągnąć maksymalnie 3, a Zaklęcie B może osiągnąć maksymalnie 2 poziom.
Mam na myśli 1 gigantyczny stół wszystkich permutacji wszystkich budynków i warunków wstępnych. Ale to nie wydaje się słuszne. Czy to jest zbyt uproszczone?
Pamiętaj, że istnieje wiele tego samego rodzaju budynków, tj. 5 wież łuczniczych, 5 armat itp.
moje zapytania byłyby jakoś Uzyskaj aktualne poziomy gracza dla wymagań wstępnych sprawdź cały budynek dostępny dla bieżącego poziomu TH. określ, jakich budynków i poziomów brakuje. Pokaż je.
jest już ładna strona internetowa (clasofclans-tracker), ale chcę ją odtworzyć na własny użytek i dostosować do innych gier. Więcej na ćwiczenie edukacyjne niż cokolwiek innego.
Odpowiedzi:
1 dla odpowiedzi № 1Nie znam Clash of Clans, ale mogę pracować z twoim przykładem.
Obecny poziom użytkownika to TH7, poziom laboratoryjny 5 i fabryka zaklęć 3
Czary dostępne w TH7 to A B C. Ale na poziomie fabryki 3 tylko czary to A B, a w laboratorium Czary A mogą osiągnąć maksymalnie 3, a Czary B mogą osiągnąć maksymalnie poziom 2.
Najpierw utworzymy tabele obiektów. W twoim przykładzie nadałeś nazwy Użytkownik, Laboratorium, Zaklęcie i Fabryka. Ogólnie nazwy tabel są pojedyncze.
User
----
User ID
User Name
User Game Name
User Password
User Level
...
Laboratory
----------
Laboratory ID
Laboratory Name
...
Spell
-----
Spell ID
Spell Name
User Level Available
Factory Level Available
...
Factory
-------
Factory ID
Factory Name
...
Stworzyliśmy tabelę dla każdego obiektu. Kluczem podstawowym dla tych tabel jest automatycznie generowana liczba całkowita, którą nazywamy identyfikatorem.
Teraz te tabele same w sobie nie są aż tak przydatne. Musimy stworzyć tabele połączeń, które kojarzą użytkownika z innymi komponentami gry.
Pierwszą tabelą połączeń, którą omówimy, jest tabela UserLaboratory.
UserLaboratory
--------------
User ID
Laboratory ID
Laboratory Level
Ta tabela kojarzy (łączy) użytkownika zlaboratorium. Poziom laboratoryjny jest ważny dla konkretnego użytkownika i określonego laboratorium. Jak można się domyślać, klucz podstawowy tej tabeli to (identyfikator użytkownika, identyfikator laboratorium).
W twoim przykładzie poziom laboratorium to 5.
Następną tabelą połączeń, którą omówimy, jest tabela UserFactory.
UserFactory
-----------
User ID
Factory ID
Factory Level
Ta tabela jest prawie identyczna z tabelą UserLaboratory, z tą różnicą, że dotyczy fabryk.
W twoim przykładzie poziom fabryki to 3.
Myślę, że w tym momencie można zobaczyć, jak utworzyć pozostałe tabele połączeń.
Jest to proces tworzenia dowolnej bazy danych.
- Wyodrębnij wszystkie tabele obiektów.
- Upewnij się, że tabele obiektów definiują jeden i tylko jeden obiekt.
- Utwórz wszystkie tabele połączeń.
Powodzenia w staraniach bazy danych.