Předvánoční slevová akce PHP týden
Další šance dokončit svůj projekt a získat ceny v hodnotě 10.000 Kč! Pokračování úspěšné letní soutěže - ITnetwork winter
Využij předvánočních slev a získej od nás 20 % bodů navíc zdarma! Zároveň také probíhá PHP týden se slevou na e-learning až 80 %

Space Hero v C# .NET

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Na začátku hry máte k dispozici pět životů a v každém levelu musíte zničit všechny nepřátele. K tomuto vám můžou pomoci prvky jako zvýšení rychlosti lodi, lepší střela, štít atd. Hra obsahuje také dva bonusové a tři Boss levely.

Ovládání

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Hra se ovládádá pomocí šipek a mezerníkem se střílí.

  • S - vypíná/zapíná hudbu
  • S - vypíná/zapíná efekty
  • P - pauza
  • Ctrl + H - schová spodní menu

Tvorba

Při tvorbě této hry jsem se nechal inspirovat Space Invaders, ale prvky které mně osobně nevyhovovaly jsem vypustil nebo upravil a nějaké vlastní jsem přidal :) Hru jsem vytvořil za necelé 3 měsíce a myslím, že jsem se dost naučil, což byl hlavní záměr :)

Závěr

Určitě to není žádná pecka, ale dlouhé chvíle určitě zažene :D Doufám, že se vám bude alespoň trochu líbit :)

Zdrojové kódy jsou přiloženy.


Galerie

Hra byla vytvořena v roce 2014.

 

Stáhnout

Staženo 208x (14.5 MB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

 

Hru pro vás napsal Gramli
Avatar
Jak se ti líbí článek?
2 hlasů
Autor se věnuje hlavně jazyku C#
Všechny články v sekci
Zdrojákoviště C# .NET - Okenní aplikace Windows Forms
Aktivity (1)

 

 

Komentáře
Zobrazit starší komentáře (3)

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:17.5.2014 16:03

GDI je dost rychlé, spíše tam máš nějakou chybu nebo máš vysoký interval na timeru.

Odpovědět
17.5.2014 16:03
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Gramli
Redaktor
Avatar
Odpovídá na David Čápka
Gramli:17.5.2014 16:10

Hlavní timer ze kterého se volá Invalidate() má interval 75ms. To není ideální, ale když jsem dal větší interval, zdálo se mi, že plynulost vykreslování není ideální.

Odpovědět
17.5.2014 16:10
Kdo to říká ten to je...
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Gramli
Jan Vargovský:17.5.2014 16:20

Hru jsem neviděl, ale

1 / 75*10−3 = 13,3 fps

což teda není moc :)

 
Odpovědět
17.5.2014 16:20
Avatar
Gramli
Redaktor
Avatar
Odpovídá na Jan Vargovský
Gramli:17.5.2014 16:27

To ne, ale při intervalu 75ms běží hra pěkně, na ideální hodnotu (30fps) by to chtělo 33ms, což už je podle mě zbytečnost.

Odpovědět
17.5.2014 16:27
Kdo to říká ten to je...
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Gramli
David Čápka:17.5.2014 16:38

30 FPS určitě není zbytečnost, počítači je to úplně jedno a hráč to vidí plynule. Tvou hru jsem zkoušel a na timeru bych určitě ubral, protože pohyb nebyl plynulý.

Odpovědět
17.5.2014 16:38
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Gramli
Redaktor
Avatar
Odpovídá na David Čápka
Gramli:17.5.2014 17:04

Máte oba pravdu :D Za celou dobu co jsem na tom dělal, mě to nenapadlo :D Ovšem když snížím razantně interval, budu muset upravit posuny nepratel a hrace, ale určitě to upravím, protože je to rozhodně lepší.

Odpovědět
17.5.2014 17:04
Kdo to říká ten to je...
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Gramli
Luboš Běhounek Satik:18.5.2014 14:22

To není ten správný postup :)

Správný postup by byl posouvat objekty v závislosti na jejich rychlosti a době trvání posledního snímku.

Např. pokud se má nepřítel posunovat o 50 pixelů za sekundu a poslední snímek trval 0.043 sekund, tak by jsi ho nyní měl posunout o 50 * 0.043 = 2.15 pixelů.

Když teď někomu ta hra poběží méně fps než zamýšlíš (pomalý PC), tak s tvým přístupem se mu zpomalí celá hra :)

Odpovědět
18.5.2014 14:22
https://www.facebook.com/peasantsandcastles/
Avatar
Gramli
Redaktor
Avatar
Odpovídá na Luboš Běhounek Satik
Gramli:18.5.2014 14:52

Co myslíš tím "poslední snímek trval"? Jak se dostanu k tomu číslu?

Odpovědět
18.5.2014 14:52
Kdo to říká ten to je...
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Gramli
Theodor Johnson:18.5.2014 14:56

Použij Stopwatch, vždy si ve snímku získáš hodnotu (od minulého) a resetuješ a v dalším snímku to samé

Odpovědět
18.5.2014 14:56
Mo8ilε 15 Ѐλđ
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Gramli
Luboš Běhounek Satik:19.5.2014 0:37

Musíš si nějak spočítat, jak dlouho ti trvalo vykreslení a vypočítání minulého snímku - třeba přes zmíněné StopWatch.

Odpovědět
19.5.2014 0:37
https://www.facebook.com/peasantsandcastles/
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 13. Zobrazit vše