NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.

Diskuze – Tvorba Snake 2D - krok za krokem v Javě

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
matesax
Tvůrce
Avatar
matesax:22.10.2012 17:29

To mi přijde jednodušší řešení to mé - mám ho jako seznam pozic - když se pohybuje, smaže se zadek, a přidá nová hlava (podle směru). (První položka se vždy vykresluje jako hlava.) Když zrovna jí, tak se akorát nesmaže zadek... Dále had má zmiňovanou vlastnost směr a podle té se pohybuje - v enum je i stop - takže popř. stojí - i když se volá move - tím mi stačí pořád volat move. No a při stisknutí klávesy se akorát nastaví nový směr... (Bonus se generuje podle délky hada a náhodného čísla.)

 
Odpovědět
22.10.2012 17:29
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:22.10.2012 18:14

Ještě jeden rozdíl tady je: Tento had mi (po drobných úpravách) funguje. Jenom když se někde zakousne, hra se zastaví, nereaguje na nic a musím zavřít okno. Ještě se podívám, čím to je.

Odpovědět
22.10.2012 18:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Fugiczek
Tvůrce
Avatar
Odpovídá na matesax
Fugiczek:22.10.2012 18:39

Na tvé řešení se tu nikdo neptal ;-) Já to kdysi psal podle verze ze starých nokií a tam se nezastavovalo. Toto neměla být žádná převratná hra, jen jsem na požádání albertpatera popsal jak při tvoření postupuju a rovnou udělal úpravy ve starém kódu.

To Kit: to zakousnutí je tím že kolize se kontroluje v určité době, takže pokud nastane kolize po kontrole tak chvíli trvá než se to zase zkontroluje, ale to by nemělo trvat nějak moc dlouho

O všech chybách jsem si vědom, jen se mi nechtějí opravovat, jak už jsem psal, šlo jen o postup na žádost albertpatera...

 
Odpovědět
22.10.2012 18:39
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Fugiczek
matesax:22.10.2012 18:51

Děkuji, že jsi mě slušně poslal někam - chtěl jsem ti poradit - ale tak si klidně smol kilometrové kódy a neuč se jednodušším řešením... A efektivitou abych si utíral zadek - že? Viz. test kolizí v časových intervalech...

Editováno 22.10.2012 18:51
 
Odpovědět
22.10.2012 18:51
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Fugiczek
Kit:22.10.2012 18:53

Může to být klidně zaviněno přenosem mezi platformami a různými verzemi Javy (mám 1.6.0_22). V Javě normálně nedělám, může to být i z jiných důvodů. Budu zkoumat.

Odpovědět
22.10.2012 18:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Fugiczek
Tvůrce
Avatar
Fugiczek:22.10.2012 19:00

To matesax: Já tě nikam neposílál, jen jsem naznačil že mi tvuj názor celkem u pr*ele :-) Zadek si utírej čím chceš, do toho se ti vtírat nebudu. Ono by stačilo pohyb napsat před kontrolu kolizí a bylo by to vyřešený. Já o těch chybách vím :-) Ale proč bych si měl nechat radit od někoho kdo ani pomalu neumí upravit svoje vlastní kódy?

To Kit: Nejspíš to bude rozdílnými verzemi Javy a nejspíš to bude dělat řádek:

body = new ArrayList<>();

Toto lze od javy 7.
V javě 6 se to musí vypisovat takhle:

body = new ArrayList<GObject>();
 
Odpovědět
22.10.2012 19:00
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Fugiczek
matesax:22.10.2012 19:07

Sorry, ale vytahovat staré věci - není to trochu dětinské? :) Aktuálně se mě tedy chaos v kódech rozhodně netýká... Nebo ti přijde jeden list, 2 proměnné a struktura jako chaos - anebo jako lepší a jednodušší řešení? :) (Upravenou verzi jsem již nepublikoval.)

 
Odpovědět
22.10.2012 19:07
Avatar
Kit
Tvůrce
Avatar
Kit:22.10.2012 19:12

Ten řádek jsem měl jen

body = new ArrayList();

protože mi to nešlo zkompilovat. Po úpravě se nic nezměnilo.

Možná budu brzy dělat celkový upgrade OS, sveze se s tím i Java. Tak to neřeš. Chtěl jsem si jen vyzkoušet nějaký program v Javě s GUI. Nějaká funkčnost tam je, pro dnešek jsem spokojen.

Odpovědět
22.10.2012 19:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Fugiczek
Tvůrce
Avatar
Odpovídá na matesax
Fugiczek:22.10.2012 19:15

Možná je, možná není. Není jak posoudit. Názor ostatních na mě je mi lhostejný. V chaosu má každý svůj pořádek a tvrdit že v kódu nemáš chaos zní celkem nafoukaně. Každý má svůj vlastní styl psaní. Navíc o Javě nevíš skoro nic, tak mi do toho nekecej ;-) já ti taky nekecám do kopírky (pokud jsi nepochopil myslel jsem tím C#).

No a stejně tahle diskuze nikam nevede, takže pokud ještě máš něco na srdci tak mi pošli SZ...

 
Odpovědět
22.10.2012 19:15
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Fugiczek
matesax:22.10.2012 19:19

Jak ty víš, že o Javě nic nevím? :) Zaprvé, má hodně společného s C#, za druhé v ní dělám... Vzhledem k tomu, že dodržuji OOP se přehlednosti ani vyhnout nedá... (Vše má stejný nárys - stejné názvy, stejné metody,...)

Editováno 22.10.2012 19:21
 
Odpovědět
22.10.2012 19:19
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 38.