Avatar
Lukáš Kolář:

Ahoj, můj dotaz se týká ,pěšin".
Stále tvořím v GM Tower Defense, dost jsem se v něm naučil, a nyní bych chtěl vytvořit místnosti s různým stupněm obtížnosti(nízká, střední, vysoká).
No a pro každou místnost a v něm vyskytující se objekty bych chtěl, aby každej předmět měl v těch místnostech různý směr a napodoboval pěšinu, která je místnost od místnosti jiná.
Vyzkoušel jsem skoro vše, co se týká room_exists apod. ale nic nefungovalo. Nevíte tedy jak na to? Díky

 
Odpovědět 17. července 18:55
Avatar
David Šercl
Člen
Avatar
David Šercl:

Nejsem si jist, jestli jsem to pochopil, ale používání tzv. PATHS není úplně šťastné řešení. Předpokládám, že chceš změnu trasy pro různý level obtížnosti. Já jsem kdysi tuto metodu využil skrz distance objektů.

 
Nahoru Odpovědět  -1 18. července 15:12
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Lukáš Kolář
TomBen:

Otázka je skutečně napsána tak, aby ji pokud možno nikdo nepochopil, ale přepokládám, že jde o to, jak v kódu objektu zjistit, v které místnosti leží. K tomu slouží proměnná room.

Takže v kódu něco jako:

if room==mistnost_lehka { path_start(cesta_1,1,0,1); //rozjeď se po trase 1 }
Nahoru Odpovědět 20. července 10:17
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Šercl
TomBen:

Není žádný důvod, proč by použití paths bylo "ne úplně šťastné řešení". Zvlášť pro tower defense jsou paths jako dělané.

Nahoru Odpovědět 20. července 10:19
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Šercl
Člen
Avatar
David Šercl:

Já si myslím, že Path prostě není nejlepší řešení. Kdysi jsem s tím zkoušel pracovat a pokud tu funkci použiješ s kombinací funkcí distance_to_point to funguje špatně. Kdysi jsem to zkoušel u hry kde lodě tzv. hlídkovali a pokud jsi se k nim přiblížil svou lodí, tak měli opustit path a přesunout se ke tvé lodi, následně pokud se od nich vzdálíš, tak ty hlídkové lodě místo toho aby se vrátili k místu kde se odklonili od path, tak se vrátili na začátek path. Máš pravdu, že v Tower defense se to zřejmě dá použít, ale dle mého názoru jsou Path nepratické, při dalším využití :)

 
Nahoru Odpovědět 20. července 10:45
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Šercl
TomBen:

Tos je jenom špatně použil, uvidíš časem, že paths umí ušetřit spoustu práce. Zvláště pokud neumíš naprogramovat pohyb po parametrické křivce kódem. Schválně se tě zeptám, jak bys bez paths naprogramoval plynulý klikatý pohyb tak, abys ho mohl snadno upravit např. podle změny grafiky v pozadí.

Nahoru Odpovědět 20. července 11:10
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Šercl
Člen
Avatar
David Šercl:

Netvdím, že jsem profík.
Pokud začnu zleva do prava:
x+=1;
if stav=1{
if y<=0{
stav=2;
}
y-=1;
}
if stav=2{
if y>=room_height{
stav=2;
}
y+=1;
}

Editováno 20. července 11:23
 
Nahoru Odpovědět 20. července 11:20
Avatar
TomBen
Redaktor
Avatar
TomBen:

Jo, to je ukázkově špatně.

Za prvé: měl bys psát podmínky if čitelněji.
Za druhé: pro komplexnější podmínky používej else nebo switch.
Za třetí: piš stručné komentáře ( vyplatí se to )
Za čtvrté: měl jsem na mysli obecný plynulý pohyb definovaný několika body něco jako se snažíš vyrobit v tom RTS projektu, kde s tím máš zjevně taky problém

Nahoru Odpovědět  -1 20. července 11:42
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Šercl
Člen
Avatar
Odpovídá na TomBen
David Šercl:

Já ti nebudu oponovat, každý má svůj typ psaní kódu, tohle se jednoznačně říct nedá. Já jsem ti už předtím psal, že nejsem profík, ale všechny ty věci co jsi tu napsal znám. Jinak s tím RTS problém nemám, není to první, o které jsem se poušel(jedno i částěčně fungovalo i když s rezervami, ono naprogramovat jednoduché enemy UI není žádný med), jen jsem tu hledal nějaké tipy.

 
Nahoru Odpovědět  -1 21. července 15:23
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Šercl
TomBen:

Proč bys mi neoponoval? Od toho přece diskuse je.
Ale odcházíme o d tématu Paths, takže se pokusím být stručný.

Viděl jsem tvůj kód a proto to mohu jednoznačně říct. Je špatně čitelný ve srovnání s jinými.
Profík je člověk, který bere za práci peníze. Z pohledu kódu jde o irelevantní věc.
Programovat RTS není med ( 100% souhlas ), problém s ním máš ( já ho viděl ) a je to opět zcela v pořádku, protože od toho tu itnetwork je. Dokonce i v případě, že se řešení nenajde, je dobré sdílet informace, které byly pracně získány.

Přes nesouhlasné mínusy, jsme nejspíš oba pochopili svá stanoviska. Za pár let se na své výtvory podíváš a uvidíš, to co vidím já teď. Momentálně máš pocit, že tě zbytečně kritizuji a možná máš pravdu. Já si totiž dost optimisticky myslím, že to člověku může někdy pomoct a proto to stojí za tu trochu protivnosti.

Nahoru Odpovědět 21. července 23:09
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
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 10 zpráv z 10.