IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.

Diskuze: Dobrý OOP návrh

Aktivity
Avatar
Raiper34
Tvůrce
Avatar
Raiper34:12.8.2015 10:37

Zdravim,

pracoval som na jednoduchsej hre vo Frameworku Phaser, ale nejako som zistil ze co sa tyka OOP navrhu som na to asi dost zle.... Ide mi o jednu vec, mam hraca, s ktorym manipulujem v dalsich asi 5 objektoch, a mam dalsie taketo objekty ako hrac, ktory referencie su potrebne v inych viacerych objektoch. Moja otazka je, ako sa toto riesi z pohladu navrhu? To mam hraca predat do kazdeho objektu, ktory ho potrebuje? Konstruktory sa potom stavaju celkom nechutne dlhe, alebo ako? Teraz to mam urobene ako globalne premenne, co je z mojho pohladu absolutne zle a je to odzrkadlenie zleho navrhu.

Odpovědět
12.8.2015 10:37
Posledná vydaná hra: http://www.islandsoft.cz/index.php?art=hra-akcna-space-resistance
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Raiper34
David Hartinger:12.8.2015 10:48

Obvykle se vytvoří nějaký kontejner se závislostmi a ten se předává. XNA tohle řeší tak, že předává všem GameObjectům v konstruktoru instanci Game a tam jsou reference na aktuální level, hráče a podobně. Ideálně bys to měl samozřejmě řešit pomocí dependency injection, ale na tohle se ve hrách IMHO moc nehraje.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
12.8.2015 10:48
New kid back on the block with a R.I.P
Avatar
Raiper34
Tvůrce
Avatar
Raiper34:12.8.2015 10:55

Takto som to riesil v ramci skolskeho projektu a mal sopm z toho vycitky ze to je zle :-D Ale diky, aspon viem aky je postup :) teraz rozmyslat ci to prepisat trochu alebo nie, lebo hra funguje spravne len ten kod s 5 globalnymi objektami no, dalsi projekt bude asi lepsi :)

Nahoru Odpovědět
12.8.2015 10:55
Posledná vydaná hra: http://www.islandsoft.cz/index.php?art=hra-akcna-space-resistance
Avatar
Raiper34
Tvůrce
Avatar
Raiper34:12.8.2015 11:10

Aj ked teraz rozmyslam, tak to nemam v podstate globalne v pravom slova zmysle, lebo sa nachadzaju v objekte hry.

Nahoru Odpovědět
12.8.2015 11:10
Posledná vydaná hra: http://www.islandsoft.cz/index.php?art=hra-akcna-space-resistance
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.