Obsah Anotace :... 1 Anotation 2



Podobné dokumenty
Gymnázium, Praha 6, Arabská 14. předmět Programování, vyučující Tomáš Obdržálek. Počítačová hra Fotbalový Manažer. ročníkový projekt.

Gymnázium, Praha 6, Arabská 16 předmět Programování, vyučující Tomáš Obdržálek Šibenice ročníkový projekt Tadeáš Váša, 1E květen 2014

Gymnázium, Praha 6, Arabská 14. předmět Programování, vyučující Tomáš Obdržálek. Program pro kontrolu správného vývoje dítěte.

Matematika. Gymnázium, Praha 6, Arabská 16. předmět Programování, vyučující Tomáš Obdržálek. dokumentace ročníkového projektu.

Vědomostní test. Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek

V Dolních Břežanech dne 10. května 2014

Gymnázium, Praha 6, Arabská 16. předmět Programování, vyučující Tomáš Obdržálek Lodě Dokumentace ročníkového projektu Martin Karlík, 1E 17.5.

Postřehová hra. Zadání projektu. 1 Moje cíle

Gymnázium Arabská. Hra Pexeso. ročníkový projekt předmět programování vyučující Tomáš Obdržálek autor Ondřej Novák školní rok 2013/2014

Mobilní hra Block Runner ročníkový projekt David Novák, 1.E květen 2014

Piškvorky. Gymnázium, Praha 6, Arabská 16. Kristofer Filip, 1.E. Květen Stránka 1. předmět programování, vyučující Tomáš Obdržálek

Gymnázium, Praha 6, Arabská 16 Předmět Programování, vyučující Tomáš Obdržálek Hledání Min Ročníkový projekt Filip Mašát, 1.

Hodnocení soutěžních úloh

PROJEKT MINY - DOKUMENTACE

Hledání správné cesty

Gymnázium, Praha 6, Arabská 14. Loydova patnáctka. Dokumentace ročníkového projektu. Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.

Zadání soutěžních úloh

Gymnázium, Praha 6, Arabská 14. předmět: Programování. vyučující: Tomáš Obdržálek. Piškvorky. ročníkový projekt. Le Hoang Nguyen, 1.E.

Karty Prší. Anotace: Abstract: Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek

POVLTAVSKÉ SETKÁNÍ BALTÍKŮ - 9.ročník a

Micro:bit lekce 3. - Konstrukci If Then a If Then Else najdete v kategorii Logic - Podmínky od If (např. porovnání < >= atd.) najdete taktéž v Logic

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

Zadání soutěžních úloh

DUM č. 9 v sadě. 30. Inf-6 Imagine Logo a animace pro nižší gymnázium

Robot BBC Micro:bit kódovaní v PXT Editoru

Soubory s reklamami musí mít stejný název jako ta výše uvedené. Stávající soubory reklam budou přepsány.

Úvodem... 9 Kapitola 1 Karetních

Regionální kolo soutěže Mladý programátor 2012, kategorie A, B

Mezinárodní kolo soutěže Baltík 2010, kategorie C a D

Tvorba počítačové hry. GameJN

Maticové operace projekt č. 3

Název: VY_32_INOVACE_PG4113 Relativní pozicovaní a jeho využití

Školní kolo soutěže Mladý programátor 2015, kategorie A, B

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006

ÚPLNÁ PRAVIDLA SOUTĚŽE LOVKYNĚ PEREL

Klávesy, které lze naprogramovat:

JSR tutorial 2 Transformace v JSR-184

Školní kolo soutěže Baltík 2011, kategorie C

Příručka aplikace Kollision. Paolo Capriotti

Trosečník v džungli, adventura

Herní plán AGE OF VIKINGS

Vánoční setkání ve Strakonicích 2018

Dokumentace k zápočtovému programu. curver 1.0. Programování I (NPRG030) 1. ročník Bc. studia MFF UK - Informatika. Autor: Jakub Kinšt

Úvod do počítačových sítí

Školní kolo soutěže Baltík 2009, kategorie C

Programování v jazyku LOGO - úvod

Příručka aplikace Granatier. Mathias Kraus

Printris. Hra Printris je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

Relativnost současnosti dvou nesoumístných událostí poprvé (UDÁLOSTI NEJSOU SPOJENY KAUZÁLNĚ)

Školní kolo soutěže Baltík 2007, kategorie A a B


ROČNÍKOVÁ PRÁCE. Střední průmyslová škola Ostrov. Webové stránky na téma Město, ve kterém žiji. Třída I2 Tadeáš Seemann

Domácí hosté Program pro řízení kuželkových soutěží

Česká příručka. Obsah Balení. Systémové Požadavky. Instalace a podpora. Roccat Isku klávesnice Rychlá instalační příručka

[BAL-MLP] Multiplayer

PDA D3. Simon Slováček, Petr Rubeš, David Tomáš. Active Party Time

Úvod. Tlačítka. Typ baterie

Celostátní kolo soutěže Baltík 2007, kategorie C

Příručka aplikace KNetWalk. Fela Winkelmolen Eugene Trounev

Regionální kolo soutěže Mladý programátor 2014, kategorie A, B

Herní plán BREAK THE BANK

Celostátní kolo soutěže Mladý programátor 2015, kategorie C

Při bodování se mohou přidělovat body za každou dílčí úlohu (tj. a, b ), maximální bodové hodnocení je uvedeno na konci každé dílčí úlohy.

Regionální kolo soutěže Mladý programátor 2015, kategorie A, B

Celostátní kolo soutěže Mladý programátor 2013, kategorie C, D

Emotion Technická charakteristika

VBA: VYTVOŘENÍ OBJEKTU GRAF (CHART) Deklarace proměnné typu Chart. Pro vytvoření nového grafu použijeme kolekci ChartObjects a její metodu Add.

Popis základního prostředí programu AutoCAD

Adobe Photoshop. 1. Seznámení s programem. 1. Seznámení s programem. XMF, montážní program. Tomáš Fab. Vytvořila: Bc. Blažena Kondelíková

EasyLearn PC. Uživatelská příručka. Nakladatelství Fraus, Plzeň

Zadání úloh mezinárodního kola soutěže Baltík 2006

1. ÚLOHA Sněhurka a sedm trpaslíků (23 bodů)

Regionální kolo soutěže Mladý programátor 2019, kategorie A, B

1. Úloha - Vykládání lodí (20 bodů)

Projekt Obrázek strana 135

HERNÍ ENGINE PRO TVORBU DIDAKTICKÝCH HER VE FLASHI

2. Svoje řešení pojmenujte podle čísel zadání úloh: uloha1.sgpbprj uloha4.sgpbprj

INFORMATIKA PRO ZŠ. Ing. Veronika Šolcová

Metodický list k didaktickému materiálu

ňáci bubli VÍTEJTE VE SVĚTĚ BUBLIŇÁKŮ! Pravidla hry V PODIVUHODNÉM SVĚTĚ, KDE JSOU PLANETY ZAKLETY V ČASE A KDE BUBLIŇÁCI ŽIJÍ.

Herní plán. Hot as Hell

HERNÍ PLÁN. Případné reklamace hráče budou řešeny provozovatelem.

9. Rozšiřující desky Evb_Display a Evb_keyboard

13 CZ kat.4. Herní ukazatelé: Kredit: aktuální stav kreditu, zde jsou zobrazeny hodnoty všech vhozených mincí a vložených bankovek

Pro všechny herní varianty platí: Nejvyšší sázka na hru: 25 bodů. Nejvyšší výhra ve hře: bodů.

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení

Celostátní kolo soutěže Mladý programátor 2014, kategorie A, B

Herní plán DIRTY MONEY

Regionální kolo soutěže Baltík 2007, kategorie A a B

Kámen-nůžky-papír. Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

WORKSHEET 1: LINEAR EQUATION 1

Hodnocení soutěžních úloh

František Hudek. březen ročník. Informační a komunikační technologie OS WINDOWS Hlavní panel

PROGRAMOVÁNÍ - AKTIVACE MENU

Rizikové procesy. 1. Spuštění modulu Rizikové procesy. 2. Popis prostředí a ovládacích prvků modulu Rizikové procesy

INTERACTIVE GAMES 750 CZK

Celostátní kolo soutěže Mladý programátor 2012, kategorie A, B

Kreslící program. V této lekci se naučíš vytvořit si vlastní kreslící program! Následujte postupně tyto INSTRUKCE

Transkript:

Gymnázium, Praha 6, Arabská 16 předmět Programování, vyučující Tomáš Obdržálek Hra Snake ročníkový projekt Jan Vondráček, 1E květen 2014 Obsah Anotace :... 1 Anotation 2 Zadání projektu :... 2 Samostatná práce :... 2 Princip Hry :... 2 Cíl projektu:... 2 Historie hry Snake :... 2 Samotný projekt :... 3 Začátek :... 3 Třída Herní Objekt :... 3 Třída Had :... 3 Třída Snake :... 3 Ukázky obrázků... 4,5,6 Instalace a spuštění :... 7 Závěr:... 7 Prohlášení :... 7 Anotace : Cílem projektu bylo vytvoření světoznámé hry Snake. Hráč se chopí role hada, který se snaží posbírat co nejvice jídel. S každým sebráním jídla se had prodluží o jednu kostičku. Hra končí když se začátkem hada nabourá do okraje nebo do hadova těla. Cílem hry je nasbírat co nejvíce jídel a mít tím pádem nejvyšší skore. Had se pohybuje 4 zakladními směry doprava, doleva, nahoru a dolu. Ovládá se pomocí šipek. ~ 1 ~

Anotation: Goal of the project was to create well-known game Snake.Player has a role of snake which is about to collect as much food as possible.with each collected food the snake gets longer by one part. Game ends when collision of the snake with walls or his body occure. The goal of the game is to collect as much food as possible and thus receiving the highest score. The snake is driven in four basic directions up, down, left, right. It s controled by arrows keys. Zadání projektu : Cílem je hra, ve které je had z čverečků a vy pomocí šipek hadem pohybujete a snažíte se posbírat co nejvíc jídel, které hada prodlužují. Had s každým soustem o trochu vyroste a nesmíte nabourat do svého hada a nebo do okrajů. Had se zrychlovat nebude a jídla se budou objevovat po sebrání toho předchozího Bude to projekt v Javě A na ploše asi 500x500 pixelech A na 50 x 50 hracich polich Samostatná práce : Princip Hry : Had, který je na začátku jenom kostička, má za úkol posbírat co nejvíce jídel a přitom nenabourat do svého vlastního těla nebo do okrajů. Had se ovládá pomocí šipek. Skore se zobrazuje v pravém horním rohu. Jídla se objevují náhodně. Cíl projektu: Mnou stanovený cíl projektu byl vytvořit jednoduchou hru snake, kterou může hrát každý a je velice jednoduchá na ovladatelnost. Historie hry Snake : S hrou Snake přišla poprvé společnost Nokia v roce 1998 (obr. 1) a podle této verze jsem se snažil vytvořit svojí ročníkovou práci. O dva roky později přišla nová verze u které bylo již možné rozeznat hlavu hada a vrtící se ocásek a také se v této verzi oproti minulé objevilo 5 nových bludišt (obr. 2). Poté v roce 2002 vyšel snake ex a ex2 u prvního se moc nezmenilo od předchozí verze. Jenom se had stal barevným a trochu se zdokonalilo jídlo, ale ke změně došlo u verze ex2 (obr. 3), kde se objevil extreme mode, kde se po dosažení určitého počtu bodů objevil teleport do dalšího a těžšího levelu. Poté přišel Snake Xenzia (obr. 4)v roce 2005 a změnila se především grafika. Hadovo tělo už nebylo rovné, ale zacalo se trochu vlnit a místo brouků už sbírá bonusové menší a větší bubliny. Další generace hry byla Snake 3 (rok 2006). Tato verze již byla velice odlišná od minulých verzí. Grafické zpracování již bylo ve 3D a vylepšením prošel nejen had, ale i jidlo. Nejednalo se jen o kostičky a malé bublinky, ale zde se objevily nejen třešničky ale i hrušky, jablka, houby a spousta dalších (obr. 5). ~ 2 ~

Samotný projekt : Začátek : Nejdříve jsem začal tím,že jsem si vytvořil nový projekt a poté dále třídu s názvem Snake. Do této třídy jsem zkopíroval My pannel a stanovil si velikost okna,které má být podle zadání projektu 500 na 500 pixelů (ve zdrojovém kodu je velikost nastavena na 506 na 528 pixelů, protože okno celé má o něco vice než hrací plocha a tím pádem velikost hrací plochy zůstala 500 x 500 pixelů) a také jsem zde určil pevnou velikost okna. Třída Herní Objekt (obr. 6) : Poté jsem si založil třídu herní objekt ve které jsem si založil pole s názvem pozice které má dva prvky x-ovou a y-ovou osu. Také jsem zde založil řetězec s názvem typ a do určení jsem napsal nic, jelikož se typ herního objektu určí až u vytvoření nového objektu a také jsem založil barvu objektu, která se také určí později. A metoda kresli vykreslí vytvořené herní objekty. Třída Had (obr. 7): Dále jsem si vytvořil třídu Had, kde jsem vytvořil Arraylist s typem objektu Herní objekt a nazval jsem ho casti. A pak jsem si založil číselnou hodnotu směr. Následovalo založení metody Had, ve které jsem určil směr roven jedné ( jelikož jsou 4 směry (1 = nahorů, 2 = Dolů, 3 = Doprava, 4 = Doleva) Pak jsem založil nový herní objekt a nazval ho novacast. Následně jsem určil všechny proměnné, jako barvu, typ a pozici a do Arraylistu casti jsem přidal na první (nulté) místo novacast. Následně jsem vytvořil novou metodu pohyb, ve které jsem si opět založil nový herní objekt a určil jsem mu proměnné barvu a typ. Poté jsem přidal 4 podmínky, ve kterých jsem přesunul hlavu hada o jednu pozici dopředu (relativně k pohybu hada) a ubral jsem poslední kostičku těla hada. A posledním metoda třídy Had udělá to, že přidá hada do herního pole ale nevykreslí ho. Třída Snake : Začal jsem zkopírováním My Pannel, jak jsem již psal na začátku, a dále jsem si vytvořil několik neznámých nejdříve dvojrozměrné pole objekty, ve kterém jsou uloženy všechny objekty na hrací ploše. Poté hada, jidlo, nahodu (na jidlo),boolean hrabezi, která je nastavena na true a font velkytext (na nápis GAME OVER). Následně v metodě start jsem určil většinu proměnných jako objekty, had a založil jsem jidlo, které se bude zobrazovat na souřadnicích (nahoda.nextint(48) + 1, nahoda.nextint(48) + 1). Následně jsem vytvořil ve dvou cyklech okraje hracího pole. Následovala prodleva (program počká x- milisekund než bude pokračovat dál).poté také 4 série podmínek po 4 (pro všechny směry). V první serii se kontroluje zda čtvereček před hadem je prázdný, pokud ano had se tímto směrem pohybuje. Ve druhé sérii se kontroluje zda-li je před hadem jidlo a když ano tak hadovi neumaže poslední kostičku, a zároven vygeneruje nové jídlo.ve třetí serii se kontroluje zda had nenaboural do okrajů a když ano tak zavolá metodu GameOver.A konečně ve čtvrté sérii se kontroluje to samé, jako ve třetí,jen s tím rozdílem, že kontroluje, zda-li had nenarazil do svého těla. Pokud není splněna ani jedna podmínka z posledních dvou sérii tak se had jednoduše pohne dopředu. A nakonec v metodě start je repaint (překreslit). Následuje metoda Game Over,ve které je napsáno že hrabezi = false a také repaint. Poté je metoda Snake, která je kostruktorem stejnojmenné třídy. Tato metoda kontroluje vstupy z klávesnice a upraví směr pohybu hada podle stisknutí šipky. Poslední metoda paintcomponent zajištuje ~ 3 ~

vykreslení všech objektů do okna. Jako první odebereme všechny části hada a poté je znovu přidáme. Toto se provádí, protože by potom mohly na herní ploše zůstat zbytky starých částí hada. Následně vykreslíme všechny ostatní části jako je jídlo nebo okraje. Dále se vykreslí hráčovo skore a zkontrolujeme zda-li hráč prohrál. Pokud ano,tak se zobrazí velký nápis GAME OVER. A je zde také zakomentovaná část umožnující vykreslení mřížky. Obr. 4 Obr. 5 Obr. 2 Obr. 1 Obr. 3 Obr. 4 Obr. 5 ~ 4 ~

Obr. 6 Obr. 7 ~ 5 ~

Obr. 8 Obr 9. Metoda paintcomponent a také ukáza herního pole s a bez mřížky ~ 6 ~

Instalace a spuštění : Moje verze hry snake nepotřebuje instalaci jenom stačí rozkliknout a mít správnou verzi Javy. Závěr: Podle mého názoru se mi určený cíl podařilo splnit a jsem spokojen. Byla to dobrá zkušenost a poučení pro příští roky studia. Mohl bych dále pracovat na zlepšení: jiné barvy, druhy jídla, barvy prostředí, překážky, atd., ale v příštím roce se těším i na jiné projekty. Prohlášení : Prohlašuji, že jsem jediným autorem tohoto projektu, všechny citace jsou řádně označené a všechna použitá literatura a další zdroje jsou v práci uvedené. Tímto dle zákona 121/2000 Sb. (tzv. Autorský zákon) ve znění pozdějších předpisů uděluji bezúplatně škole Gymnázium, Praha 6, Arabská 14 oprávnění k výkonu práva na rozmnožování díla ( 13) a práva na sdělování díla veřejnosti ( 18) na dobu časově neomezenou a bez omezení územního rozsahu. V Praze, dne 18.5. 2014 ~ 7 ~