Plants vs. Zombies játék megírásához kaphatnék néhány ötletet?
Az idei kötelező programom, egy GUI nélküli PVZ játák megírása. Nem kell túlbonyolítanom. (2 osztály, öröklődés, 3 operator overloading, 5 függvény, dinamikus memóriafoglalás). Azonban a kiinduláshoz tanácsot, illetve segítséget szeretnék kérni, hogy hogyan fogjak neki? (C++)
Az alap ötletem az hogy lenne egy PlantsVersusZombies ősosztály ebből örököltetnék BasicPlant, HyperPlant, BasicZombi, HyperZombie osztályokat. Az alap növény 1-et a hiper növény 2-t tud lőni illetve az alap zombi 2 a hiper 3 lövésbe halna bele... stb..
Mire vagy kíváncsi?
Egyébként, mivel minden tulajdonságuk különbözik(talán a sebzés van meg mindkettőnél) én teljesen elkülöníteném a növényeket és a zombikat.
Jajj de imádtam én is a prog1-et SZTE-n...
1. megjelenítés résznél lehetnek azért közös dolgok
az ősosztály elnevezése viszont tényleg rossz
Mint minden játéknál, kell egy fő loop:
while (running) {
tick();
render();
sleep(x);
}
Nem a legjobb megoldás, de a lényeg látszik.
A tick a logikai részeket frissíti, a render pedig rajzol. A tick valahogy így nézhet ki:
for (int i = 0; i < entities->size(); i++) {
entities->at(i)->tick();
}
A render is hasonló. A lényeg hogy minden ami logikailag frissül és kirajzolódik, az egy absztrakt entity classból származik, ami ezt a 2 metódust írja elő:
class Entity {
public:
virtual void tick() = 0;
virtual void render() = 0;
};
Aztán minden ebből származik. Az osztályhierarchiához annyit tennék hozzá, hogy az entityből lenne érdemes örököltetni egy absztrakt zombit és egy absztrakt növényt, és aztán azokból a konkrétabbakat. Ne feledd, hogy a lövedék is entity.
Szerintem ez alapnak már elég lehet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!