Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Polimorfizm i szblony w grze

Ostatnio zmodyfikowano 2013-06-10 20:48
Autor Wiadomość
daniel0801
Temat założony przez niniejszego użytkownika
Polimorfizm i szblony w grze
» 2013-06-08 12:25:35
Witam!

Piszę grę i proszę o sugestie w sprawie konstrukcji które zamierzam użyć.

Otóż jest to gra planszowa zawierająca pole+ pole- pole_neutral.

Zadeklarowane mam klasy pole_plus pole_minus pole_neutral które dziedziczą po polu, ponieważ każde pole musi mieć jakieś współrzędne.

Wszystkie pola planszy to ich tablica z określoną sztywnie wartością.

Muszę na np. 50 pól generować 3plusowe i 3minusowe reszta to neutralne obiekty.

Jak wykorzystać do tego szablony żeby to miało sens?

bo np. chciałbym:

pole* pole[1] = new pole_plus;
pole* pole[2] = new pole_neutral;
pole* pole[3] = new pole_neutral;
pole* pole[4] = new pole_minus;
itd.

W plansza.h będę generował odpowiednie nr pól + jaki i -.

Jak to skonstruować by to sensownie działało?

Z góry dzięki!
Pozdrawiam


P-85142
jsc
» 2013-06-08 13:18:56
Można zrobić pole identyfikatora typu podrzędnego i robić odpowiednie rzutowania przy wykorzystaniu.
P-85148
daniel0801
Temat założony przez niniejszego użytkownika
» 2013-06-08 14:42:22
Mógłbyś poczęstować jakimś kodem czy pseudokodem bo ogólnie chciałbym to dobrze z czaić. Bo w ogóle nie mam pojęcia jak się za szablony zabrać.
P-85158
unimator
» 2013-06-08 19:31:21
Z tego co przeczytałem wydaje mi się, że klasy + dziedziczenie + polimorfizm w zupełności Ci wystarczą.

Nie do końca rozumiem co miałeś na myśli pisząc taki fragment kodu ale będę strzelać:

pole* pole[1] = new pole_plus;
pole* pole[2] = new pole_neutral;
pole* pole[3] = new pole_neutral;
pole* pole[4] = new pole_minus;

C/C++
pole * pPole[ 50 ];

pPole[ 1 ] = new pole_neutral;
pPole[ 2 ] = new pole_plus;
//...

Wszystko zależy jednak od tego co potem z tym będziesz :P.
P-85193
pekfos
» 2013-06-08 19:37:57
Bo w ogóle nie mam pojęcia jak się za szablony zabrać.
A po co tu szablony?

Muszę na np. 50 pól generować 3plusowe i 3minusowe reszta to neutralne obiekty.
I w czym problem?
P-85195
daniel0801
Temat założony przez niniejszego użytkownika
» 2013-06-09 00:00:04
Bo mam taki warunek że muszą być w tyn szablony. Jak wykorzystać szablon metody tak aby tworzyć obiekt pole+, pole-, pole_neutral?
P-85222
unimator
» 2013-06-09 11:04:59
Może coś takiego:

C/C++
template < typename Typ_Pola >
class Pole
{
    Typ_Pola oPole;
    //... reszta skladowych
}

I potem poszczególne pola tworzyłbyś mniej więcej tak:
C/C++
void * pPole[ 50 ];

pPole[ 1 ] = new Pole < Pole_Neutral >;
pPole[ 2 ] = new Pole < Pole_Neutral >;
pPole[ 3 ] = new Pole < Pole_Plus >;
//...
P-85236
daniel0801
Temat założony przez niniejszego użytkownika
» 2013-06-09 22:56:48
Klasy pole+ pole- pole neutral mogą dziedziczyć po polu i ma sens wykorzystać w tym polimorfizm po to by dla każdego obiektu zaimplementować metody do wypisania przykładowo? Wasze komentarze są mi bardzo pomocne.
P-85288
« 1 » 2
  Strona 1 z 2 Następna strona