Zadání projektu
Cílem projektu je zábavnou formou si procvičit vývoj softwaru v jazyce Java.
Odevzdání projektu
Odevzdání a obhajoba projektu proběhne následovně:
- Termín odevzdání (nahrání do systému edison) je do 22.12.2024.
- Obhajoba proběhne osobně, ůstně v termínech na, které je nutno se přihlásit. Jsou vypsány v systému https://ees.cs.vsb.cz/subjects/727/exams.
Bodové hodnocení
Minimálně musí student získat 10 bodů maximálně pak může získat 25 bodů.
Zadání
Cílem projektu je vytvořid jednoduchou 2D hru v jazyce Java s využitím knihovny JavaFX. Hra bude implementovat jedno z níže uvedených témat (her), bude umožnovat uložení a načtení dat z a do souboru. Těmito daty mohou být například jedna možnost z:
- Hráči a jejich hesla
- Seznam nejlepších nahraných skóre a jména hráčů
- Seznam her doby a délky jejich raní
- Nastavení obtížnosti, klávesnice, úrovní, ...
- Editor úrovní
Zásady pro vypracování
- Projekt musí být v JavaFX ne ve starém swing a awt.
- Při kódování dodržujte konvence pro psaní v jazyce Java https://www.oracle.com/technetwork/java/codeconventions-150003.pdf případně revidovaná verze - https://www.scribd.com/doc/15884743/Java-Coding-Style-by-Achut-Reddy). Pro vše lze využít správně nastavené automatické formátování ve vašem IDE.
- Hlavní pokyny k formátování:
- Otevírací složená závorka vždy na konci řádku
- Názvy identifikátorů (třídy, metody, proměnné) s využitím CamelCase
- Názvy tříd začínají velkým písmenem
- Názvy metod a proměnných začínají malým písmenem
- Vaše IDE umí přejmenovat identifikátory (přídy, metody, proměnné) a všechny jejich výskity v kódu.
- Příkaz za if nebo for vždy na následujícím řádku, nejlépe v bloku kódu, tedy složené závork
- Statické metody a proměnné NEBUDOU používány s výjimkou pomocných funkcí a konstant - jejich použití konzultujte s cvičícím.
- Projekt bude obsahovat použití rozhraní, kolekcí a práci s I/O "streamy".
- S objekty se bude pracovat přes nejobecnější typ/rozhraní nikoliv přes konkrétní třídu.
- Využijte dědičnost a rozhraní pro sjednocení fukcionality a znovuvyužití kódu. Grafické prvky se nabízejí k využití těchto přístupů.
- Využíte více jak jednu scénu pro přepínání obrazovek hry.
- Při tvorbě využijte debuger a breakpointy, je to velice silný pomocník.
- V debug režimu umí IDE některé změny kódu okamžitě promítnout do aplikace bez nutnosti jejího restartování. Můžete také měnit hodnoty proměnných v paměti.
- Čtěte vyjímky, pokud vám nenapoví začátek vyjímky, zkontrolujte zda není uvedeno Caused By <další vyjímka> (může se několikrát opakovat)
- Povinnou součástí hodnocení projektu bude jeho obhajoba cvičícímu.
- Projekt udělejte v rozsahu a kvalitě s ohledem na své schopnosti - důležitá je funkčnost nikoliv 100% dokonalost a shoda s originálem.
- Knihovny použité při vývoji budou součástí odevzdaného projektu (jako závislosti maven) a nebudou vyžadovat žádná dodatečná nastavení. Nedodržení tohoto pravidla bude penalizováno jistým počtem bodu dle času, který byl nutný ke zprovoznění.
Témata / Hry
Na téma je nutno se přihlásit na https://ees.cs.vsb.cz/exams/728/blocks
- 1942 https://www.youtube.com/watch?v=bupAR6Rbn3I
- 1990 tank game https://www.youtube.com/watch?v=Opoib-Q_UGw
- 3D Monster Maze https://en.wikipedia.org/wiki/3D_Monster_Maze
- Archon https://en.wikipedia.org/wiki/Archon:_The_Light_and_the_Dark
- Aztec Challenge https://en.wikipedia.org/wiki/Aztec_Challenge
- Big Dug https://en.wikipedia.org/wiki/Dig_Dug
- Bomberman(1983)/Atomic Bomberman https://en.wikipedia.org/wiki/Atomic_Bomberman
- Bombjack http://www.oldschool-gaming.com/view_review.php?rev=atari8_bomb_jack
- Boulder dash https://www.youtube.com/watch?v=8irWBm55ViQ
- Bounce https://www.youtube.com/watch?v=qlBkbjbswgQ
- Breakout http://www.8bit.com/everything/breakout.html
- Caverns of Mars https://en.wikipedia.org/wiki/Caverns_of_Mars
- Coin Apocalypse https://vandenn-games.itch.io/coin-apocalypse
- Crushing Reality https://hoork.itch.io/crushing-reality
- Defender https://www.c64-wiki.com/wiki/Defender
- Donkey Kong http://www.8bit.com/everything/donkeykong.html
- Duck hunt nest https://www.youtube.com/watch?v=x-daxzVxrQI
- Flight simulator https://en.wikipedia.org/wiki/Flight_Simulation_(Psion_software)
- Frog-Man https://www.retrogames.cz/play_1595-DOS.php
- Galaga https://en.wikipedia.org/wiki/Galaga
- Gravityhook http://www.8bit.com/everything/gravityhook.html
- Checkers https://en.wikipedia.org/wiki/Checkers
- Chuckie Egg https://en.wikipedia.org/wiki/Chuckie_Egg
- Jet Set Willy https://en.wikipedia.org/wiki/Jet_Set_Willy
- Jump King https://en.wikipedia.org/wiki/Jump_King
- Jumpman https://en.wikipedia.org/wiki/Jumpman_(video_game)
- Lady Bug https://en.wikipedia.org/wiki/Lady_Bug_(video_game)
- Lemmings https://www.youtube.com/watch?v=E1DUjHnulC0
- Lode Runner https://en.wikipedia.org/wiki/Lode_Runner
- Manic Miner http://torinak.com/qaop#!manicminer
- Mario bros https://supermarioplay.com/
- Miner 2049er https://en.wikipedia.org/wiki/Miner_2049er
- Pac-man https://www.retrogames.cz/play_017-DOS.php
- Pacxon http://www.8bit.com/everything/pacxon.html
- Ratmaze http://www.8bit.com/everything/ratmaze2.html
- Space Invaders https://en.wikipedia.org/wiki/Space_Invaders
- Star Riders https://en.wikipedia.org/wiki/Star_Raiders
- Terraria https://terraria.org/
- Tetris https://en.wikipedia.org/wiki/Tetris
- The Ruins of Machi Itcza https://mnws.itch.io/the-ruins-of-machi-itcza
- Tron http://www.8bit.com/everything/trongame.html
- Worms/Gorillas https://www.youtube.com/watch?v=51gH7oHiKXg
- Bulánci https://cs.wikipedia.org/wiki/Bul%C3%A1nci
- Atomix https://www.classic-retro-games.com/games/puzzle/atomix-172
- Sokoban https://www.classic-retro-games.com/games/puzzle/sokoban-(2)-452
- Deflektor https://www.youtube.com/watch?v=NR0l8BdMGFs
- Bagman https://www.youtube.com/watch?v=HB6viGFy5-8
- Dig Dug https://www.youtube.com/watch?v=mQ9jNrjCStM
- Kid Grid https://www.youtube.com/watch?v=N84w3fTsBRA
- Spiky Harold https://www.youtube.com/watch?v=yUbH27-1UTY
- Transversion https://www.youtube.com/watch?v=cuFkI3_Gk80
- Trolls & Tribulations https://www.youtube.com/watch?v=JOoH08MSpqs
- Z-Tack https://www.youtube.com/watch?v=X4QZf-JWT0g
- Turbo Girl https://www.classic-retro-games.com/games/action/turbo-girl-554
- Zub https://www.youtube.com/watch?v=f_n9H1Iw8Oc
- Missile Command https://www.youtube.com/watch?v=tz4YCQaOxOI
- Jiné "jednosuché" 2D hry - dle domluvy je nutno předem se domluvit
- Vlastní 2D hra/adventura - dle domluvy je nutno předem se domluvit