Hirdetés
- Vic87: Nem tudom mit tévő legyek - tanács kérés
- sidi: Régi Gépterem: 386
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál...
- sidi: Samsung Deskmaster 386s/20n
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- urandom0: Aki használ/használt Giten kívűl más verziókezelőt, mesélne róla?
- MasterDeeJay: MSI H110M PRO és i3-8350K (coffeetime mod)
-
LOGOUT
Új hozzászólás Aktív témák
-
VikMorroHun
őstag
válasz
cog777 #20384 üzenetére
Thor (Pirate Software) videóit érdemes nézegetni, remek tippeket ad játékfejlesztéshez. Volt olyan (naná, hogy most nem találom), ahol szépen elmagyarázta, hogy nem a legnehezebb résszel kell kezdeni, és nem is kell mindent elsőre tudnia a játéknak. Elég lépcsőzetesen haladni (most elkészítem a játékteret, aztán a mozgást rajta, aztán interakciót, stb.).
-
nevemfel
senior tag
-
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ó)
-
coco2
őstag
válasz
cog777 #20384 üzenetére
>A cel hogy modern, megvalositas szempontjabol hatekony programozasi algoritmusokat es programming pattern-eket hasznaljak.
Ez valami iskola dolog lehet. Konkretizálni kellene, mit szeretnél. Iskolai beadandót gyártani, vagy karbantartható kódot. Ami szemre kényelmes, és karbantartható, az nem fog tetszeni a tankönyvnek. Vagy-vagy.
>nagy if else ag
Szétszeded egyszem if-ekre. Else-eket pedig nem használsz. Egyszer próbáld ki.
>kijusson a terkeprol
X-Y-Z koordinátában rálép az exit mezőre.
>interakciot lehet csinalni
X-Y-Z koordinátán vannak tárgyak, bennük regisztrált interakciók, player koordinátára lép, felkínálod neki, és vagy választ, vagy tovább lép.
>birtokba venni
Csinálsz player inventory-t.
>interakciot hogy lehet leprogramozni
Ha player is es item is X-Y-Z koordinátán van, akkor elérhető a tárgyakban regisztrált akció, egyébként meg nem. Pollozol, és frissíted az állapotot minden elmozdulásnál. Ha a tárgyak egy helyen vannak, programozol olyat, hogy "látják" egymást, és akkor extra akciókat kínálsz fel.
>menteni az allast es visszatolteni
Game állapotot és / vagy player profile-t sorosítasz, mented, töltöd.
>verzio upgradet is tuleljen
Mentés / töltéshez api version-t használsz, amit beleraksz a sorosításba, és fejlesztésnél egy ideig még meghagyod a támogatást előző verziók betöltésére (menteni már csak új formátumot használsz).
>Kb itt akadtam el.
Vagy inkább ott, hogy mindent azonnal akarsz. Az elején hagyd a grafikus motorokat és társaikat, és írj egy szöveges kalandjátékot. Közösségi terepen a "mud"-ok szerintem mind a mai napig léteznek, mégha elhagyatottak is. Keress egyet, írj nekik, dolgozz össze a csapattal kicsit, és belerázódsz a játék gyártás alapjaiba.
Hehh, az Elveszett Világ még mindig megvan.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Formula-1
- Milyen alaplapot vegyek?
- OpenMediaVault
- Apple MacBook
- Renault, Dacia topik
- Vic87: Nem tudom mit tévő legyek - tanács kérés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Windows 11
- Samsung Galaxy Z Fold6 - ugyanaz, sarkosan fogalmazva
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Incott G23 v2
- Marantz Model M1 hálózatos sztereó erősítő eladó
- Pylon Audo Pearl 27 - háromutas hangfalpár eladó
- BESZÁMÍTÁS! Apple MacBook Pro 16 M4 Pro 48GB RAM 4TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Air 15 M4 24GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- HIBÁTLAN iPhone 14 256GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3535
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3408
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3580, 95% Akkumulátor
- Gamer PC-Számíógép! Csere-Beszámítás! I7 13700F / RTX 4070Ti Super 16GB OC / 32GB DDR5 / 1TB SSD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest