Hirdetés
- Kétmotoros tereproller, ami nem lett túl drága - Ausom L2 Max Dual
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Xiaomi 13 - felnőni nehéz
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Huawei Watch GT 4 - kerek karék
- Megdöntheti az iPhone 4 rekordját az iPhone 17
- Poco F7 Pro - jó, de az amatőr sem rossz
- Motorola Edge 40 - jó bőr
- Android alkalmazások - szoftver kibeszélő topik
-
Mobilarena
Ú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!
- Szupermagos dizájnnal kísérletezik az Intel
- Gaming notebook topik
- OLED TV topic
- Epic Games
- Gitáros topic
- AMD Navi Radeon™ RX 6xxx sorozat
- Suzuki topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- A fociról könnyedén, egy baráti társaságban
- BestBuy topik
- További aktív témák...
- Új HP 16 Elitebook 865 G10 WUXGA IPS Ryzen5 Pro 7540U 4.9Ghz 16GB 1TB Radeon 740M Win11 Pro Garancia
- HP EliteBook 840 G7 i5-10210U 16GB 256GB 1 év garancia
- BESZÁMÍTÁS! ASUS B550 Vision D B550 chipset alaplap garanciával hibátlan működéssel
- Game Pass Ultimate előfizetés azonnal, élettartam garanciával, problémamentesen! Immáron 8 éve!
- Bomba ár! Dell Latitude E6430 - i7-3720QM I 16GB I 250GB I Nvidia I 14" HD+ I Cam I W10 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest