Pači sa, sorry za tento blok textu:
Základná funkcionalita hry
hra musí byť dohrateľná za konečný počet krokov
hráč má k dispozícii sadu príkazov, pomocou ktorej komunikuje s hrou
hráč môže prechádzať medzi miestnosťami herného sveta minimálne v smeroch sever, juh, východ a západ
v každej miestnosti sa môže nachádzať 0 a viac predmetov
predmety je možné medzi miestnosťami prenášať
hráč má batoh, do ktorého môže predmety v miestnostiach vkladať, a z ktorého môže predmety v miestnosti položiť na zem
množstvo predmetov, ktoré môže hráč do batohu vložiť, je obmedzené
v hre existujú predmety, ktoré do batohu nie je možné vložiť
Základné požiadavky na implementáciu zadania pre jeho úspešné odovzdanie
s hrou je potrebné dodať aj úspešný scenár hry (už v 6. týždni), pričom dĺžka minimálneho scenára je aspoň 50 krokov
počet predmetov v celej hre je minimálne 10
počet miestností v hre je minimálne 30
hra musí obsahovať minimálne základnú sadu príkazov
hra musí byť implementovaná pomocou knižnice stiahnuteľnej zo stránky
implementovať aspoň jedno ďalšie rozšírenie hry - buď z uvedených alebo vymyslieť svoje vlastné
v hre navrhnúť a použiť aspoň jedno vlastné rozhranie (Rozhranie však nemôže byť prázdne! Musí obsahovať aspoň dve metódy!)
v hre nepoužívať názvy príkazov alebo predmetov v tvare KLUC1, KRASNA_PRINCEZNA, KRASNAPRINCEZNA, ale v zrozumiteľnom tvare s použitím medzery a bez použitia čísiel (vhodnou náhradou miesto tvaru KLUC1 je napr. ZLATY KLUC, STRIEBORNY KLUC a pod.)
Základná sada príkazov
Vaša hra musí implementovať minimálne túto sadu príkazov a to buď anglickú alebo slovenskú. Okrem nich však môžete implementovať aj vlastné príkazy, ktoré môžu vhodným spôsobom hru rozšíriť. Pri zadávaní príkazov nerozhoduje veľkosť písmen. Tá však môže, ale nemusí byť dôležitá pri ich parametroch.
sk en opis
INVENTAR INVENTORY Príkaz zobrazí na obrazovku obsah inventára (batohu) formou názvov predmetov.
KONIEC QUIT Príkaz ukončí rozohratú hru.
SEVER NORTH Presun do miestnosti nachádzajúcej sa na sever od aktuálnej.
JUH SOUTH Presun do miestnosti nachádzajúcej sa na juh od aktuálnej.
VYCHOD EAST Presun do miestnosti nachádzajúcej sa na východ od aktuálnej.
ZAPAD WEST Presun do miestnosti nachádzajúcej sa na východ od aktuálnej.
VEZMI GET Príkaz vloží do batohu vec, ktorá sa nachádza v miestnosti. Príkaz má jeden povinný parameter, ktorým je názov predmetu. Podľa neho bude rozpoznané, ktorý predmet sa má do batohu vložiť. Ak predmet nebude zadaný, program vypíše na obrazovku vhodnú hlášku (napr. Neviem, akú vec chceš vziať). Príkaz môžete rozšíriť o možnosť pozbierania všetkých predmetov nachádzajúcich sa v miestnosti v tvare: VEZMI VSETKO (GET ALL).
POLOZ PUT Položí predmet z batohu v danej miestnosti. Príkaz má jeden povinný parameter, ktorým je názov predmetu. Podľa neho bude rozpoznané, ktorý predmet sa má v miestnosti položiť. Ak predmet nebude zadaný, program vypíše na obrazovku vhodnú hlášku (napr. Neviem, čo chceš položiť)
POUZI USE Použije vec, ktorá sa nachádza v batohu alebo v miestnosti. Príkaz má jeden povinný parameter, ktorým je názov predmetu. Podľa neho bude rozpoznané, ktorý predmet v miestnosti alebo v batohu sa má použiť. Ak predmet nebude zadaný, program vypíše na obrazovku vhodnú hlášku (napr. Neviem, čo chceš použiť). Príkaz je možné implementovať aj tak, aby používateľ priamo špecifikoval kombináciu predmetov, ktoré sa majú použiť, napr. POUZI pazba hlaven, resp. POUZI pazba A hlaven
PRESKUMAJ EXAMINE Preskúma predmet (vypíše na obrazovku opis predmetu), ktorá sa nachádza v miestnosti alebo v hráčovom batohu. Príkaz má jeden povinný parameter, ktorým je názov predmetu. Podľa neho bude rozpoznané, ktorý predmet v miestnosti alebo v batohu sa má preskúmať. Ak predmet nebude zadaný, program vypíše na obrazovku vhodnú hlášku (napr. Neviem, čo chceš preskúmať).
ROZHLIADNI SA LOOK AROUND Príkaz vypíše aktuálne informácie o miestnosti, v ktorej sa hráč práve nachádza.
PRIKAZY COMMANDS Príkaz vypíše na obrazovku zoznam všetkých príkazov, ktoré hra poskytuje.
NAHRAJ LOAD Príkaz zabezpečí nahratie uloženej pozície hry z disku. Voliteľným parametrom je cesta k súboru.
ULOZ SAVE Príkaz uloží stav rozohratej hry na disk. Voliteľným parametrom je cesta k súboru.
VERZIA VERSION Príkaz zobrazí číslo verzie hry, ľubovoľný sprievodný text a meno a priezvisko autora s kontaktom (e-mailová adresa, webová stránka).
RESTART RESTART Znovu spustí hru od začiatku.
O HRE ABOUT GAME Príkaz zobrazí krátky text, ktorý poslúži ako úvod do príbehu. Ako dobrý začiatok sa javí známy text: Kde bolo tam bolo, ...
Námety na ďalšie rozšírenia
Pre ďalšie rozšírenie hry môžete implementovať niektorý z nasledujúcich nápadov. Samozrejme - fantázii sa medze nekladú a teda môžete implementovať akékoľvek ďalšie rozšírenie pôvodného návrhu hry. Nezabudnite však, že rozšírenie hry je nutnou podmienkou pre odovzdanie zadania!
Implementovať v hre plynúci čas - svet bude v noci vyzerať inak ako cez deň. Vhodnou implementáciou tohto rozšírenia môže byť vstup do miestnosti/mesta/hradu/budovy len v denných (otváracích) hodinách.
Živé postavy v hre - postavy, ktoré nebudú vecami a budú sa vedieť s hráčom rozprávať, resp. budú vedieť reagovať na jeho stav (napr. špinavého Indiana Jonesa nevezme taxikár do taxíku).
Časované úlohy - v istých fázach hry je dôležitý čas, napr.: dynamit vybuchne o tri príkazy neskôr, ako bol zadaný príkaz na jeho zapálenie; alebo Indiana Jones má len 5 ťahov, aby vyskočil s padákom z lietadla, ktoré nemá žiadneho pilota na palube.
Implementácia príkazu POMOC - príkaz funguje ako vhodný pomocník pri riešení hry - vždy vám vie pomôcť, ako v hre pokračovať ďalej. A keď je náhodou skúpy na slovo, povie aspoň nejakú vhodnú vtipnú poznámku...
Implementácia vlastného príkazového riadku, ktorý bude obsahovať históriu (kurzorovými šípkami sa pohybuje dozadu a dopredu) a automatické dopĺňanie príkazov pomocou klávesy TAB (správanie podobné ako BASH). Toto rozšírenie v konzolovom prevedení však nie je možné vytvoriť v jazyku Java.
Grafická reprezentácia aktuálnej scény - okrem textového opisu môžete zobrazovať aj grafickú reprezentáciu scény - či už kvázi 3D alebo fragment mapy. Realizácia tohto rozšírenia si však vyžaduje znalosť ďalších technológií, ktoré nie sú obsahom tohto kurzu.
Implementujte príkaz MAPA, ktorý vám zobrazí mapu herného plánu. Zobrazené budú vždy však len tie miestnosti, ktoré ste už navštívili. Možným rozšírením tohto rozšírenia môže byť aj legenda ku mape, kedy sa v mape budú nachádzať aj predmety, ktoré sa v daných miestnostiach nachádzajú.
Implementujte v hre vec, ktorá v sebe môže mať umiestnené ďalšie veci (napr. truhlica, bedňa, taška). Tieto veci sa stanú súčasťou hry (budú viditeľné v miestnosti) až vtedy, keď túto vec otvoríte (kľúčom k bedničke, truhlici alebo kombináciou k trezoru) alebo keď ich preskúmate (po bližšom preskúmaní tašky bude v miestnosti k dispozícii aj jej obsah). Pozor - toto rozšírenie však nie je možné riešiť spôsobom, že po otvorení predmetu obsahujúceho ďalšie predmety budú tieto vytvorené a umiestnené do miestnosti (podobne, ako je to uvedené v cvičení č. 11). Predmety musia byť v kontajneri umiestnené už počas jeho vytvorenia.
Implementujte v hre teleport, ktorý vás po použití presunie do náhodnej miestnosti v hre.
Po vstupe do miestnosti môžu niektoré predmety ostať skryté a môžu byť odhalené po preskúmaní konkrétneho predmetu pomocou príkazu PRESKUMAJ.
Aby ste predišli problémom s nevhodným rozšírením pri odovzdávaní zadania, konzultujte svoje rozšírenie počas cvičení so svojim cvičiacim.