C# týden ITnetwork summer 2020
30 % bodů zdarma na online výuku díky naší Slevové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se C#

Hra Šibenice #5 - Game over

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

Devítidílný video-tutoriál podrobně popisující kompletní postup, jak v .NET C# Windows forms naprogramovat klasickou hru Šibenice. V ní hráč typuje písmena a snaží se tak odhalit skryté slovo, přičemž za každý chybný typ se nakreslí další část šibenice. Hráč musí slovou uhádnout dříve, než je vykreslena celá šibenice.

5. díl obsahuje návod pro sestavení kódu, který dokáže reagovat na konec hry v případě prohry.


 

Všechny články v sekci
Zdrojákoviště C# .NET - Okenní aplikace Windows Forms
Článek pro vás napsal Petr
Avatar
Jak se ti líbí článek?
3 hlasů
Auto se specializuje na .NET C# technologie všeho druhu.
Aktivity (4)

 

 

Komentáře

Avatar
Denny430
Člen
Avatar
Denny430:28.6.2012 19:45

Dělám si tento to seriál a baví jak je tam vysvětleno úplně vše (například kreslení obrázků a rozvržení formuláře). Oproti předešlým dílům není kód strukturovaný do objektu, ale je volně v formuláři, zajímalo by mě proč?

Odpovědět
28.6.2012 19:45
Bazinga!
Avatar
Petr
Redaktor
Avatar
Odpovídá na Denny430
Petr:28.6.2012 20:14

Vytvořené metody GameOver() a ShowAllButtons() zapouzdřují určitou ucelenou logickou část kódu, zároveň zestručňují a zpřehledňují kód zapsaný v metodách přímo reagujících na události vizuálních komponent a také umožňují vícenásobné použití. Jelikož metody pracují s prvky formuláře (např. tlačítky), je snazší zapsat je přímo pod třídu formuláře, než je extrahovat do třídy vlastní.

 
Odpovědět
28.6.2012 20:14
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:14.9.2012 13:32

Dobrý den, snažím se programovat podle tohoto seriálu a moc se mi líbí, že je v něm vše dobře vysvětleno. Jediné s čím mám problém je, že po dohrátí jedné hry se neobnoví tlačítka tak jako na vašem videu v předchozím dílu a to jsem vše psal stejně jako vy. Mohl byste mi poradit v čem jsem nejspíš udělal chybu ???

 
Odpovědět
14.9.2012 13:32
Avatar
Petr
Redaktor
Avatar
Odpovídá na aaabbb
Petr:14.9.2012 14:46

Jestli jde o to, že poslední stisknuté tlačítko zůstane skryto i po restartu hry, tak tento problém vysvětluje bublina těsně před koncem (2:55). Řádek pro skrytí tlačítka "btn.Visible = false;" musí být proveden hned na začátku, aby k jeho skrytí nedošlo až po proběhnutí metody GameOver() a znovuobjevení všech tlačítek.

 
Odpovědět
14.9.2012 14:46
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr
David Čápka:14.9.2012 14:59

Asi si ten seriál ještě jednou udělám a umístím sem postupně zdrojáky pro jednotlivé části, aby si to lidé mohli kontrolovat. Nebo něco takového máš?

Odpovědět
14.9.2012 14:59
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
Petr
Redaktor
Avatar
Odpovídá na David Čápka
Petr:14.9.2012 15:21

Mám, ale ve škole kde učím to zadávám jako domácí úkol na pokračování, takže je rozhodně zveřejňovat nechci, už takhle to od sebe dost kopírují.

 
Odpovědět
14.9.2012 15:21
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr
David Čápka:14.9.2012 15:29

Aha, v tom případě to tedy přidávat nebudu :)

Odpovědět
14.9.2012 15:29
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
aaabbb
Neregistrovaný
Avatar
aaabbb:15.9.2012 11:04

Vlastně jde o to že po prohře vůbec nezačne nová hra, ale po výhře ano. Prosím pomozte mi tento problém vyřešit. Předem děkuji :-)

 
Odpovědět
15.9.2012 11:04
Avatar
Petr
Redaktor
Avatar
Odpovídá na aaabbb
Petr:15.9.2012 11:22

A je v té metodě Miss() volána GameOver()? A v tom GameOver() je GameStart()?

 
Odpovědět
15.9.2012 11:22
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:15.9.2012 12:09

Děkuji moc problem vyresen bylo to tim ze v GameOver() nebyla volána GameStart(). Ze jsem si toho nevsiml :-) No nic dekuji moooc za pomoc :-)

 
Odpovědět
15.9.2012 12:09
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:16.9.2012 8:20

Ještě bych se chtěl zeptat, jestli by vam vadilo (i když je to lbost), kdybych si dal na tu hru copyright i kdyz je naprogramovana podle vasich tutorialu. Predem dekuji za brzkou odpoved :-)

 
Odpovědět
16.9.2012 8:20
Avatar
Kit
Redaktor
Avatar
Odpovídá na aaabbb
Kit:16.9.2012 9:40

Copyright je sám o sobě blbost, protože je automatický. Pokud se teprve učíš, zkus raději copyleft.

Odpovědět
16.9.2012 9:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:16.9.2012 10:07

a co presne je copylefp ??? a jak ho nastavim ve visual sstudiu ???

 
Odpovědět
16.9.2012 10:07
Avatar
Kit
Redaktor
Avatar
Odpovědět
16.9.2012 10:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
aaabbb
Neregistrovaný
Avatar
Odpovídá na Kit
aaabbb:16.9.2012 10:58

a co presne je copyleft ??? a jak jej nastavim ve visual studiu ???

 
Odpovědět
16.9.2012 10:58
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Kit
Redaktor
Avatar
Odpovídá na aaabbb
Kit:16.9.2012 11:04

Copyright a copyleft jsou druhy licencí pro používání produktu. Pokud je na produktu copyright, kopírovat a distribuovat ho smí jen uvedený majitel distribučních práv. Copyleft umožňuje další šíření při zachování autorských práv.

Odpovědět
16.9.2012 11:04
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:16.9.2012 12:57

no dobre ale jak jej nastavim ???

 
Odpovědět
16.9.2012 12:57
Avatar
aaabbb
Neregistrovaný
Avatar
Odpovídá na Kit
aaabbb:16.9.2012 13:05

no dobre ale jak jej nastavim ve visual studiu ???

 
Odpovědět
16.9.2012 13:05
Avatar
Kit
Redaktor
Avatar
Odpovídá na aaabbb
Kit:16.9.2012 13:13

Nechápu, proč to chceš. Ty nechceš, aby se tvá hra šířila?

Odpovědět
16.9.2012 13:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
aaabbb
Neregistrovaný
Avatar
Odpovídá na Kit
aaabbb:16.9.2012 14:04

to chci ale nechci aby ji nekdo kopiroval a taky nechci mit problemy protoze ta hra je naprogramovana podle ideotutorialu od Petra Vobornika takze technicky vzato patri jemu? Teprve se ucim takze mi prosim porad jak mam to hru distribuovat protoze vazne nevim. V poslednim videotutorialu hry sibenice od petra vobornika je ukazane ze onsi tam dava copyright se svym jmenem tak se ptam jestli si ho tam muzu dat taky. Predem dekuji za odpoved

 
Odpovědět
16.9.2012 14:04
Avatar
Kit
Redaktor
Avatar
Odpovídá na aaabbb
Kit:16.9.2012 14:25

Chceš hru distribuovat a přitom chceš zakázat její kopírování. To mi nějak nejde dohromady. Myslím si, že jen nechceš, aby si ji někdo přivlastnil. K tomu však copyright neslouží. Nechceš přece tu hru prodávat na CD, že ne? Copyright je určen k tomu, aby dílo nedistribuoval nikdo jiný než ten, kdo ho vydává. Pokud svůj program vystavíš na webu, copyright vlastně zakazuje uživateli, aby si ho stáhl, spustil a předal dál.

Petr Voborník si dal copyright na video, které se má volně šířit, aby se stalo populární a lidé se podle něj učili. Podle mne se spletl v licencích a původně vlastně chtěl copyleft. Tedy zachovat autorství videa a šířit ho dál všemi možnými kanály.

Visual Studio jsem nikdy nepoužíval, v tom ti neporadím.

Odpovědět
16.9.2012 14:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
aaabbb
Neregistrovaný
Avatar
Odpovídá na Kit
aaabbb:16.9.2012 14:34

Ano mas pravdu! Prosim porad mi jestli tam mam dat copyleft nabo ten program nechat jenom tak! No proste co s tim programem mam udelat aby se mohl sirit ale nikdo si ho neprivlastnil. Prosim poradte mi. Predem dekuji :-)

 
Odpovědět
16.9.2012 14:34
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na aaabbb
David Čápka:16.9.2012 15:00

Jakou licenci si na hru dáš je tvoje věc, stačí to někam napsat (do readme, do about dialogu, do nastavení projektu). Můžeš si vybrat nějakou existující (od freeware - ten povoluje šíření ale zakazuje modifikaci až po absurdní licence typu beerware, kdy ti musí každý poslat pivo, aby mohl hru hrát :D)- Můžeš si i vytvořit vlastní licenční podmínky.

Dávat si Copyright na hru podle tutoriálu mi ale nepřijde vhodné, jedině, že bys ji hodně změnil, potom bys ale stejně měl uvést původního autora. Raději udělej něco vlastního, určitě už alespoň tušíš jak na to.

Abychom nezamluvili tu práci ve Visual Studiu, tak napravo v Solution Exploreru klikneš na svůj projekt a zvolíš Properties. Hned v první záložce Application klikneš na tlačítko Assembly information.

Odpovědět
16.9.2012 15:00
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
aaabbb
Neregistrovaný
Avatar
Odpovídá na David Čápka
aaabbb:16.9.2012 15:20

a jakou licenci si mam podle tebe dat na tento program a pripadne jak to mam udelat ???

 
Odpovědět
16.9.2012 15:20
Avatar
Зайчик
Člen
Avatar
Odpovídá na aaabbb
Зайчик:16.9.2012 15:28

ty na to žádnou licenci nědělělej prosím tě :D ten člověk co to naprogramoval to jsem dal jako open source ať si stím každý dělá co chce takže už samo o sobě je to open source až si napíšeš něco svého tak si na to dávej licence :)

Odpovědět
16.9.2012 15:28
Коммунизм для нашего будущего!
Avatar
aaabbb
Neregistrovaný
Avatar
aaabbb:16.9.2012 15:31

tak dobra dekuji za radu ale ten copyright je automaticky ne ???

 
Odpovědět
16.9.2012 15:31
Avatar
Зайчик
Člen
Avatar
Odpovídá na aaabbb
Зайчик:16.9.2012 15:37

tak pokud si naprogramuješ něco svého dáš si k tomu copyright alias že to můžeš šířit jen ty... copyleft je pravý opak alias Linux software nevím přesně kdo to vymyslel na to se mrkni na internet každopádně každý si to může šířit jak chce GNU/GPL nebudu tu vysvětlovat všechny licence... ani je všechny neznám :) na to se mrkni na google

Odpovědět
16.9.2012 15:37
Коммунизм для нашего будущего!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na aaabbb
David Čápka:16.9.2012 15:38

Nedávej si tam nic, teprve až uděláš něco vlastního, publikuj to jako freeware, to umožňuje šíření a zároveň ti ponechává práva.

Copyright není automatický, já tam mám prázdné jméno.

Odpovědět
16.9.2012 15: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! :)
Avatar
aaabbb
Neregistrovaný
Avatar
Odpovídá na David Čápka
aaabbb:16.9.2012 15:44

tak dekuju moc

 
Odpovědět
16.9.2012 15:44
Avatar
Petr
Redaktor
Avatar
Petr:20.10.2012 18:42

Ve videu (9. díl) jsem jen ukazoval, kde a jak si ten copyright, copyleft či cokoli jiného nastavit. Je to pouze čistě výukové video a spíše jen prezentuje určité programátorské postupy, než aby jeho účelem bylo vytvoření hry pro distribuci. Podle toho taky ta hra vypadá, tj. chtělo by to na ní udělat ještě spoust práce, než bych se odvažoval to šířit se svým copyrightem jinak než jen výukový materiál, či dokonce za ni chtít něco zaplatit.
Čili hlavní myšlenka je: Na tomto videu se to nauč a pak vytvářej a prodávej vlastní výtvory. Pokud to chceš udělat i s něčím vytvořeným přesně či z podstatné části dle video-tutoriálu (což nepovažuji za moc smysluplné), bylo by slušné (ne že bych na tom já nějak zásadně trval) tam někam uvést větu typu "Vytvořeno dle video-tutoriálu..." a odkaz na něj.

 
Odpovědět
20.10.2012 18:42
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 30 zpráv z 30.