![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wiem ze to moze wydawac sie smieszne, ze ktos taki jak ja bierze sie za pisanie gier internetowych(w przekladarkach), ale nigdy nie biore sie za male projekty bo wtedy nie mam motywacji ;d.
Mam kilka pytan dot. takiej "gry". 1. Czy jesli dany user ma miec konkretne przedmioty w ekwipunku, to jak skonstruowac odpowiednia tabele? Czy kazdemu userowi mam przypozadkowac odpowiednia tabele z itemami, potem osobna ze statystykami i itemami uzywanymi? Czy moze istnieje mozliwosc napisania dosc elastycznej tabeli ktora posiadalaby wszystko razem? Na razie widze takie rozwiazania: kolumny: (mniej tabel ale do kitu z tak dluga monotonna i trudna robota) Kod login item1 item2 item3 .... item1987 item 1988 osek 1 1 3 3 0 stach 6 1 1 0 1 kamil 0 0 3 0 8 lub (tu byloby proste i przejrzyste dodawanie i pobieranie itemow) (szybka robota ale za to kilka tys tabel) Kod osek916 item ilosc miecz 2 noz 1 tarcza 1 luk 2 ale znowu np. trzeba tworzyc osobna tabele ze statystykami(sila zrecznosc przynaleznosc), moznaby je stworzyc powyzszymi sposobami, ale wtedy baza bylaby zasmiecona albo tabele nieskonczenie dlugie. Zna ktos konkretne i sprawdzone sposoby odnosnie projektowania elastycznych tabel? Ten post edytował osek916 26.07.2007, 13:43:13 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 29.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie gram w żadne gry online tego typu ale domyślam się że najlepiej utworzyć dwie tabele, jedna z użytkownikami a druga z item'ami(przedmiotami?) i w tej drugiej przy każdym przedmiocie zapisywać id użytkownika do którego należy ten przedmiot.
Tak na marginesie, twoim problemem jest to że nie rozumiesz istoty funkcjonowania bazy danych, tak więc zgadzam się co do pierwszej części wypowiedzi - nie bierz się za pisanie takich gier bez jakich podstaw bo to jest poprostu śmieszne i nic dobrego z tego nie wyniknie.. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jestem typem który poznaje jezyki poprzez praktyke. Podstaw c++ nauczylem sie piszac 2x program do "skomplikowanych"(zawilych) obliczen z fizyki i matematyki. Dało mi to wiecej niz przeczytanie ksiazki i tworzenia konkretnych przykladow z ksiazki.
Pozatym wiem jak dzialaja bazy danych, a to co napisales bylo 1 rzecza ktora mi wpadla do glowy. Problem jednak w tym ze kazdemu userowi beda przypisane 2 tabele, najlepiej o tej samej nazwie, a skoro maja miec taka sama nazwe to dobrze byloby utworzyc kazda z tych 2 tabel w 2 bazach danych lub w jednej, dodajac do nazwy tabeli np '1'. Problemem jest ogromna ilosc stworzonych tabel w bazie. Dlatego pytam czy jest inne rozwiazanie, bardziej elastyczne, a nie czy pomysl pisania takiej gry jest zly. PS: Podstawy znam. Ten post edytował osek916 26.07.2007, 13:43:42 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 29.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja jednak upieram sie przy tym ze nie znasz tych podstaw, albo przynajmniej nie wiesz o czym piszesz czy zle nazywasz to co masz na mysli..Jeśli utworzysz dwie tabele to nie bedziesz musial dla kazdego usera ich tworzyć(!), w tych dwoch tabelach bedziesz mogl przechowywać rekordy ktore beda reprezentowaly kazdego uzytkownika i jego przedmioty.
Ten post edytował flv 26.07.2007, 16:41:05 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz na mysli tabele w php, to sie nie zrozumielismy, chodzi mi o baze danych. Jesli zas chodzi ci o to by przy rejestracji dodawac kolumny z userami, to takie rozwiazanie mi nie odpowiada.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 29.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Naprawde przeczytaj jakis kurs mysql, ja mowie o rekordach a ty o kolumnach...
Ten post edytował flv 26.07.2007, 17:13:24 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Widze że źle wyjaśnilem 2posty wyzej. Wedlug ciebie rozwiazanie mialoby tak wygladac?
Kod user item1 item2 item3 osek 2 1 1 kamil 1 0 2 Jeśli nie to najlepiej pokaz zarys tabeli wtedy sie zrozumiemy. Bo tylko piszesz ze przydalby mi sie jakis kurs. Co do tego to przerobilem: PHP i MYSQL- www oparte na bazie danych. |
|
|
![]()
Post
#8
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
To jest relacje n:m (wiele do wielu). Zastosuj 3 tabele: uzytkownicy, przedmioty, uzytkownicy_przedmioty.
schemat wyglada tak: Kod user: id, login item: id, nazwa user_item: user_id, item_id, ilosc potem laczysz tabele i wszystko ladnie wybierasz, ale to powinienes wiedziec |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki bela.
Niestety twoje tabele nie rozwiazuja problemu... Itemy dziela sie na bronie pancerze itd. itemy zalozone na postac, itemy w plecaku(nieograniczona ilosc) ;/. Ale chyba to bedzie najlepsza opcja... Tabela 3 bedzie wygladac mw. tak: Kod User bron pancerz pierscien1 pierscien2 amulet buty rekawice helm plecak1 plecak2 plecak3 itp... osek miecz1 zbr2 p_sily2 p_sily2 a_zr7 b_8 rek_sily2 helm1 p_sily1 p_zr2 empy kam .... .... ... ... ... ... .... ... ... ... ... Mimo wszystko dzieki za rady;d i ocenianie umiejetnosci po pozorach... Ten post edytował osek916 26.07.2007, 19:28:04 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
glupim pomyslem jest robic dla kazdego 'itemu' osobnej kolumny.
1 wiersz = 1 item a nie 1 kolumna = 1 item zrob tak a pozniej skorzystaj z metody PIVOT - wtedy bedziesz mial tak jak rozpisales czyli 1 kolumna = 1 item (jezeli tak bardzo ci zalezy zeby takie wyniki otrzymac). |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
AxZx, teraz mnie zagiales, o tej metodzie nie slyszalem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 00:40 |