-
ojopojo
Dlubie sobie w Javie i zastanawiam sie nad podejsciem do problemu
Mam 2 rodzaje kart: postaci i akcji. (
Z nich chcialbym sobie ulozyc 2 stosy na stole.
Zatem stworzylem sobie uniwersjalna klase Deck ktora mi obsluguje klase bazowa Card.
I pytanie czy
1. stworzyc 2 klasy do odpowiednio StosKartPostaci i StosKartAkcji ktore zwracaja odpowiedni typ karty ( a nie ogolny )
2. przyjmowac klase bazowa a pozniej jak nam jest potrzebna odpowiednia klasa, to sprawdzamy jej klase szczegolowa.
( obrazowanie --start
jest klasa Gracz, posiada ona liste List<Card> hand
pisze sobie methode sluzaca dodaniu karty akcji do reki gracza
addActionCard.
i czy uzyc addActionCard(Card card) bo moja uniwersalna klasa Deck zwraca obiekty klasy Card
i w ciele metody sprawdzic czy to jest ActionCard
czy np addActionCard(ActionCard card)
i wtedy stworzyc nowa klase stostu ktora mi wyplywa karty akcji
--koniec obrazowania)
-
Ja nie istnieje (FURBY)
dlatego jest obiektowosc zeby nie bylo problemu 2 stosow gdy chcemy miec jeden :O -
ojopojo
nakresle inaczej :)
abstract class Card { }
class abstract extends Card {
void doAction();
}
class NobleCard extends Card {
duperele parametry;
}
class Deck {
List<Card> deck;
}
class Player {
List<> hand;
List<> collected;
void addActionCard(<> card)
}
no i kwestia jest taka ze do hand moga wlatywac tylko ActionCard
a do collected tylko NobleCards
Zatem pytanie czy pozostac tylko przy jednej klasie Deck czy zrobic jemu dwojke dzieciakow ktore trzymaja tylko karty o odpowiedniej klasie i wtedy nie bedziemy sie musieli bac o niezgodnosc typow ? -
Ja nie istnieje (FURBY)
-
-
Ja nie istnieje (FURBY)
-
ojopojo
-
Ja nie istnieje (FURBY)
a nie lepiej wyjsc do
abstrac class Card
{
void PerformAction(){}
}
no i teraz gosc ma lape skladajaca sie z tablicy tych kart.. i jak bierzesz karte to performuejsz akcje na niej :O i to co ma zrobic karta z akcja robi a to co ma zrobic karta bez akcji robi :O czy jakos w ten desen :)
Pusta klasa bazowa to nie jest jakis turbo super omen bo wychodzi na to ze jest zbędna... szczegołnie w twoim rozumowaniu :)
Mozesz do srodka wstawic enuma z typem karty :O
-
ojopojo
to bylo tylko takie naszkicowanie
klasa bazowa zawiera na razie string name, i boolean discarded ( ale nie wiem czy bede to uzywal)
pozniej moze tam dorzuce obiekty potrzebne do rysowania.
chodzi o to ze w grze sa 2 rodzaje kart akcji: te ktora gracz zagrywa i trzyma w lapce, i karty ludkow ktora sa na stole, i pozniej one moga byc zbierane.
jest kilka kart typu NobleCard ktore by mialy jakas akcje np. ciagnij nastepna karte noble i doloz na stole, ale wiekszosc ma tylko nazwe punkty i jakies tam parametry.
Mozna by wszystko wrzucic jako jeden rodzaj kart, gdzie czesc ma pusta metode PerformAction a pozostale costam maja powypelnianie, ale nie wiem czy tak jest dobrze obiektowo. :-) ale do tego trzeba sie przyzwyczaic.
dzieki za odpowiedz.
- Przeglądaj grona w kategorii Internet i Komputery
- Przeglądaj grona w okolicy Warszawa
- Załóż własne grono tematyczne
- Zostań moderatorem
Podobne Tematy
|
|
Wszystko co związane z programowaniem w Java (J2EE, JSP, JDBC, itd) test
Miejsca grona (1)
-
Kino Luna ul. Marszałkowska, Warszawa
www.kinoluna.pl kino.luna@maxfilm.com.pl 22 621 78 28
- Dodaj miejsce

