Budowa rozbudowanej aplikacji

0

Hej

Mam pytanie związane z tym jak ma wyglądać struktura kodu.
Piszę sobie grę gdzie mam postacie, pojazdy, obrażenia zadawane postaciom i pojazdom, ...
Wszystko piszę w jednej klasie (nie wiem czy to dobrze nazywam ale tak rozumiem dodawanie do folderu nowego "Class") czy to dobrze?
Czy lepiej pisać każdy element w innej klasie?
I tak samo jeżeli chodzi o importowanie grafiki - jest jej sporo - agregować wszystkie w jednym miejscu i potem tylko dopisywać zmienne gdzie są przechowywane?

Chodzi mi o to jak to wpłynie np. na rozmiar pliku wyjściowego i jaki nawyk sobie wyrabiać?

4

Myślę że nie rozumiesz czym w ogóle są obiekty i jak z tego korzystać. Pisanie całego kodu w 1 klasie jest zaprzeczeniem idei programowania obiektowego. Postać, pojazd, przedmiot, każde z tych powinny być osobnymi klasami.
Zadawanie obrażeń postaciom czy pojazdom to bardziej przykład metody w danej klasie.

Nie wiem jak wpływa to na rozmiar pliku wyjściowego, ale w zdecydowanej większości projektów jest to chyba najmniej istotna kwestia

3
rubesom napisał(a)

Piszę sobie grę gdzie mam postacie, pojazdy, obrażenia zadawane postaciom i pojazdom, ...

Zwróć uwagę, że opisujesz zarówno przedmioty jak i czynności, które wykonują; Możesz "kod" gry podzielić na kilka elementów:

przedmiot | = | klasa
czynność | = | metoda
cecha/własność | = | właściwość
Czyli każdy przedmiot w grze powinien posiadać implementację własnej klasy, każda czynność jaką wykonuje przedmiot powinna być metodą, a każda własność/cecha/właściwość przedmiotu powinna być prywatnym polem lub właściwością; Do tego dojdzie jeszcze polimorfizm, abstrakcja i inne mechanizmy obiektowości;

rubesom napisał(a)

Czy lepiej pisać każdy element w innej klasie?

Zależy jak to rozumiesz; Każdy przedmiot nie posiadający części wspólnych cech z innymi powinien być osobną klasą; Przedmioty mające po części wspólne cechy powinny mieć wspólną klasę bazową i z niej dziedziczyć;

rubesom napisał(a)

Chodzi mi o to jak to wpłynie np. na rozmiar pliku wyjściowego i jaki nawyk sobie wyrabiać?

Nie przejmuj się tak rozmiarem pliku wyjściowego, bo czy będzie miał 1MB czy 5MB to w dzisiejszych czasach aż tak dużego znaczenia nie ma; Większą wagę przywiązuj do jakości kodu i poziomu jego efektywności, bo to jest ważniejsze niż kilka(set) kilobajtów;


Nie znam Javy, ale obiektowość w niej pewnie działa na tej samej zasadzie co w większości innych obiektowych języków.

2

Przed kodowaniem, nejlepiej stworzyć diagram klas, w którym utworzysz klasy(przedmioty), wraz z metodami jakie one posiadają. Później powiązania do tego. Zawsze łatwiej później jest złożyc kod dużej aplikacji, czasem jednak znajdziesz błedy w schemacie w trakcie implementacji.
Możesz tez stworzyc klase główna, która będize określać swiat gry, a do tego w niej będziesz tworzył kolejne obiekty do gry(Przedmioty, Pojazdy itp.).

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