You are on page 1of 10

TECHNICKÁ UNIVERZITA V KOŠICIACH

FAKULTA ELEKTROTECHNIKY A INFORMATIKY

Hra „Megaman“

2022 Vozdrahanov Artem


FEI ZAP

Ciele

1. Zoznámiť sa s ASCII-grafickou knižnicou ncurses .


2. Ukázať svoju kreativitu.
3. Naučiť sa vytvárať dokumentáciu k zadaniu.

Bomber
Predtým, než začnete pracovať na zadaní, sa môžete oboznámiť s knižnicou Curses formou
krátkeho domáceho cvičenia. Nájdete ho v tutoriáloch na stránkach predmetu: Bomber.
Znenie zadania
Pomocou knižnice ncurses vytvorte ľubovoľný program (hru, prezentáciu alebo iný
umelecký počin), pričom výsledný projekt musí spĺňať nasledujúce podmienky:

• Projekt musí obsahovať 2D svet.


• Dohromady musí projekt zahŕňať aspoň 3 z nasledujúcich výziev:
o Práca s farbami
o Ovládanie cez klávesnicu (bez nutnosti potvrdenia Entrom)
o Viac úrovní (levelov)
o Práca s časomierou resp. práca v čase (s časom sa program mení)
o Práca s argumentami príkazového riadku
o Práca so súbormi
• Projekt musí byť zložitejší ako ukážkové príklady a jeho úroveň musí byť dostatočná.

Poznámka
Splnenie minimálnych podmienok nezaručuje udelenie plného počtu bodov!

2
FEI ZAP

V tomto Problem Set som vytvoril hru na spôsob starej známej 2D plošinovky "Megaman". V
tejto hre je hlavnou postavou Megaman, ktorý musí zozbierať všetky číslice v poradí od menších
po väčšie a potom prejsť do ďalšej úrovne.Algoritmus, ako používať hru:

riadenie Megamanom:

On je ovládaný tlačidlami KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, ako aj na BACKSPACE, výstup


z hry sa odohráva na Q.

Popis všetkých funkcií, ktoré nám slúžia pre tento program:

Knižnicе, ktorý potrebulem

3
FEI ZAP

4
FEI ZAP

Toto je jedna z 3 funkcií, ktoré umožňujú megamanovi pohybovať sa pomocou klávesov na 1


úrovni. Na číslach sú kontroly, ktoré ich spájajú v správnom poradí, a tiež prepisujú znaky, ktorými
megaman prechádza. Kontroluje sa aj to, či nenaráža na stenu alebo rovnú hranicu.
Všetky tieto kontroly sa vykonávajú v slučke, ktorá beží dovtedy, kým hráč nechce úroveň
preskočiť alebo kým úroveň neprejde. K dispozícii je aj príkaz, ktorý vypíše počet bodov pod
mapou. Kód tiež kontroluje, akú farbu priradiť čísliciam, a počítadlo, ktoré zabezpečuje, aby sa
farba číslic neopakovala. Funkcia "switch" a funkcia "getch" sa používajú na čítanie stlačených
klávesov a na určenie smeru pohybu protagonistu.
Ďalšie dve rovnaké funkcie sú vyhradené pre ostatné dve úrovne:

Tu sú všetky tri mapy úrovní ako dvojrozmerné polia:

5
FEI ZAP

6
FEI ZAP

Tu je príklad, ako je jedna z kariet vytlačená na obrazovke (pomocou farieb):

7
FEI ZAP

Každý znak mapového poľa sa vypíše po 2 cykloch "for" s použitím kontrol pre rôzne farby znakov.

Funkcia, ktorá vypíše počiatočné logo:

Cyklus postupne vypíše každý riadok poľa, po ktorom nasleduje prázdny riadok, čím sa simuluje
animácia.

K dispozícii je aj podobná funkcia, ktorá na konci hry zobrazí gratulačnú správu:

8
FEI ZAP

Funkcia "game", v ktorej sa striedajú všetky 3 úrovne:

9
FEI ZAP

A čo je najdôležitejšie, funkcia "main":

Popíše farby, inicializuje knižnicu "curses", zneviditeľní kurzor a spustí funkciu "game".

10

You might also like