Projektowanie klas w grze RPG

Projektowanie klas w grze RPG
MonkiKong
  • Rejestracja:około 12 lat
  • Ostatnio:prawie 10 lat
  • Postów:26
0

Hej! Chce napisać prostą grę RPG. Póki co chce zrobić tylko kartę postaci i questy. Nie wiem jak do końca zaprojektować klasy.
Pierwszy pomysł jaki mi wpadł do głowy to stworzyć klasę postać, która będzie miała zmienne typu imie,lvl itd, oraz metody lvlUp.
Druga klasa to dziennik, która będzie miała treść zadania, czas wystartowania/końca, exp. Zastanawiam się jak to rozwiązać. Czy klasa dziennik ma dziedziczyć po klasie postać? Postać ma być tylko jedna, a questów ma być wiele. Jak zrobić, żeby metody z obiektów dziennika odnosiły się tylko i wyłącznie do obiektu klasy postać? Strukturalnie mogę to zrobić bez problemu. Jednak chce to zrobić obiektowo i nie mogę sobie za bardzo tego wyobrazić. Może stworzyć dwie oddzielne klasy. W klasie postać będzie metoda która będzie gromadziła obiekty dziennika?
Liczę na jakąś dyskusję na ten tema.
Pozdrawiam.

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Czy klasa dziennik ma dziedziczyć po klasie postać?

A czy dziennik to postać? Raczej nie.

Jak zrobić, żeby metody z obiektów dziennika odnosiły się tylko i wyłącznie do obiektu klasy postać?

Ale że co?
void Quest::nazwametody(Hero hero)

W klasie postać będzie metoda która będzie gromadziła obiekty dziennika?

Lepiej byłoby to zrobić w głównej klasie gry/poziomu/jak tam masz to zaprojektowane.


MonkiKong
  • Rejestracja:około 12 lat
  • Ostatnio:prawie 10 lat
  • Postów:26
0

Gra będzie miała bardzo prostą postać. Nie będzie poziomów. Będzie tylko jeden gracz, będzie miał misje do wykonania a po wykonaniu misji będzie otrzymywał doświadczenie i ewentualnie podnosił swój lvl.
A czy metoda klasy może powoływać do życia nowy obiekt zupełnie innej klasy?

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

A czy metoda klasy może powoływać do życia nowy obiekt zupełnie innej klasy?

Dlaczego miałaby nie móc? nazwa_klasy foo = new nazwa_klasy(parametry); i wsio.


KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
Zobacz pozostałe 3 komentarze
fasadin
Hero powinien posiadac liste dostepnych questow.
KA
a po co?
fasadin
RevNameQuest z tego co widze jest Quest'em. Czyli powinien zawierac jakies zadanie. To tyle jak ja rozumiem RevNameQuest. Jezeli szef daje Ci zadanie "napisz metode ktora wygeneruje okrag", to wtedy TY (hero) posiadasz ZADANIE (quest). W tym przypadku quest "posiada" bohaterow. To tak jakby skarpetki posiadaly czlowieka. Albo Jakby napisac klase Bron, Ekwiputek itd i one by posiadaly postac a nie na odwrot. Idac dalej ta struktura, to do wszystkiego co "posiada" Hero musi zostac przekazana postac. Jezeli sie dobrze to napisze, nie bedzie problemow bo relacja "dziala" w obie
fasadin
strony, ale jednak naturalne jest ze czlowiek posiada stopy a na nich ma skarpetki. A niezeli Skarpetki posiadaja stopy a stopy posiadaja czlowieka
KA
no w sumie tak racja.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.