- Had verzia 0.50 – ovládanie myšou
- Had verzia 0.51 – ovládanie klávesnicou
- Had verzia 0.52 – ovládanie klávesnicou a múdry had, ktorý chodí samostatne
- Had verzia 0.53 – opravené na základe pripomienok žiakov, rýchlejšia odozva pri ovládaní, odstránené kozmetické chyby
Upravte program podľa vlastných predstáv.
Väčšina z vás sa rada hrá na počítačoch. Programovanie vám umožňuje navrhnúť svoju vlastnú hru. V tomto prípade možnete upraviť hru Had podľa vlastných predstáv, inšpirovať sa ňou a vytvoriť vlastnú hru.
- zmeniť spôsob ovládania
- doplniť počet životov
- doplniť úrovne hry
- do tabuľky najlepších výkonov doplniť mená hráčov
- doplniť animácie pri narazení do steny, do seba, pri zjedení jedu
- generovať kúzelný predmet, po ktorého zožratí sa zväčší počet životov
- skombinovať obe verzie a umožniť používateľovi, aby si zvolil, či chce hru ovládať myšou alebo klávesnicou
- prerobiť program na dvoch hadov, jeden ovládaný myšou, druhý klávesnicou a vytvoriť tak hru pre dvoch hráčov
- …
Fantázii sa medze nekladú. Upravte autorstvo tak, aby tam figurovalo aj vaše meno. V komentároch pod článkom môžete napísať ďalšie vlastné nápady, ako upraviť hru.
Ovládanie
- Nová hra – spustí hru. Vygeneruje sa hracie pole s náhodne rozmiestnenými zelenými a červenými kruhmi. Na náhodnej pozícii sa vygenuje ružový had. Približne po troch sekundách sa had pohne smerom ku kurzoru myši. Zelené kruhy sú hadovou potravou, červené kruhy sú jedovaté. Had nesmie naraziť do steny ani do seba.
- Návod – popis ovládania hry
- Vynulovať rekordy – vynuluje najlepšie výsledky
Procedúry
- Generuj – vygeneruje na náhodnej pozícii kruh s priemerom 15. Ak na danom mieste už nejaký kruh je, kruh sa vygeneruje na inom mieste.
viem generuj
urob „x 290-nahodne 580 urob „y 190-nahodne 380
urob „x :X-zvysok :X 15 #kruh bude v strede štvorca štvorcovej siete, v ktorej štvorce majú stranu veľké 15 bodov.
urob „y :y-zvysok :y 15
nechpoz veta :X :Y
ak2 farbabodu=“biela [kruh 15] #ak bod na vygenerovaných súradniciach je biely, nakreslí sa kruh
[generuj] #ak nebol biely, generujú sa nové súradnice
koniec
Môžete experimentovať s veľkosťou kruhov - Hra – spustenie novej hry
viem hra
init zobrazskore cakaj 3000
urob „co prenasleduj
ak :co=1 [text „Zožral_som_jed]
ak :co=2 [text „Zožral_som_seba]
ak :co=3 [text „Narazil_som_o_stenu]
skore
koniec
Podľa toho, ako had prišiel o život by sa mohla spustiť tomu zodpovedajúca animácia a zvuk. - Init – inicializácia premenných, nakreslenie hracej plochy, vygenerovanie potravy a jedu
viem init
znova
nechfp „fialova
nechhp 10
ph
nechpoz [-310 -210]
pd
dopredu 420 vpravo 90 dopredu 620 vpravo 90 dopredu 420 vpravo 90 dopredu 620 #nakreslenie stien
ph
nechfp „zelena opakuj 100 [generuj] #generovanie potravy
nechfp „cervena opakuj 150 [generuj] #generovanie jedu
nechfp „biela
kym [farbabodu<>“biela] [generuj]
urob „had poz
nechfp „ruzova
kruh 15
urob „skore 1
urob „pauza 300
koniec
Pauza určuje, ako rýchlo sa had pohybuje. Ak by ste implementovali úrovne hry, jeden z parametrov, ktorý by ste menili by bola počiatočná hodnota premennej pauza. S úrovňou by mohli byť spojené i počty potravín a jedov. - Prenasleduj – ovládanie hada, testovanie, či neprišiel o život
viem prenasleduj
nechfp „ruzova
zobrazskore
opakuj 100000 [nechpoz [30 240] nechfp „biela kruh 50 nechpoz [-10 240] nechfp „ruzova text veta „Skóre: :skore
urob „poz1 veta prvok 1 :had prvok 2 :had #Návrat na pozíciu prvého článku hada
nechpoz :poz1
kam
dopredu 7.5 cakaj :pauza #pohnutie nastaveným smerom
urob „had veta poz :had #pridanie nového články na začiatok hada
urob „n pocet :had
urob „n :n-1
urob „x prvok :n :had
urob „y posledny :had
ak farbabodu=“červena [vysledok 1] #testy, či neprišiel o život
ak farbabodu=“ruzova [vysledok 2]
ak farbabodu=“fialova [vysledok 3]
ak farbabodu=“zelena [vypln urob „skore :skore+1 nechfp „zelena generuj nechfp „ruzova urob „poz1 veta prvok 1 :had prvok 2 :had
nechpoz :poz1 urob „pauza :pauza-1] #ak zožral potravu, zväčší sa skóre, zrýchli sa pohy
ak farbabodu=“biela [
nechpoz veta :X :Y
nechfv „biela
vypln
urob „had bezposledneho :had #ak vošiel na prázdne políčko, zmaže sa posledný článok hada
urob „had bezposledneho :had
nechfp „ruzova
urob „poz veta prvok 1 :had prvok 2 :had
nechpoz :poz]
kruh 7 #Vykreslenie hlavy hada
urob „pauza :pauza-0.01 #Každým krokom sa zrýchľuje pohyb hada - Kam – ovládanie hada. Keď zmeníte túto procedúru, zmeníte spôsob ovládania hada. V druhej verzii je modifikovaná táto procedúra na ovládanie klávesnicou.
viem kam
urob „kam smerk pozmysi #zmeranie uhla smerom k pozícii myši. Smer pohybu hada sa nastaví na 0, 90, 180 a 270 stupňov, zodpovedá to smerom hore, vpravo, dole a vľavo
ak :kam <45 [urob „kam 0]
ak and :kam>44 :kam<135 [urob „kam 90]
ak and :kam>134 :kam<225 [urob „kam 180]
ak and :kam>224 :kam<315 [urob „kam 270]
ak :kam>314 [urob „kam 0]
nechsmer :kam
koniec - Skóre – ak dosiahnuté skóre bolo v prvej desiatke najlepších výsledkov, zmení sa zoznam rekordov
viem skore
urob „nrekord []
urob „zmena 0
opakuj 10 [ak and :zmena=0 :skore>prvok pocitadlo :rekordy [urob „nrekord veta :nrekord :skore urob „zmena 1]
urob „nrekord veta :nrekord prvok pocitadlo :rekordy
]
urob „rekordy :nrekord
koniec - Vynulujskore – vynulovanie tabuľky rekordov
- Zobrazskore – zobrazenie tabuľky rekordov
viem zobrazskore
nechpoz [320 200]
text „Najlepší
opakuj 10 [urob „y 200-pocitadlo*15
nechpoz veta 320 :y
text prvok pocitadlo :rekordy
]
koniec
Môžete doplniť o meno hráča, dátum dosiahnutia rekordu, …