Java. Początek.

0

Witam
Jako początkujący programista w Javie mam parę pytań. 3 Dokładnie. Może ktoś mógłby ze 2 słowa napisać .

Przerobiłem kurs Javy gdzie nauczyłem się podstaw w stylu jak używać pętli, arraya, zmiennych, jak tworzyć klasy, obiekty i wywoływać metody.
Ale nie znalazłem odp na pytania.

Chcę stworzyć prostą grę planszową, powiedzmy na heksagonalnej planszy dwóch graczy symbolizowanych przez żetony/pionki walczy bronią białą lub ostrzeliwuje się z łuków. Zaimplementowany byłby prosty model trafień i uszkodzeń. Chcę żeby gra działała jako aplikacja webowa którą umieszczę na stronie. Oczywiście nie szukam gotowców a raczej ukierunkowania.
Pyt 1: Czy aplikacja taka powinna być uruchamiana na serwerze na którym będą wykonywane wszystkie obliczenia i rozsyłane wyniki do klientów czy raczej na komputerach klientów i komunikować się z drugim klientem poprzez serwer. Zakładam że w drugim przypadku wymagane będzie aby każdy klient miał zainstalowaną maszynę javy. Osobiście wydaje mi się ze pierwsze podejście jest słuszniejsze.
Pyt 2: Czy w tego typu aplikacji wykorzystuje się bazę danych? Ogólnie każda sesja (czyli para 2 graczy) ma oddzielne ID i kiedy jest rozpoczęta tworzony jest zestaw tablic który przechowuje wszystkie dane. Po zakończonej sesji tablice są zamykane. Jeśli jest wybór że taką aplikację można zrobić i z bazą danych i bez ale bez jest łatwiej, czy nie lepiej właśnie zrobić z bo w przyszłości przyda mi się wiedza i doświadczenie zdobyte przy okazji?
Pyt 3: W tego typu aplikacji (lub innych) co właściwie powinna zawierać klasa main a co umieszcza się w pozostałych klasach i interfejsach?

Dzięki za pomoc

0

Myślę, że jeszcze za wcześnie dla Ciebie na pisanie gier.
Napisz jakieś klienty nieklienty i różne serwery, poducz się wzorców projektowych (jest szereg ciekawych publikacji na ten temat, w tym niektóre nastawione typowo na gamedev).
Zadajesz taki rodzaj pytań, na które wraz z wiedzą i wprawą sam sobie odpowiesz i będzie to znacznie cenniejsze niż nawet najdłuższy post tutaj ;)

0

Ad 1: to zależy od Ciebie. Tak jak napisałeś, możesz pójść w Smart Client (serwer przekazuje/synchronizuje informacje, klienci sobie sami wszystko liczą, łatwiej zrobić ładną aplikację) lub też w standardową aplikację webową (serwer wszystko liczy, klienci tylko to prezentują).
Ad 2: znowu zależy od Ciebie. Ja bym bazy danych użył, choćby i do trzymania informacji o użytkownikach. Ale jeśli się uprzesz to rzeczywiście można wszystko trzymać w pamięci.
Ad 3: jeśli to ma być aplikacja webowa to raczej nie robiłbym klasy Main. Ani metody main(String[] args), jeśli już o tym mowa. Klasy typu Main w aplikacji webowej to nieporozumienie moim zdaniem, chyba że istnieje w grze jakiś obiekt, który odpowiadałby klasie Main.

1 użytkowników online, w tym zalogowanych: 0, gości: 1