Posledná hra

15th Apr 2024

Posledná hra

Vytvorte a prezentujte Vašu vlastnú hru v textovo-grafickom rozhraní. Pri návrhu, využite knižnicu "svet". Vaša hra musí v maximálnej možnej miere využívať túto knižnicu

Vypracovanie

Najprv musíte hru vymyslieť. Nápad môže byť Váš, alebo sa inšpirujte niektorou klasickou hrou. Hra vôbec nemusí byť komplexná, stačí že bude zábavná.

Vyhľadajte si klasické hry a môžete sa aj ich zahrať.

  • Piškvorky
  • Sokoban
  • Pong / Tenis
  • Donkey Kong
  • Lode Runner
  • Scorched Earth
  • 1944
  • Atomic Bomberman
  • Asteroids
  • Arkanoid
  • Tetris
  • Space Invaders
  • Asteroids
  • Chamurabi
  • Nethack
  • Scrabble
  • Krížovka
  • Sudoku
  • John Conway's Game of Life
  • Supaplex
  • Mandelbrot Generator
  • Night Driver

Podmienky na odovzdanie

Váše zdrojové kódy musia obsahovať:

  • Definíciu štruktúry pre stav hry.
  • Funkciu, ktorá modifikuje stav hry podľa stlačenej klávesy.
  • Minimálne 3 funkcie, ktoré modifikujú stav hry.
  • Funkcia pre vykreslenie stavu hry.
  • Hra musí využívať knižnicu 'world'. Knižnicu môžete modifikovať, ale musíte ku tomu vytvoriť "Pull request" na githube. Inštukcie sú uvedené nižšie.

Každé volanie NCURSES by malo ísť cez knižnicu world.

Zadanie musí obsahovať tieto súbory:

  • Funkčný súbor Makefile. Hra sa musí dať preložiť na servri 'omega' príkazom 'make'.
  • Dokumentáciu v súbore README.md.
  • 'world.c' : súbor s knižnicou world. Knižnicu môžete podľa potreby modifikovať.
  • 'world.h': hlavičkový súbor knižnice world. Tento súbor nemodifikujte.
  • 'main.c': Súbor, ktorý obsahuje funkciu main().
  • Iné súbory podľa potreby.

Dokumentácia

  1. V dokumentácii stručne predstavte Vašu hru.
  2. Vysvetlite ako hru preložiť a spustiť.
  3. Napíšte návod ako hru hrať a za akých podmienok sa hra končí.
  4. Opíšte ako je hra naprogramovaná - aké najdôležitejšie funkcie obsahuje, a čo robia. Opíšte najdôležitejšie štruktúry v hre.
  5. Uveďte odkazy na zdrojové kódy a webové stránky ktoré ste použili pri riešení.
  6. Uveďte ako ste použili hru zo ZAP a aké modifikácie ste spravili.
  7. Uveďte, aké modifikácie knižnice World ste navrhli.
  8. Dokumentáciu naformátujte podľa štandardu Markdown.

Vypracovanie PR

Ak chcete, knižnicu world môžete modifikovať - vytvoriť vlastné funkcie. Vaše modifikácie ale musia byť použiteľné pre aj pre druhých. Prípadné zmeny musíte zdokumentovať a zdôvodniť.

Kvalitne vypracovaný PULL request zahrniem do hodnotenia.

Návod na zmenu:

  1. Vytvorte si účet na githube
  2. Vytvorte "fork" projektu world.
  3. Naprogramujte modifikáciu knižnice tak aby bola použiteľná aj pre druhých. Do zdrojového kódu pridajte Vaše komentáre a dokumentáciu.
  4. Odošlite zmeny (pomocou GIT push) do Vášho repozitára world.
  5. Pošlite PULL request do pôvodného projektu a čakajte na schválenie.
  6. Ak sa mi zmena bude páčiť, prijmem ju a Vaši kolegovia budú radi.

Priebeh obhajoby

Prezentácia bude prebiehať osobne na určenom mieste a čase. V prípade objektívnych dôvodov je možné sa osobne dohodnúť na online obhajobe.

  • Stručne predstavte hru (cca 2 min.).
  • Ukážete, ako viete hru preložiť.
  • Ukážte ako sa hra hrá (max. 2 min.).
  • Zodpovedajte otázky cvičiaceho. (max. 2 min.).

Hodnotenie

Hodnotí sa:

  • Zaujímavý a originálny nápad 10b.
  • Funkčnosť 5b.
  • Práca s knižnocou Ncurses a World 5b.
  • Prezentácia hry a dobrá dokumentácia 10b.

Bodové zrážky:

  • Nízka originalita : Hra kde nie je jasný Váš osobný vklad sa hodnotí nula. V prípade, že opakujete predmet môžete použiť Vaše riešenie z minulého roka za predpokladu značného vylepšenia.
  • Len malé vylepšenie oproti ZAP, Použitie NCURSES mimo World. Zrážka 50-70 percent.
  • Neschopnosť odpovedať na otázky. Podmienkou pre nenulové hodnotenie je úspešné zodpovedanie otázok týkajúcich sa odovzdaných zdrojových kódov.

Odovzdanie

Všetky súbory cez Traktor, do Vášho GIT repozitára do adresára final. Hodnotenie bude osobné. Hra by mala byť odovzdaná najneskôr dva dni pred termínom obhajoby.

Previous Post

Posledná hra