IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Ako nakŕmiť hada (1. časť)

Naším ďalším programom bude hra Had. S podobnou hrou ste sa zrejme už stretli. Po ploche sa pohybuje had, požiera jedlo as každým prehltnutím sa predĺži o článok. My si hru ešte trochu vylepšíme. Had bude požierať rôzne typy jedla a články hada budú tiež rôzne podľa jedla, ktoré had prehltne.

Založte nový program s názvom Had. Otvorí sa program zející prázdnotou a bez jediného príkazu, ale to nám nevadí, pretože za chvíľu okna programu zaplníme peknú novú hrou.

Pripravíme hraciu plochu programu a to tak, že ju po obvode obestavíme múrov. Z predošlých lekcií máte iste ešte v knižnici predmet Múr Poličkové grafika
. Vložte ho do poľa Spoločné premenné a funkcie. Dvojklikom na prvok plocha Poličkové grafika
vyvolajte editáciu hlavnej plochy programu. Položte predmet Múr do ľavého horného rohu plochy.

Pozrieme sa na novú vlastnosť plochy. Každé políčko na ploche obsahuje okrem obrázku predmetu ešte päť logických prepínačov a tri číselné hodnoty. Logický prepínač umožňuje uchovať stav áno / nie a tento stav neskôr testovať. V našom programe použijeme prvý prepínač na signalizáciu, že na políčku je postavená stenu alebo sa tam nachádza článok hada. Nebudeme tak musieť vyhodnocovať predmet na políčku, len sa vždy opýtame prepínače: "Je na políčku stenu alebo článok hada?" Môžeme dokonca používať viac variantov múrov bez toho musíme meniť niečo v programe.

V paneli nástrojov editora plochy je úplne vpravo rozbaľovací zoznam typu editácie. Rozbaľte ho a zvoľte funkciu Prepínač 1 Poličkové grafika
. Zobrazená plocha sa zmení, v ľavom hornom rohu každého políčka sa objaví tmavo červený štvorček Poličkové grafika
. Štvorček je indikátor stavu prepínača 1 v políčku. Teraz je vypnutý (stav "nie"). Zapnite v paneli nástrojov prepínacie tlačidlo Editácia Poličkové grafika
(Kliknutím na tlačidlo). Tým aktivujete režim úpravy obsahu políčok. Kliknite na políčko v ľavom hornom rohu s predmetom Múr. Štvorček sa stane svetle červený so značkou začiarknutia Poličkové grafika
. Prepínač 1 na políčku je teraz zapnutý (stav "áno"). Vypnite editáciu políčok novým kliknutím na tlačidlo Editácia Poličkové grafika
.

Teraz by sme radi položili múr okolo celej plochy. Máme k dispozícii trochu ľahšie postup, ako neustále kopírovanie predmetu pravým tlačidlom myši. V paneli nástrojov zapnite prepínacie tlačidlo Výplň Poličkové grafika
. Stlačte ľavé tlačidlo myši na predmete stene v ľavom hornom rohu plochy a ťahajte myšou do pravého horného rohu, tam tlačidlo myši pustite. Plocha, ktorú ste takto označili, sa vyplnila východiskovým políčkom. Podobne vyplňte aj ostatné strany plochy. Nakoniec vypnite tlačidlo Výplň Poličkové grafika
a ešte môžete pravým tlačidlom myši doplniť stenu niekam do plochy, napríklad podľa vzoru:

Poličkové grafika

Pri dopĺňaní políčok múru používajte kópiu existujúceho políčka z plochy (pravým tlačidlom myši) namiesto položenie nového predmetu múru do plochy - tak zaistíte kopírovanie políčka vrátane nastaveného prepínača 1.

Pripravíme jedlo, ktoré bude had požierať. Vytvorte päť nových predmetov a nakreslite do nich obrázky hadieho jedla. napríklad:

Poličkové grafika

Vytvoríme články hada. Nakreslite si najskôr prázdny článok hada, ten rozkopírujte a do článkov nakopírujte obrázky předmětů.Vyberte si najskôr pravým tlačidlom myši v paletách farieb pôvodnú zelenú podkladovú farbu - tým zaistíte, že po položení obrázku zostane pôvodné podklad priehľadný. Farbu podkladu zistíte nabehnutím kurzoru myši nad podkladovú farbu, príslušná farba sa v paletách farieb zdôrazní. Kópiu vykonajte označením predmetu výberovým obdĺžnikom tak, aby ste neoznačili aj okrajový rámček. Potom napr. Klávesy Ctrl + C a Ctrl + V.

Poličkové grafika

Podobne vytvoríme tri predmety s obrázkami jedu a jeden článok hada s obrázkom lebky:

Poličkové grafika

Posledným grafickým úkonom bude vytvorenie hlavy hada. Ako hlavu hada použijeme Petríka. Vyvolajte editáciu sprajt Petríka dvojklikom myšou na prvok Petřík Poličkové grafika
v poli Spoločných premenných a funkcií. Otvorte tlačidlom Vlastnosti Poličkové grafika
okno pre nastavenie vlastností sprajt. Zmeňte riadok Oneskorenie medzi fázami z 55 na 165 (doba medzi jednotlivými fázami animácie), riadok Fáz na krok (0 = ihneď) z 8 na 0 (posúva sa ihneď), riadok Fáz pre pokoj zmeňte z 1 na 2 a riadok Fáz pre pohyb zo 4 na 0. Uzavrite okno stlačením klávesy Enter. Sprajt Petríka má teraz štyri smery a dve fázy pre pokoj.

Vyhoďte prvý obrázok vľavo hore s Petrik. Dvojklikom do obrázka vyvolajte editáciu obrázka a nakreslite hlavu hada pozerajúce sa smerom doprava. Vráťte sa tlačidlom Predošlá editácie Poličkové grafika
do editora sprajt. Pravým tlačidlom myši skopírujte prvý obrázok aj do druhého obrázka na rovnakom riadku. V editore upravte hlavu tak, aby had otváral pusu. Skopírujte obaja obrázky aj do ostatných riadkov pre ostatné smery. Vyvolaním editáciou obrázkov otočte hlavy podľa smerov na riadkoch sprajt, použite na to funkciu Úpravy Poličkové grafika
. Nakoniec môžete sprajt vyskúšať tlačidlom Test Poličkové grafika
.

Poličkové grafika

Predmetov s obrázkami jedla máme v našom programe už väčšie množstvo a možno by sme ich radi v budúcnosti ešte rozšírili. S našimi súčasnými znalosťami by sme museli každý typ predmetu obsluhovať zvlášť, a to by už bolo trochu ťažkopádne. Preto sa naučíme používať nový prvok - zoznam.

Najskôr si zoznam pripravíme, hoci zatiaľ nevieme, k čomu vlastne je. Zo skupiny riadenie programu Poličkové grafika
presuňte do poľa Spoločné premenné a funkcie prvok zoznam Poličkové grafika
. Pomenujte ho zoznam jedál. Po jeho roztvorenie uvidíte tri prvky. Prvý prvok, počet Poličkové grafika
, Premenujte na 5 - počet jedál. Druhý prvok, index Poličkové grafika
, Premenujte na index jedla. Tretí prvok, inkrementácia indexu Poličkové grafika
, Premenujte na inkrementácia indexu jedla. Do zoznamu doplňte ešte dva nové (prázdne) predmety, pomenujte je jedlo a jedlo - had.

Poličkové grafika

Teraz si vysvetlíme, čo to zoznam je. Zoznam je niečo ako kniha. Všetky stránky knihy vyzerajú podobne, napríklad na každej stránke bude jeden obrázok a jeden text, ale pritom je v každom obrázku či textu niečo iné. V našom zozname uchováme predmety jedla a článkov hada, aby sme si uľahčili ich použitia. Na každej stránke zozname bude iný obrázok jedla a iný obrázok článku hada. Prvá položka v zozname Poličkové grafika
udáva počet stránok zoznamu, my máme v zozname 5 typov jedál (údaj zapisujeme ako číslo za ktorým môže nasledovať akýkoľvek komentár). druhá položka Poličkové grafika
je číslo vybrané stránky zoznamu, tj. ukazovateľ zoznamu (čísluje sa od stránky 0). tretia položka Poličkové grafika
určuje, o koľko stránok sa ukazovateľ automaticky posunie pri každom prístupe k nejakej dátovej položke zoznamu (poznámka: slovo inkrementácia znamená zvýšenie).

Zoznam jedál musíme pri štarte programu naplniť, to znamená určiť, aký predmet na ktorej stránke zozname bude. Príkazy pre naplnenie zoznamu vidíte na nasledujúcom obrázku. Umiestnite ich na začiatok hlavné funkcie programu.

Pred začatím plnenia zoznamu určíme počiatočné stránku, od ktorej budeme zoznam plniť. Nastavíme prvok index jedla Poličkové grafika
na hodnotu 0. Použijeme automatické zvyšovanie čísla stránky, preto nastavíme prvok inkrementácia indexu jedla Poličkové grafika
na hodnotu 1.

Najskôr naplníme predmet jedlo na všetkých stránkach zozname. Postupne nastavujeme prvok jedlo na jednotlivé predmety jedla. Predmety sa ukladajú do zoznamu a po každom nastavení predmetu sa stránka automaticky zvýši o jednotku. Po nastavení posledného predmetu sa ukazovateľ stránok automaticky previnie na začiatok (tým že pretečie cez koniec). Začneme plniť predmety jedlo

  • had, opäť sa stránky samy

zvyšujú nahor. Na záver nastavíme automatické zvyšovanie stránok na hodnotu 0, pretože v programe už automatické zvyšovanie nebudeme používať.

Poličkové grafika

Ak bude počas hry hráč neúspešný, to znamená narazí Ak had na prekážku alebo sa naje jedu, začne hra od začiatku. K tomu budeme potrebovať znovu vykresliť plochu programu tak, ako pri štarte, tj. Bez jedov a jedál. Mohli by sme plochu vyčistiť programovo, ale je jeden ľahší spôsob. Hlavné plochu si môžeme uschovať do premennej typu plocha a pri novej hre ju pomocou tejto premennej jednoducho obnoviť.

Vytvorte novú premennú plochy (kópií prvku plocha z poľa Knižnice premenných a funkcií do poľa Spoločných premenných a funkcií) a pomenujte ju uschovaná hracia plocha. Na začiatok programu dajte príkaz pre uschovanie hlavné plochy:

Poličkové grafika

Pri hre budeme hráči zobrazovať jeho najvyššie dosiahnuté skóre. Vytvorte číselnú premennú s názvom dosiahnuté maximum, jej hodnotu nastavte na nulu.

Vytvorte novú funkciu s názvom nová hra. Funkciu necháme vykonať pri štarte programu, a preto ju doplňte na začiatok programu za skupinu pre naplnenie zoznamu jedál. Jej obsah budeme zostavovať podľa obrázku uvedeného nižšie.

Vytvorte logickú premennú príznak pohybu hada, číselnú premennú dĺžka hada, číselnú premennú čítač pre ďalší krok a funkciu s názvom zobrazenie počtu článkov hada. Logickú premennú príznak pohybu hada použijeme na indikáciu začiatku pohybu hada (po štarte hry bude had stáť na mieste a čakať na stlačenie prvého klávesu). Hodnotu premennej nastavte vo funkcii nová hra na vypnuté (tj. Nie). Premenná dĺžka hada udáva počet článkov hada a počas hry sa zvyšuje. Pri začatí novej hry ju nastavte na 0. Čítač pre ďalší krok číta časové impulzy 0.05 sekundy, než sa vykoná posun hada o políčko (znižuje sa od hodnoty 9 do 0, čiže jeden krok trvá asi 0.5 sekundy). Nastavte čítač pri začatí hry na hodnotu 1, aby sa prvý krok vykonal ihneď po stlačení prvej klávesy.

Ďalším príkazom pri začatí novej hry je návrat uschované hracej plochy. Použite rovnaký príkaz ako pri úschove plochy, ale s obráteným poradím prvkov. Poznamenajme, že operácia priradenie plochy kopíruje do cieľovej premennej obsah plochy, nie referenčný odkaz na zdrojovú plochu. Nasledujúcimi príkazy sa vykoná nastavenie východiskovej pozície hada. Vypnite viditeľnosť Petríka, nastavte jeho súradnice na (horizontálne) X = 9 a (vertikálne) Y = 8, otočte ho vpravo a opäť viditeľnosť zapnite. Na záver funkcie nová hra uveďte funkciu zobrazenie počtu článkov hada.

Poličkové grafika

Teraz sa zameriame na funkciu zobrazenie počtu článkov hada. Pri mnohých hrách je potrebné užívateľovi oznamovať rôzne informácie, ako je napr. Dosiahnuté skóre. Ak sa nechceme zobrazovaním informácií príliš zaoberať, je dobrým a rýchlym riešením vypisovať takéto informácie v nadpise okna. My budeme oznamovať hráči dosiahnutú dĺžku hada a prípadne maximálny dosiahnuté skóre. Pri zobrazení počtu článkov sa budeme snažiť aspoň trochu vyjadrovať po slovensky, preto rozlíšime stavy "1 článok", "2 ... 3 ... 4 články" a "5 ... 6 ... článkov". Väčšina hráčov nám snáď odpustí češtinářský prehrešok, keď namiesto "23 články" vypíšeme "23 článkov". Ale kto by chcel dokonalosť, môže pomocou funkcie modulo testovať poslednú číslicu čísla a skloňovať tak ako sa má. Tu je obsah funkcie:

Poličkové grafika

Dĺžka hada 0 sa vyskytne vždy pri začatí novej hry. V tejto chvíli môžeme zobraziť informácie o autorovi programu alebo neskôr maximálne skóre.

Poličkové grafika

Na obrázku vidíte použitý nový prvok - nadpis okna Poličkové grafika
(nájdete ho v skupine ovládanie Poličkové grafika
, Podskupina dialógy Poličkové grafika
). Prvok má charakter textové premenné (možno ho nastavovať i čítať), predstavujúce text na hornej lište okna (titulok okna). Prvok zlúčenie textov Poličkové grafika
slúži k zlúčeniu viacerých textov do jedného textu. Zlúčenie prebieha zhora nadol. Bežný text je možné zadať zápisom texte u prvku textová konštanta Poličkové grafika
. Prvok prevod čísla na textový tvar Poličkové grafika
prevádza číslo na textové vyjadrenie čísla.

Podobne sú zostavené aj vetvy pre ostatné dĺžky hada. Všimnite si, že môžeme jednu vetvu vetviaci konštrukcia použiť pre viac hodnôt dĺžok.

Poličkové grafika

Jedna poznámka k používaniu nadpisu okna. Pri štarte programu sa v nadpise okna objaví meno hlavnej funkcie programu. Ak nie je potreba počas chodu programu nadpis okná meniť, stačí patrične upraviť meno hlavné funkcie. U nového programu je meno hlavné funkcie prednastavené na meno programu.

Ďalej sa budeme zaoberať hlavnou slučkou programu. Na koniec hlavné funkcie umiestnite podmienené opakovania príkazov Poličkové grafika
. Do testu podmienky dajte prvok áno Poličkové grafika
, Čím zmeníte cyklus na nekonečný cyklus. Ukončenie programu bude uskutočnené vnútri obsluhy klávesov ako reakcia na kláves Esc. Na začiatku hlavnej slučky vytvoríme najskôr obsluhu klávesov, nasleduje obsluha pohybu hada a na záver obsluha vytváranie nových vecí (jedlo a jed). Posledným príkazom v slučke bude obsluha čakania zaisťujúce časovanie programu. Príkaz čakanie môžete doplniť do slučky už teraz, ostatné obsluhy budeme dopĺňať postupne.

Poličkové grafika

.... dokončenie nabudúce


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 222x (319.84 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Petr (sú obsiahnuté v EXE súbore, ktorý možno v programe priamo otvoriť)

 

Všetky články v sekcii
Poličkové grafika
Článok pre vás napísal Panda38
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Programátor C++, WinAPI, ASM.
Aktivity