Hirdetés
- Milyen monitort vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Amlogic S905, S912 processzoros készülékek
- Az időjárás borongósabbra váltott, de a hardverek még vígadnak
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- OLED TV topic
- Microsoft Surface
- Hobby elektronika
-
PROHARDVER!
Ú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!
- iPhone 17 Pro Max Karl Lagerfeld tokok
- Gamer Szörnyeteg PC Ryzen 7 5700X3D NITRO RX 7800 XT 64GB RAM Full Corsair RGB
- Lenovo IdeaPad Y700 17"3 17ISK i5-6300HQ, GTX 960M 4GB, 32GB DDR4 2133MHz
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 16GB 512GB 15.6 új akksi 1év garancia
- DELL Precision 5560 i7-11850H 32GB 1000GB T1200 FHD+ 1 év garancia
- Bowers/Wilkins PX8 fejhallgatók (dupla Bluetooth eszköz csatlakoztatása!) (CSAK RENDELÉSRE)
- HIBÁTLAN iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3231
- HIBÁTLAN iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3330
- HP EliteBook 1050 G1 i7-8750H 32GB RAM 1000GB Nvidia GTX1050 4GB SSD FHD IPS 120Hz 1 év garancia
- Microsoft Surface Laptop 5 i5-1245U 16GB 512GB 13.5" Gorilla Glass TouchScreen 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest