Prezentace jednoduché hry známé jako a Had a také trocha mé raně programátorské autobiografie.
Jedním z prvních programů začínajícího programátora bývá většinou i jednoduchá hra. A myslím, že rozhodně nejpopulárnější z těchto jednoduchých her je hra had, proslavená hlavně mobilními telefony Nokia. Začínající programátor tedy něco na podobné téma spatlá, vystaví na web a nadšeně ukazuje kamarádům svůj výtvor, kteří neznalí programování ho mají málem za boha. No dobře možná trochu přitažené za vlasy, ale v jádru pravdivé:)
Nyní trocha autobiografie. Několik zpět, já jako nadšený puberťák, jsem se rozhodl, že začnu programovat. Jediný programovací jazyk, který jsem z doslechu znak byl (možná trochu překvapivě) jazyk C. No dobrá tedy, sehnal jsem si pořádně tlustou knihu o „céčku“ a začal studovat. Do té doby jsem o principu programování neměl ani potuchy a nějaká kompilace pro mě byla také velkou neznámou. Takže napoprvé to nevyšlo. Jazyk C jsem zavrhnul jako „příliš těžký“ a dal se do hledání „lepšího“ jazyka. Ten jsem našel v Pascalu. Pascal, jazyk stvořený pro výuku programování, posloužil mým účelům velmi dobře. Valil jsem jednu aplikaci začínajícího programátora za druhou.
A pak mě to, jako i spoustu jiných, napadlo. Naprogramuji si hru. Bude hra Had! S vervou jsem se tedy do tohoto projektu pustil. Brzy jsem ale přišel na to, že mé vědomosti ještě nejsou na potřebné úrovni. Přesto byl výsledkem takový trochu hybrid had, který je stále na stažení na mém starém webu. Instalátor jsem tam přidal jen z machroviny, samotná hra má jen jeden exe soubor. Když ji vyzkoušíte, sami poznáte, že do nokiového hada má daleko. Jakási tečka běhá v konzolovém okně a zbírá žrádýlka. Tečka, ne had, to je právě ono.
Než jsem stačil nabýt potřebných znalostí pro pořádný update hry, uchvátilo mě Delphi svými wokenními aplikacemi. Do té doby jsem tvořil pouze programy běžící v konzoli, takže přechod na programy s formulářem, buttonkami, editboxy a vším možným, jsem vnímal jako velký skok kupředu. Tehdy jsem si ještě neuvědomoval, že jde o pouhé klikání a ne programování. V Delphi jsem se o hada nepokoušel. Stvořil jsem v něm však pár zajímavým prográmků viz Stoyan’s Remote Control Tool. Stále více volného času žrala škola a na programování nějak nebyl čas. Před maturitou jsem se z donucení vrátil k Pascalu. V tom jsem však programoval jen příklady ze zadání čili nic záživného. Pak přišla maturita a po ní opojné chvíle úspěchů s vidinou nadcházejících dlouhých prázdnin. No a jsme v součastnosti. Prázdniny se pomalu, ale nezadržitelně chýlí ke konci. No a jak to vypadá s hadem? Po maturitě jsem se vrátil na počátek řetězce, čili k jazyku C. Zároveň jsem se rozhodl, že konečně splním tento několikaletý deficit program a konečně dokončím. Tímto vám tedy představuji hru „začínajícího programátora“ Stoyan’s Snake v1.0, která byla stvořena o několik let později než měla:)
Popis hry
Hra se ovládá klasicky šipkami, mezerníkem hru zapauzujete, klávesou END měníte barvu hada a klávesou ESC hru ukončíte. Cílem hry je projít všech sedm levelů a k tomu vám musí stačit tři životy. K postupu do dalšího levelu je nutné nasbírat dvacet žrádýlek. Pokud jste úspěšní, můžete se zapsat do Síně slávy, kde si můžete prohlížet nejvyšší dosažená skore. Upozorňuji, že hra je velmi obtížná a gratuluji i tomu, kdo se dostane alespoň do levelu 5:)
Zdrojový kód
Zdrojový kód se dělí do dvou souborů, první console.c není mým dílem, původem ze serveru CodeGuru. Obsahuje funkce pro změnu barvy písma v konzoli (setrgb()), funkci pro přesun kurzoru na místo určené souřadnicemi (gotoxy()) a funkci na výmaz obsahu konzole (clrscr()). Hlavně první dvě funkce jsou v mém programu hojně užívané. Tento soubor jsem ještě trochu upravil, aby byl C kompatibilní (původně je psán pro C++) a také přidal několik nových barev a pozadí, které jsem do hry potřeboval. Druhým souborem je soubor had.c, který obsahuje vlastní kód hry. Další informace o hře naleznete v menu hry v příslušné nabídce.