Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Ahoj všichni, tentokrát si v machrovi vyzkoušíme něco trochu zajímavějšího. Vaším úkolem bude vytvořit jednoduchou hru. Hra bude fungovat na ploše o velikosti 800 × 600. Na vykreslování můžete použít buď Windows Forms a PictureBox nebo WPF a Canvas.

Princip hry bude následující
ve spodní části hry bude rovná plocha (trávník nebo jakýkoli jiný povrch)
na této ploše se bude pohybovat hráč
styl pohybu a ovládání nechám na vás, stejně tak i vzhled (postavička, vozidlo či cokoli jiného)
Z horního okraje budou padat náhodné předměty, kterým je třeba se vyhnout. Na počátku budou mít nulovou rychlost, bude na ně ale platit gravitace. Při nárazu do spodní plocha se odrazí s 80% rychlosti a při 5. nárazu se rozbijí (zmizí).
zbytek nechám na vás, snažte se, aby to vypadalo co nejrealističtěji

Pro jakékoli dotazy je dost místa v komentářích.

Čas si dáme do pondělí 11.8.2014 do 16:00. Vyhodnocení by mělo být téhož dne večer.

Kompletní pravidla soutěží: http://www.itnetwork.cz/…outezi-machr
Pozn.: Prosím odevzdávejte to v zazipované složce, ať to nemusím rozbalovat nějakou webovou službou

Odpovědět 6.8.2014 8:13
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
GunSpawn
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
GunSpawn:

800x600 má být celé okno, nebo jen vnitřní plocha?

Nahoru Odpovědět 6.8.2014 8:52
Save early, save often, save everything, everywhere, everytime.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na GunSpawn
Zdeněk Pavlátka:

Má to být plocha s hrou.

Nahoru Odpovědět 6.8.2014 9:08
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
GunSpawn
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
GunSpawn:

a jak velké by teda mělo být celé okno

Nahoru Odpovědět 6.8.2014 9:49
Save early, save often, save everything, everywhere, everytime.
Avatar
Odpovídá na GunSpawn
Michal Haňáček:

Nemáš to jedno? V zadání to není, tak že si ho udělej jak velký chceš. Jediný (a ještě k tomu spíš jenom logický) omezení je to, aby celková velikost okna byla větší než velikost herní plochy (čili větší jak 800x600) ...

Nahoru Odpovědět 6.8.2014 10:11
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Michal Žůrek (misaz):

ono jde taky o to, aby tady nedošli řešení ve FullHD. Pokud Zdeněk nemá velký monitor, tak musí testovat na malém a je nepříjemné, když aplikací "vybíhá" z monitoru. Borci to udělají responzivní :P

Nahoru Odpovědět  +2 6.8.2014 10:23
Nesnáším {}, proto se jim vyhýbám.
Avatar
GunSpawn
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
GunSpawn:

tak já dám jedno rozlišení bez možnosti maximalizace,ale nwm jaký, aby vnitřní okno bylo 800x600

Nahoru Odpovědět 6.8.2014 10:25
Save early, save often, save everything, everywhere, everytime.
Avatar
Odpovídá na Michal Žůrek (misaz)
Michal Haňáček:

Tak jasné, že by to bylo nepříjemné, ale tak nějak nepředpokládám, že by někdo dělal FullHD okno a v něm herní plochu 800x600. Každopádně i kdyby to tak někdo udělal nebylo by to nic proti zadání 8-)

Nahoru Odpovědět  +1 6.8.2014 10:30
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Jan Demel:

Takový blbý dotaz ... XNA povoleno ? :D

Nahoru Odpovědět 6.8.2014 10:32
To co se zdá být nemožné, je vždy možné.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na GunSpawn
Zdeněk Pavlátka:

V rozhraní Visual Studia je to jednoduché, připravíš si okno o něco větší, dáš do něj pictureBox o správné velikosti a okno zmenšíš aby to sedělo.

Nahoru Odpovědět  +1 6.8.2014 10:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 6.8.2014 10:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Nahoru Odpovědět  -1 6.8.2014 10:36
Nesnáším {}, proto se jim vyhýbám.
Avatar
GunSpawn
Redaktor
Avatar
Nahoru Odpovědět 6.8.2014 10:38
Save early, save often, save everything, everywhere, everytime.
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
qwertyW:

protože

Na vykreslování můžete použít buď Windows Forms a PictureBox nebo WPF a Canvas.
Nahoru Odpovědět  +5 6.8.2014 10:42
Programuji, tedy jsem.
Avatar
Odpovídá na qwertyW
Michal Žůrek (misaz):

to nic nemění na otázce. Proč je XNA zakázaná? XNA se na toto hodí nejlépe. Narozdíl od superpomalého GDI a superRAMrozežraného WPF canvasu.

Nahoru Odpovědět  -1 6.8.2014 11:40
Nesnáším {}, proto se jim vyhýbám.
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
qwertyW:

no, protože jsou takhle stanovený ty pravidla...
"Proč to vlastně nemůžu napsat v Unity? Vždyť to tam taky píšu v C#."

Nahoru Odpovědět  +3 6.8.2014 11:59
Programuji, tedy jsem.
Avatar
Odpovídá na qwertyW
Michael Olšavský:

Jenže framework je něco jiného než Engine. XNA ti zajistí více méně to samé jako WPF.

 
Nahoru Odpovědět  +3 6.8.2014 15:16
Avatar
Michal Haňáček:

Chlapi, co řešíte? Zadání je jasně dané a podle mého víc než jasně. Zdeněk Pavlátka zadání definoval tak jak ho definoval, navíc už se pro gramotné vcelku jasně vyjádřil že XNA povolené není. Dle mého další diskuse na tohle téma je úplně zbytečná a v tomhle vlákně nedělá nic jiného než čurbes ...

Nahoru Odpovědět  +5 6.8.2014 16:51
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
vodacek
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
vodacek:

integruj si XNA do WinForms a seš za vodou

 
Nahoru Odpovědět  +1 6.8.2014 17:00
Avatar
Odpovídá na vodacek
Michal Žůrek (misaz):

nevím jak XNA, ale DirectX do PictureBoxu implementovat šel. :P nicméně je to jako střílet holuba atomovkou.

Nahoru Odpovědět 6.8.2014 17:05
Nesnáším {}, proto se jim vyhýbám.
Avatar
Lako
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Lako:

Ještě k tomu rozlišení: Neřeší tohle náhodou device independent pixels ve wpf?
tzn: Ať je to jak chce na každém monitoru by to mělo být stejně veliké (nezáleží pak na DPI)

 
Nahoru Odpovědět 6.8.2014 18:48
Avatar
Odpovídá na Lako
Michal Žůrek (misaz):

jo, normálně nastav 800×600, jak se to dopočítá na pixely neřeš.

Nahoru Odpovědět 6.8.2014 18:51
Nesnáším {}, proto se jim vyhýbám.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na vodacek
Zdeněk Pavlátka:

To by mohlo bejt zajímavý :)

Nahoru Odpovědět  +1 6.8.2014 19:34
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:

Nějak mi to není jasné. Těleso, které bude padat, tak na něj platí gravitace i při odrazu, nebo jen při pádu? Jestli se to těleso má vrátit do původní pozice, jen s menší rychlostí..?

 
Nahoru Odpovědět 7.8.2014 18:05
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Lukáš Křehula
David Hynek:

do původní pozice se asi nevrátí, protože cestou zpět nahoru ztratí určité množství energie. A jestli se má po pátém odrazu rozbít, tak ztrátu energie předpokládej cca 20% pro každý odraz...

těším se na výsledek tohoto úkolu...

Nahoru Odpovědět  +1 7.8.2014 18:12
Čím víc vím, tím víc věcí nevím.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Křehula
Zdeněk Pavlátka:

Gravitace působí samozřejmě stále.

Nahoru Odpovědět  +1 7.8.2014 19:30
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
coells
Redaktor
Avatar
Odpovídá na Lukáš Křehula
coells:

Pokud vyhodíš těleso kolmo do vzduchu a bude na něj působit jen a pouze gravitace, bude se pohybovat po parabole. Na vrcholu paraboly se pohybová energie zcela přemění na polohovou energii, takže se těleso zastaví a začíná padat.

Při srážce dvou hmotných těles platí, že úhel dopadu se rovná úhlu odrazu (v případě kolmého dopadu je úhel celkem jasný) a tělesa si navzájem předávají energii, která se nemůže ztratit, ale těleso ji může předat jinému.

Napsat simulaci fyzikálního systému obecně není žádná legrace, ale dobrá zpráva je, že podle zadání to má vypadat realisticky. Lidské vnímání naprosto neodpovídá realitě, takže pokud bys napsal perfektní fyzikální systém, bude vypadat hra velice nerealisticky.

To je paradoxně velice dobrá zpráva. Parabolický pohyb a metoda pokus-omyl je všechno, co potřebuješ na perfektní a "reálně" vypadající fyzikální systém.

 
Nahoru Odpovědět 7.8.2014 21:03
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:

Děkuji za odpovědi.
Tu gravitaci už mám vytvořenou, dokonce i funguje :) Problém je spíš s vykreslováním, při více tělesích je pohyb trhavý a zpomalený :/

Editováno 7.8.2014 21:15
 
Nahoru Odpovědět 7.8.2014 21:15
Avatar
mara
Člen
Avatar
mara:

Zdeněk Pavlátka máš vymyšleného i něco pro JAVU ?? :D Když už se mi ten úkol líbí, tak není na JAVU :(

Nahoru Odpovědět 7.8.2014 21:40
Co na srdci, to na Facebooku
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na mara
Zdeněk Pavlátka:

Příští týden bude asi PHP, pak by třeba Java mohla bejt, ale nic neslibuju.

Nahoru Odpovědět 7.8.2014 22:12
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
mara
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
mara:

dobře díky :D a nechceš udělat něco, co může být třeba i v Javě a i v C# ?? Je to hodně podobný. :)

Nahoru Odpovědět 7.8.2014 22:17
Co na srdci, to na Facebooku
Avatar
Odpovídá na mara
Michal Žůrek (misaz):

tak si to napiš soukromě. Jestli ti jde o to a Zdeněk Pavlátka ti to hodnotit nechce, ohodnotím ti to já, že by za to mohla být placka negarantuji, ale minimálně by se ti mohlo hodit vědět co do příště zlepšit a jak. :)

Nahoru Odpovědět  +1 7.8.2014 22:36
Nesnáším {}, proto se jim vyhýbám.
Avatar
mara
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
mara:

dobře děkuji moc :) ... placku mi nejde :D jen mi jde o to, aby mi řekl někdo, co na tom mám blbě a co zlepšit.

Nahoru Odpovědět 7.8.2014 22:52
Co na srdci, to na Facebooku
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na mara
Zdeněk Pavlátka:

Asi záleží, v čem bys to napsal, tedy spíš přes co by se vykreslovalo. Pokud bych se v tom alespoň trochu vyznal, klidně to i opravím. A kdyby se ti to hodně povedlo, myslím, že by ani s tou plackou nemusel být takový problém ;)

Nahoru Odpovědět  +1 8.8.2014 8:52
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
mara
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
mara:

O to, že by se mi to povedlo se nebojím :D Jsem začátečník, ale chci to jen zkusit :D

Nahoru Odpovědět 8.8.2014 16:16
Co na srdci, to na Facebooku
Avatar
ofajfr
Člen
Avatar
ofajfr:

Může být v Pythonu? Někde na fóru bylo že ano...

 
Nahoru Odpovědět 8.8.2014 17:44
Avatar
ofajfr
Člen
Avatar
ofajfr:

Prostě Windows form v IronPythonu :D

 
Nahoru Odpovědět 8.8.2014 17:48
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na ofajfr
Zdeněk Pavlátka:

Java se dá tolerovat jako podobná, to ale neznamená, že se tu budou všichni ptát, jestli to můžou napsat ve svém oblíbeném jazyce. Nic takového. Je to machr na C#, tak se podle toho chovejte. Ani tu Javu tam moc nechci, ale ta se tolerovat dá (i když placka za ní by nebyla moc fér). A už tu nechci vidět žádný komentář, který sem nepatří. :@

Nahoru Odpovědět 8.8.2014 20:29
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
martinsakra
Redaktor
Avatar
Nahoru Odpovědět 9.8.2014 15:09
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Michal Žůrek (misaz):

první řešení a první chyba při odesílaní... Než to odešlete přečtěte si pravidla, třeba i bod, že zipovaná složky mám mít v názvu váš nick zde na ITnetwork... Dokonce to tam je tučně zvýrazněno.

Nahoru Odpovědět  ±0 9.8.2014 15:12
Nesnáším {}, proto se jim vyhýbám.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
martinsakra:

Pro velký uspěch ještě jednou
http://leteckaposta.cz/177310810
pravda na pojmenování jsem zapomel

Nahoru Odpovědět 9.8.2014 16:52
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:

Tady je moje
http://leteckaposta.cz/732865133
Vím, že se to nemůže rovnat s jakýmkoliv výtvorem vás, ale je to moje první zveřejněná aplikace a neprogramuju dostatečně dlouho jako vy ostatní:))

 
Nahoru Odpovědět 9.8.2014 17:07
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Křehula
Zdeněk Pavlátka:

Zajímavý název projektu :) A ty balonky jsou dost velké.

Editováno 9.8.2014 17:11
Nahoru Odpovědět  +1 9.8.2014 17:09
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek (misaz):

spíš je tam málo místa kam utíkat.

Nahoru Odpovědět 9.8.2014 17:16
Nesnáším {}, proto se jim vyhýbám.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět  +1 9.8.2014 17:22
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Lukáš Křehula
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Lukáš Křehula:

Těch balonku jsem tam dříve měl víc, jenže vykreslování bylo až moc pomalé. A upravil jsem to tak, aby vždy bylo kam utýct. Prohrajete jen v tom případě, že vás míček trefí když letí dolů, když se odráží a letí nahoru je kolize vypnuta :)
Pak už je to jenom a reflexu a schopnosti klikat tlačítka.
Moje nejvyšší skóre bylo 59 ;)

Editováno 9.8.2014 21:48
 
Nahoru Odpovědět 9.8.2014 21:47
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Lukáš Křehula
martinsakra:

Hm winforms by měl rozhodně zvládnout vykreslovat víc bez problému, + i kdyby náhodou ne tak se mrkni na doublebuffering

viz třeba tohle: jinej projekt kreslí to trochu něco jinýho,ale prostě si budeš vykreslovat svoje

BufferedGraphics buffer = BufferedGraphicsManager.Current.Allocate(panel1.CreateGraphics(), new Rectangle(0, 0, panel1.Width, panel1.Height));
           Graphics g = buffer.Graphics;
           g.Clear(panel1.BackColor);
           g.FillRectangle(Brushes.Red, 0, 0, size * blocks + blocks - 1, size * blocks + blocks - 1);
           for (int i = 0; i < blocks; i++)
           {
               for (int j = 0; j < blocks; j++)
               {

                   if (m.matrix[i, j] == 1)
                   {
                       g.FillRectangle(Brushes.Black, i * size + i, j * size + j, size, size);
                   }
                   else
                   {
                       g.FillRectangle(Brushes.White, i * size + i, j * size + j, size, size);
                   }
               }


           }
           buffer.Render();
           g.Dispose();
           buffer.Dispose();
Nahoru Odpovědět 9.8.2014 22:31
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
Zdeněk Pavlátka:

Winforms mi zvládají mnohem složitější kreslení, jen člověk nesmí zapnout anti-aliasing a kreslit obrázky :D Ani transformace jim nedělají problém.

Nahoru Odpovědět 10.8.2014 9:02
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Tak dneska už to opravit nestíhám, mám spoustu jiné práce. Pustím se do toho hned ráno.

Nahoru Odpovědět 10.8.2014 20:23
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Ondřej Štorc:

Hele není uzávěrka až zítra v 16:00?

Nahoru Odpovědět  +1 10.8.2014 20:39
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondřej Štorc
Zdeněk Pavlátka:

Já už mám zmatek ve dnech 8| To dlouhý volno mi nesvědčí.

Ano, je to do zítřka. :[

Editováno 10.8.2014 20:44
Nahoru Odpovědět 10.8.2014 20:44
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Tomáš "CrashTest" Bitter:

A sakra ...

... Já mám ve zvyku to hnát přes deadlinu ...

Editováno 10.8.2014 21:24
Nahoru Odpovědět 10.8.2014 21:24
Need for Steve
Avatar
Nahoru Odpovědět  +1 10.8.2014 21:33
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ondřej Štorc:

Tak i já přidávám své řešení. Snažil jsem se o co nejobjektivnější kód, snad se mi to povedlo.. Do hry jsem vložil také dva easter eggy kvůli svým mladším sourozencům :) Dokážete na ně přijít bez koukání do kódu? :D

Editováno 10.8.2014 23:12
Nahoru Odpovědět 10.8.2014 23:11
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
1001001
Člen
Avatar
 
Nahoru Odpovědět 11.8.2014 9:21
Avatar
dave_23
Člen
Avatar
dave_23:

Koukám že se tu řešilo něco o jiných jazycích. Tak kdyby byl problém, že jsem to zkusil ve Visual Basicu tak se omlouvám a případné vyřazení chápu :`
http://leteckaposta.cz/640025649

 
Nahoru Odpovědět  +2 11.8.2014 10:24
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na dave_23
Zdeněk Pavlátka:

Už zase VB? Sem ho dlouho neopravoval :D

Nahoru Odpovědět  +1 11.8.2014 10:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
sadlomaslox25:

Zdravím,
tak se zde taky připojuji se svým řešení. Celé je to WPF, ale POUZE na ZVUKY (protože .NET nemá standardně knihovnu pro paralelní přehrávání zvuku a ostatní knihovny jsou fakt docela šílené) jsem použil XNA SoundEffect třídu. Kdyby to byl problém tak můžu odmazat zvuky.

http://leteckaposta.cz/651056252

 
Nahoru Odpovědět 11.8.2014 11:17
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Se zvuky problém nemám, je to s nimi opravdu hrozné.

Nahoru Odpovědět 11.8.2014 11:27
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Tohle se mi ukázalo při spuštění:

Nahoru Odpovědět 11.8.2014 13:22
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Nahoru Odpovědět 11.8.2014 13:38
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
sadlomaslox25:

sry problem s registrama :D (preklad adres z 32b na 64)
uz by to melo jit
http://leteckaposta.cz/918700773

 
Nahoru Odpovědět 11.8.2014 14:07
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Můžeš mi k tomu poslat spustitelný soubor(Relase)?

Nahoru Odpovědět 11.8.2014 14:33
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
sadlomaslox25:

tu je release
http://leteckaposta.cz/661877641

tobe to neslo prelozit nebo spustit ?

 
Nahoru Odpovědět 11.8.2014 14:42
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Bez XNA to asi stejně nepustim co 8|

Nahoru Odpovědět 11.8.2014 14:48
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
sadlomaslox25:

no bez runtime to nejde spustit. proto sem tam pribalil tu instalacku. ale jestli znas nejakou knihovnu co umi jednoduse spoustet ty zvuky tak to mozna este stihnu predelat :D

 
Nahoru Odpovědět 11.8.2014 14:56
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Spíš mi udělej spustitelnou verzi bez zvuků, kód mi stačí ten původní.

Nahoru Odpovědět 11.8.2014 15:00
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Tomáš "CrashTest" Bitter:

http://leteckaposta.cz/776109215

Sakra, tak to bylo kurva těsně ...

(Omlouvám se za vše + bugy atd.)

Editováno 11.8.2014 15:59
Nahoru Odpovědět 11.8.2014 15:59
Need for Steve
Avatar
sadlomaslox25:

http://leteckaposta.cz/319038155
debug je s xna a release a cely projekt je narychlo prevedeny do SharpDX (uz zadna instalace XNA ale zase je to zavisle na DirecX)

 
Nahoru Odpovědět 11.8.2014 16:02
Avatar
sadlomaslox25:

sice uz je po ale tu este naposledy dneska teda davam posledni verzi kde neni ani dx ani xna (projistotu) ale defaultni SoundPlayer ktery ale obcas ty zvuky bugne

http://leteckaposta.cz/832938212

 
Nahoru Odpovědět 11.8.2014 16:23
Avatar
Tomáš "CrashTest" Bitter:

Dneska jsem to celé dokončoval od asi desíti hodin. Vyposlouchal jsem při tom 4 alba od Machinae Supremacy ...

Nahoru Odpovědět 11.8.2014 16:30
Need for Steve
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Tak tedy hodnocení:

martinsakra :
Hra vypadá celkem pěkně, padající objekty se pohybují i horizontálně. Pokud mě ale něco zasáhne, všechny padající objekty se zastaví a zůstanou na svých místech, i když začnu novou hru (která se navíc spustí tlačítkem Stop).
Kód je pěkný, pohyb padajících koleček je krásně vyřešený, jen pohyb hráče není nic moc.

Lukáš Křehula :
Pěkný první pokus, funguje to relativně dobře. Rozhodně by to ale chtělo objektový přístup, ve Form1.cs by neměl být všechen kód. Herní plocha by měla být jako jeden pictureBox, ne samostatný pictureBox pro každou věc ve hře (proto se to pak tak seká). Zvětšující se gravitační zrychlení je určitě zajímavý nápad, ale po chvíli není kam utéct.

Ondřej Štorc :
Easter eggy jsou pěkné, ale musel jsem se podívat do kódu :[ V kódu máš občas dost zajímavě pojmenované proměnné, např. foreach (Bomba kostka in bomby), ale to je tvoje věc. Jinak je kód pěkný.
Místo tří obrázků lze použít jeden (největší) + přetížení metody DrawImage() - g.DrawImage(o­brázek, pozice, šířka, výška)
Pohyb hráče také není nic moc.

1001001 :
Hra vypadá zajímavě, ale kuličky se odráží už ve vzduchu, což určitě není správně. Postavička je dost velká a ovládá se myší, ale to není tak podstatné. Kód je rozhodně zajímavý, ale určitě ne ideální. Třída Particle by měla být rozdělená na 2 (např. Particle a ParticleManger), takhle funguje jako kulička a zároveň má v sobě list s kuličkami - public List<Particle> particles; uvnitř třídy Particle je trochu zvláštní. Zbytek kódu už je pěkný.

dave_23 :
Ty a ten tvůj VB.NET :D Hra je vymyšlená pěkně, nápad s autobusem, který se prodlužuje, je zajímavý. S pohybem hráče to je stejné jako u většiny ostatních, je trhavý.
Z kódu jsem toho bohužel moc nevyčetl (Visual basicu moc nerozumím a ještě k tomu na něj nemam ide, takže ho musim číst v Poznámkovém bloku), ale pár připomínek k němu mám. Velkou část kódu máš ve frmHlavni.vb, což určitě není správné, místo If Zaniknout = False Then by se asi mělo používat If Not Zaniknout Then. Je dost zajímavé kombinovat v názvech češtinu a angličtinu, např. TimerCas, máš tam ty jazyky tak 50/50.

sadlomaslox25 :
Grafika moc pěkná, dost mě pobavilo použití těch hlášek. Líbí se mi padání různých předmětů a jako jediný máš plynulý pohyb hráče. Kód je moc pěkný. Jediný problém je u kolize postavičky s okrajem obrazovky - když tam stojí déle, hra spadne (Aplikace přestala pracovat).

Tomáš "CrashTest" Bitter :
Na poslední chvíli ale přeci jen :) Nápad je také pěkný, chytat jen určité věci. Grafika je dobrá. Kód je moc pěkný, ale vždycky se něco najde. Např. tady:

if (e.KeyCode == Keys.Left)
    leftKeyDown = false;
if (e.KeyCode == Keys.Right)
    rightKeyDown = false;

před druhou podmínku je lepší dát if, ať se zbytečně nekontroluje, když stejně nemůže platit.

Placky budou dnes 2: sadlomaslox25 a Tomáš "CrashTest" Bitter . Napište mi do PM jaké placky chcete a kam vám je mám poslat.

Editováno 11.8.2014 21:22
Nahoru Odpovědět  +1 11.8.2014 21:20
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:

CrashTest :
před druhou podmínku je lepší dát else, ať se zbytečně nekontroluje, když stejně nemůže platit.

trochu jsem to popletl a už to nešlo editovat.

Nahoru Odpovědět 11.8.2014 21:24
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Ondřej Štorc:

Tak ten název proměné kostka je tím že první verze byly děláná z kostek a při předělávání jsem to zapomněl přejmenovat.. :[ Jinak gratuluji vítězům ;)

Nahoru Odpovědět  +1 11.8.2014 21:28
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na Zdeněk Pavlátka
sadlomaslox25:

No vykreslovane je to pres render event takze to drzi 60fps + asi fakt jako jediny tam presne snimam a zpracovavam ty klavesy. Jinak nevim jestli sis vsiml detekce te kolize :D

Jinak muzes mi rict ktera verze a jak presne se ti to podarilo shodit ? Me to nikdy nespadlo a to sem to zkousel na vic pocitacich.

 
Nahoru Odpovědět 11.8.2014 21:43
Avatar
Odpovídá na Zdeněk Pavlátka
Ondřej Štorc:

Mimochodem nemáš nějakej tip jak zlepšit pohyb?

Nahoru Odpovědět 11.8.2014 21:48
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
martinsakra:

to "seknutí" aplikace je tak scháválně, aby hráč viděl co ho kde zasáhlo, rpoblém je že jsem přejmenovvával blbé tlačítko :D pěknej překlik

Nahoru Odpovědět  +1 11.8.2014 21:52
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na sadlomaslox25
Zdeněk Pavlátka:

Nejnovější verze, byl jsem u kraje a chvíli se snažil vyjít z obrazovky. Kolize jsem jen tak rychle prošel (je dost pozdě), ale i tak mě dost uchvátily :) .

Nahoru Odpovědět 11.8.2014 22:00
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ondřej Štorc
Zdeněk Pavlátka:

Buď kontrolovat klávesy častěji a pohybovat se po menších úsecích, nebo lépe mít rychlost hráče , pohybovat se pomocí Timeru a měnit rychlost podle kláves (kladná rychlost doprava, záporná doleva), s tím se pak dá i zrychlovat a zpomalovat. Pokud přidáš i vertikalní rychlost, na kterou bude působit gravitace, můžeš i skákat.

Nahoru Odpovědět  +2 11.8.2014 22:07
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
1001001
Člen
Avatar
Odpovídá na Ondřej Štorc
1001001:

Já většinou dávám co nejmenší interval timeru a upravím rychlosti pohybujících se elementů.

 
Nahoru Odpovědět  +1 11.8.2014 22:14
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 81 zpráv z 81.