Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- WhrlpoolMind: Búcsú a HD3870-től
- MaxxDamage: Vizes Laptop Hűtés? Lehetséges? Igen!
- GoodSpeed: Aquaphor Modern víztisztító
- Oldman2: A KOReader ebook olvasó program
- Klaus Duran: Nem csajos Samsung Z Flip
-
LOGOUT
Új hozzászólás Aktív témák
-
válasz
cog777 #20384 üzenetére
A visitor pattern erős túlgondolása a problémának
Alapvetően nincs szükséged arra, hogy különböző típusú objektum legyen minden mező, simán lehetnek ugyanabban az osztályban (esetleg ugyanannak az ősosztálynak a leszármazottai, de így elsőre még csak ezt se erőltetném, öröklődésre meglepően ritkán van szükség a valós életben).
Hogy konkrétabb implementációs ötletek is legyenek:
A mezőkhöz tartozó lehetséges akciókat (felfedezés, harc, táborozás, mittomén) beraknám egy enumba és a mezőknek lenne egy getActions() metódusa, ami visszaadja a lehetséges dolgokat egy listában meg egy doAction(action) ahol megadod, hogy mit akarsz csinálni és azt elvégzi.A tárgyaknak csinálnak egy saját osztályt (a lehetséges tárgyak listájából meg megint egy enumot) meg egy konténert hozzá mondjuk Inventory néven és mind a mezőknek, mind a játékost reprezentáló objektumnak lenne egy-egy Inventoryja, ilyen list(), fput(), get() függvényekkel meg esetleg itt lehet a mindenféle effekteket is megcsinálni (pl getHeat(), ami összeszámolja, hogy a fáklya ad +1 meleget, a Staff of Fire ad +10-et, a játékosra varázsolt Icestorm of Kartak spell (ami lehet a játékos vagy a mező inventoryjában mint amolyan rejtett item) meg -20-at).
A craftinghoz meg csinálhatsz egy Recipe class-t, amiben benne van egy lista, hogy miből mennyi kell meg egy másik lista, hogy ebből mi és mennyi keletkezik, meg egy Crafter classt, aminek adsz egy Recipe listet meg egy Inventoryt és olyan metódusai vannak, hogy getPossibleRecipes(), doRecipe() meg ilyenek.
Na ezt az egeszet megfejelve ugy hogy le lehessen menteni az allast es visszatolteni.
Google serialization (meg azon belül is JSON)
Ja és emvy javaslata a hex helyett négyzetekről tényleg nagyon megfontolásra érdemes (főleg, hogy ha a négyzetes működik már, akkor annak átalakítása hexesre valószínűleg nem lesz túl nagy meló)
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- új, bontatlan Kingston FURY Impact 32 GB KIT DDR4L-3200 SoDIMM CL20-22-22 memória / kisker garancia
- Asztali PC , i5 10400F , RX 6600 XT , 16GB DDR4 , 512GB NVME
- Bomba ár! Fujitsu H760 - i7-6820HQ I 32GB I 500SSD I 15,6" FHD I Nvidia 4GB I Cam I W10 I Garancia!
- LG 32" ívelt Monitor 32MR50C-B
- Bomba ár! HP EliteBook 840 G8 - i5-1145G7 I 8GB I 256GB SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
- BESZÁMÍTÁS! Logitech G923 Driving Force Racing Wheel + Shifter garanciával hibátlan működéssel
- Samsung Galaxy A21s 32GB, Kártyafüggetlen, 1 Év Garanciával
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- BESZÁMÍTÁS! HP Victus Gaming 16-S0017NH 16 notebook - R5 7640HS 32GB DDR5 1TB SSD RTX 4050 6GB WIN1
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest