Nauč se s námi víc. Využij 50% bonus na e-learningové kurzy.
Pouze tento týden sleva až 80 % na e-learning týkající se Javy

Coby, kdyby - Černobyl

Vzhledem k tomu, že zatím neumím udělat nic jiného, než konzolovou aplikaci, tak jsem se rozhodl udělat textovku. Vše, co si tedy ze hry odnesete, bude záležet na tom, jakou máte fantazii a jak to napíšu.

Kdo bude můj parťák?

Vzhledem k tomu, že grafika nebude třeba, tak si všechno stvořím sám.

O co půjde

Ve hře navštívíme Sovětský svaz a to konkrétně jadernou elektrárnu Vladimíra I. Lenina (Černobyl), v dobách, kdy ještě nestála, kdy už se stavěl 4. blok, a nakonec se můžete těšit na posledních 24 hodin před výbuchem, ke kterému ve hře nemusí ani dojít, protože vaše rozhodnutí budou mít vždy nějaký následek, který se projeví v budoucnosti, nebo třeba hned.

Za koho si zahrajete?

Vzhledem k tomu, že na nehodě má podíl několik lidí, tak si budete moc zahrát za: Leonida Brežněva a další soudruhy politiky, Viktora Brujchanova (ale to už bude záležet na vašich předchozích rozhodnutích), Anatolije Ďjatlova, Alexandra Akimova, Leonida Toptunova a dalších.

Co na vás ve hře bude číhat

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

Setkáte se s náročnými rozhodnutími, atmosférou tehdejšího SSSR a spoustu dalších věcí.

Co, kdy, jak?

Jak postupuje vývoj? Zjisti níže.

5.7.2019

Dnes se stvořil výběr obtížností, scénář a základ herní mechaniky

6.7.2019

Pomalu ale jistě je hotová první obtížnost. Zároveň jsem začal uvažovat o tom, že z mojí prehistorické architektury přejdu na objektově orientovanou.

6.7.2019

Těsně po půlnoci se mi zhroutil celý projekt. Visual Studio začalo protestovat proti mému switchi ve switchi, který byl v dalším switchi. Lituju toho, kdo to po mě bude chtít přečíst :-). Zítra z toho opravdu zkusím udělat objektově orientovanou aplikaci :-)

8.7.2019

První obtížnost už mám částečně naprogramovanou v OOP. Zároveň ve hře najdete barevné odlišení textů.

12.7.2019

Dokončen tutoriál.

22.7.2019

Opraveno pár drobných detailů a věcí, které jste navrhli ve feedbacku (danke). Ve scénáři "osudová noc" přibyl jeden řádek. Její dokončení vidím někdy na první týden v srpnu. Uděláno prvních pár řádků střední obtížnosti.

9.9.2019

Za ten měsíc a kousek se protáhla osudová noc, s tím že si v ní budete moci "namixovat" chování reaktoru, ehm tedy až to doprogramuju. Hra by měla být po malém osekání hotová v horizontu dvou týdnů.

Co zbývá dodělat?

  • Osudovou noc
  • Lehčí úpravy stávajících elementů hry

Co se do hry nestihne nejspíš dodat

  • Scénáře OD A DO Z bude nahrazen kvízem.
  • Dále si mezjarajtete za Toptunova.

Jak si zahrát

  1. Stáhněte si .zip archiv
  2. Rozbalte ho
  3. Otevřete .sln (Hra - coby kdyby\Coby-kdyby--4ernobyl) a nechte ho zkompilovat
  4. jděte na Hra - coby kdyby\Coby-kdyby--4ernobyl\Conso­leApp1\bin\Re­lease
  5. Otevřete soubor a zahrajte si tu trochu, co jsem stihl

Soutěž

Projekt byl vytvořen do programátorské soutěže ITnetwork summer 2019.

Vyjádření poroty

Porotce Bodů Hodnocení

David Jančík
2 Hra působí spíše jako polotovar než jako plnohodnotný příběh. Spoustu situací vypadalo, že jsou jen předdefinované a nedají se příliš ovlivnit. V projektu byly 2 staré zkompilované verze a při spuštění ze zdrojových kódů byla v kódu chyba.

Michal Čápka
3 Byla nutná oprava projektu. Je škoda, že má hra 3 krátké obtížnosti, když mohla mít jednu plnohodnotnou. Příběh obsahoval pro mě rušivý "znalostní kvíz". Tady to chce ještě zapracovat.

David Čápka
3 Velmi zajímavé téma a asi tvůj první projekt. Určitě bych obtížnosti spojil do jedné. Nějaké větve příběhu jsou příliš krátké. Cením, že jsi si o Černobylu získával informace. Má to potenciál, ale tento první pokus má k úspěchu ještě daleko.

Galerie

Hra byla vytvořena v roce 2019.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 125x (679.83 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
Zdrojákoviště C# .NET - Základní konstrukce
Článek pro vás napsal Alex
Avatar
Jak se ti líbí článek?
4 hlasů
Autor se věnuje střihu videa a motion desingu. Převážně pracuje s programy od firmy FXHOME, ale ovládá i programy od firmy ADOBE . Mezi jeho koníčky patří hra na klávesy, na které hraje přes 8 let
Aktivity (28)

 

 

Komentáře

Avatar

Redaktor
Avatar
:6.7.2019 10:23

Držím ti palce :-)

 
Odpovědět
6.7.2019 10:23
Avatar
Alex
Redaktor
Avatar
Odpovídá na
Alex:6.7.2019 12:25

Díky. Jen doufám že tě to nezklame :-)

 
Odpovědět
6.7.2019 12:25
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:11.7.2019 17:37

Jako ochutnávka to vypadá zajímavě, teď jestli zvládneš v kódu dobře udržet různé možnosti, s každou odpovědí jejich počet exponenciálně roste. Reálně se to dělá většinou tak, že nějaké outcomy spojíš, aby pár situací dopadlo stejně, hráč to většinou nepozná. Možná by bylo fajn si to nakreslit jako Activity Diagram - https://www.itnetwork.cz/…vity-diagram .

Odpovědět
11.7.2019 17:37
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
Tomáš Martin Holub:11.7.2019 18:28

Udělal bys prosím nějakým způsobem alespoň build pro Linux? Nebo macOS? :D

 
Odpovědět
11.7.2019 18:28
Avatar
Alex
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Alex:11.7.2019 21:19

Ahoj,
Rád bych to zkusil, ale nevim jak se to dá udělat (IDE používám VS, kde nevím o tom, že by nějakou možnost mělo)

 
Odpovědět
11.7.2019 21:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Alex
David Čápka:12.7.2019 21:55

Když to vytvoříš jako .NET Core Console Application, nebo nějakou podobnou možnost bys tam měl mít, tak to jde pak přeložit i pro Linux (nevím jestli na Windows, ale minimálně můžeš uveřejnit zdrojáky, ať si to každý spustí kde chce).

Odpovědět
12.7.2019 21:55
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
Alex
Redaktor
Avatar
Odpovídá na David Čápka
Alex:12.7.2019 22:22

Zdrojáky uveřejním později až to bude z větší části hotové.
Jinak díky za tip. Zkusím.

 
Odpovědět
12.7.2019 22:22
Avatar
Petr Doleček
Redaktor
Avatar
Petr Doleček:13.7.2019 17:45

Jako program na seznámení s programováním dobrý. Doporučuji mezi obrazovkami promazávat text a nějak zjednodušit dotazy. Je zbytečný aby program pokaždý psal co chceš zmáčknout. Stačilo by (viz níže). Člověk už pochopí, že se jedná o stisk čísla...

Chceš odbouchnout elektrárnu?
(1) ANO
(2) NE

Máš tam nějaký překlepy, někde se musí víckrát mačkat enter atd... Zkusil bych to ještě doplnit nějakou semigrafikou. Vykreslit text a pak třeba vpravo doplnit nějakým obrázkem, nebo grafem apod. (k té elektrárně se to hodí). Konzole má omezený počet znaků na řádek (v základu myslím nějakých 130). Doporučuji tento počet nepřekračovat, aby se řádky nezalamovaly - vypadá to pak nepřehledně (ale to jen možná kvůli tomu, že nemažeš obrazovky).

Určitě doporučuji si udělat nějaký graf závislostí (viz příspěvek Davida), aby ses v tom později vyznal.

Držím palce.

 
Odpovědět
13.7.2019 17:45
Avatar
Alex
Redaktor
Avatar
Odpovídá na Petr Doleček
Alex:13.7.2019 18:27

Díky. O nějakých drobných chybách už vím a snažím se je opravit.
Zkusím to zpřehlednit a zjednodušit i to ovládání.
Nicméně některé věci nejsou v rámci mých možností realizovatelné. Například neumím mazat konzoli (pokud to někdo v C# umí [to asi umí každý až na mě] budu rád když poradí) a nebo neumím vytisknout na konzoli obrázek nebo graf (taky kdyby byl někdo ochoten mi poradit, byl bych rád).
Jinak díky za podporu.

 
Odpovědět
13.7.2019 18:27
Avatar
Petr Doleček
Redaktor
Avatar
Odpovídá na Alex
Petr Doleček:13.7.2019 18:34

Zkus toto:

Console.Clear();        //vymazání konzole
Console.SetCursorPosition(left, top);   //nastavení pozice kurzoru (zde začne psát při Console.Write

Teoreticky by celá aplikace šla udělat v jednom switch. Pro každou situaci by sis navolil nějaký text a rozsah, co může uživatel zadat. Při interakci by si jenom přepnul, na kterou hlášku to má jít. Je to tedy těžce neobjektový způsob a tudíž ti ho ani nemůžu doporučit :D

Obrázek, nebo graf by musel být z tisknutelných znaků (hledej ASCII grafiku).

Editováno 13.7.2019 18:35
 
Odpovědět
13.7.2019 18:34
Avatar
Alex
Redaktor
Avatar
Alex:13.7.2019 19:52

Dík

 
Odpovědět
13.7.2019 19:52
Avatar
Tomáš Valenta
Brigádník
Avatar
Tomáš Valenta:18.7.2019 17:34

Jen menší feedback: Vím že to je hodně velké demo,ale hned při prvním rozhodování jsem dal "NE" a hra hned skončila a ani mi to nenabídlo hrát od začátku. A rád bych ti poradil: určitě si někde nakresli/udělej graf těch všech událostí. A k programovací části: nedávno jsem jako školní projekt dělal textovku (spíš engine na textovku) a myslim, že je to lepší a jednodušší. Myslím tím, že všechny ty lokace,možnosti budeš načítat z nějakýho texťáku a nemusíš pak mít natvrdo v programu tisíce podmínek. Navíc můžeš jednodušeji udělat i úplně odlišnou textovku bez přepisu kódu. Stačí si naimplementovat graf a nějakej parser toho textu. Nechci ti do toho kecat, jak to máš dělat nebo nedělat. :)

Odpovědět
18.7.2019 17:34
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
Avatar
Alex
Redaktor
Avatar
Odpovídá na Tomáš Valenta
Alex:18.7.2019 18:01

Pošli screen, uvidíme kde je chyba.
Jako pravda, otravuje mě psát pořád
Console.Write ("bla bla bla \nbla bla bla") a takhle stokrát ve hře.
Teď záleží jestli by se dal použít s C#. Jestli jo, tak bych ho rád vyzkoušel.
Díky za zpětnou vazbu

 
Odpovědět
18.7.2019 18:01
Avatar
krychl
Člen
Avatar
krychl:19.7.2019 21:42

Kdo je/byl "Nikita Brežněv" ??? , takže buď jsi měl na mysli Leonida Iljiče Brežněva nebo Nikitu Sergejeviče Chruščova.

 
Odpovědět
19.7.2019 21:42
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Milan Turyna
Redaktor
Avatar
Odpovídá na krychl
Milan Turyna:19.7.2019 22:00

No tak je to hra, nemusí to být přímo podle skutečné události..

 
Odpovědět
19.7.2019 22:00
Avatar
Jaroslav Smrž
Redaktor
Avatar
Odpovídá na krychl
Jaroslav Smrž:19.7.2019 22:42

Když už máme být detailisti, tak Chruščov by tam být nemohl neboť zemřel v roce 1971, tedy více jak 10 let před dostavbou bloku 4 :-)

Odpovědět
19.7.2019 22:42
/* Life runs on code */
Avatar
Alex
Redaktor
Avatar
Odpovídá na krychl
Alex:19.7.2019 23:14

Ano, chyba ja na mé straně a pomíchal jsem si jména. No nicméně tohle teď potká všechny postavy. Aby nikdo nemohl mít kecy.

 
Odpovědět
19.7.2019 23:14
Avatar
Alex
Redaktor
Avatar
Odpovídá na Jaroslav Smrž
Alex:19.7.2019 23:16

Ano to máš pravdu. De facto ta elektrárna Chruščov nezažil spuštění 1. bloku.

 
Odpovědět
19.7.2019 23:16
Avatar
Alex
Redaktor
Avatar
Odpovídá na Alex
Alex:19.7.2019 23:23

Edit: kašlu na to, opravíme Brežněva, ať to máme vše jak má být. Sice ho tam máme jen na ozdobu, protože jeho rozhodnutí neměla až takový vliv na osud elektrárny (nějaký tam byl, to beze sporu)

 
Odpovědět
19.7.2019 23:23
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:22.7.2019 12:24

Střední obtížnost vypadá zajímavě, ale moc tam toho tedy zatím není :P

Odpovědět
22.7.2019 12:24
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 Langer
Člen
Avatar
Petr Langer:22.7.2019 16:31

No já vám nevím. Zkoušel jsem tu lehkou obtížnost a kromě hromady překlepů, střídajícího se vykání a tykání, na mě hra zapůsobila, že má vytyčenou jednu cestu (byť hrozně krátkou) a jakékoliv odklonění znamená konec hry. Navíc pojem obtížnost si myslím, že u her typu gamebook není na místě. Podle toho co jsem viděl ve střední obtížnosti, by se spíš hodil pojem "scénář".

 
Odpovědět
22.7.2019 16:31
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr Langer
David Čápka:22.7.2019 17:53

Ja fakt, že kdyby spojil ty "obtížnosti" do jedné a lépe to promyslel, tak by to vyšlo asi lépe.

Odpovědět
22.7.2019 17:53
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
Alex
Redaktor
Avatar
Odpovídá na Petr Langer
Alex:22.7.2019 18:02

Uznávám, že lehká obtížnost (i když po tomto feedbacku to přejmenuju na scénář) je kratký. Upřímně je tam jen aby si člověk osahal ovládání a já nějak vyzkoušel algoritmy.
Jinak překlepy tam budou, ale pro mě je v současné době důležitější naprogramovat jádro.
Jinak střídání vykání a tykaní jde v lehké obtížnosti snadno vysvětlit.
V případě vykání se jedná o přímou řeč s dispečerem a tykání je jen v případě kdy se baví hra s tebou.

Editováno 22.7.2019 18:05
 
Odpovědět
22.7.2019 18:02
Avatar
Alex
Redaktor
Avatar
Odpovídá na David Čápka
Alex:22.7.2019 18:06

Co myslíš tím "lépe promyslel"?

 
Odpovědět
22.7.2019 18:06
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Alex
David Čápka:22.7.2019 18:14

Jak psal Petr, aby to bylo delší a bylo více možností jak hra může v různých situacích dopadnout. Tohle se většinou kreslí do stromů pomoc diagramů, už jsem ti to psal :P Takhle se může stát, že uděláš 3 krátké příběhy, kde uživatel jen párkrát zmáčkne číslo. Co udělat raději jeden velký?

Odpovědět
22.7.2019 18:14
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
Alex
Redaktor
Avatar
Odpovídá na David Čápka
Alex:22.7.2019 18:21

Tak to defacto bude ve výsledku ta komplexní obtížnost. Nicméně ta střední už na 10-20 minut bude. (Nebo to vezmeme v reálném čase ;-) )
I když možná tu lehkou zněním z scénáře (už jsem to přejmenoval) na tutoriál, aby si člověk vyzkoušel ovládání.
Nic, zkusím to vymyslet líp.

 
Odpovědět
22.7.2019 18:21
Avatar
Petr Doleček
Redaktor
Avatar
Petr Doleček:27.7.2019 0:16

Osobně bych se spíš snažil naprogramovat "engine", který by si četl třeba texty z textového souboru (např. formát csv, který můžeš vytvořit v excelu jako tabulku). To by zas tak složitý nebylo. První sloupec by byl třeba číslo textu, druhý samotný text, a další sloupce jednotlivé odkazy na další řádky.

Program by na začátku projel texťák (hledej StreamReader...) a každá řádek uložil do pole. Když by si chtěl vypsat třeba pátý řádek, tak by si vypsal třeba obsah proměnné text[5]. Program by nalezl požadovaný řádek a vypsal text. Podle stisknutého tlačítka by se načetl text z dalšího požadovaného řádku.

Základ je si rozepsat děj hry do nějakého grafu. Samotný program už pak bude fungovat sám bez jediného textu. Ono se to nezdá, ale pak jakákoliv úprava je problém. Takhle to dá chvíli psaní kódu bez zjevného postupu, ale najednou to všechno funguje, jak má.

1;Chcete skončit? /n(1) ANO /n(2) NE;2,3;1;1
2;Opravdu chcete skončit? /n(1) ANO/n(NE);100;3;2;2
3;Zde je pokračování hry. /nChcete odbouchnout elektrárnu? /n(1) ANO/n(2) NE;5;10;3;3
100;Konec;;
 
Odpovědět
27.7.2019 0:16
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 27 zpráv z 27.