4it115»4IT115 - zadání první semestrální úlohy

4IT115 - zadání první semestrální úlohy

4IT115 - zadání první semestrální úlohy

LS 2016/2017

Úkolem je doplnit „adventuru“ hru z kurzu 4IT101 o grafické uživatelské rozhraní v JavaFX.

1. Požadavky na funkcionalitu první úlohy

  • Základem je adventura s textovým uživatelským rozhraním, kterou jste odevzdali v kurzu 4IT101
  • Aplikace se spustí buď v textovém rozhraní, anebo v grafickém rozhraní podle parametru příkazové řádky. Pokud není zadán při spuštění aplikace parametr na příkazové řádce, spustí se aplikace v grafickém rozhraní, při zadání parametru text se spustí v textovém rozhraní
  • Třídy aplikace budou rozděleny do balíčků
  • Hlavní okno grafického rozhraní bude obsahovat textovou oblast, ve které se budou vypisovat jednotlivé texty hry
  • Pro vstup příkazů bude využito textové pole
  • Součástí grafického rozhraní musí být menu, které bude obsahovat minimálně položky Nová hra, Nápověda
  • Při přechodu do prostoru se zobrazí seznam vychodů, realizováno pomocí návrhového vzoru Observer
  • Při přechodu do prostoru se v dialogovém okně zobrazí obrázek s plánem prostorů, na kterém bude vyznačen aktuální prostor, realizováno pomocí návrhového vzoru Observer
  • Obsah batohu se bude zobrazovat pomocí obrázků na panelu, při změně obsahu batohu se provede aktualizace obrázků, v řešení bude využit návrhový vzor Observer
  • Nápověda ( uložená v HTML souboru) se bude zobrazovat v samostatném okně

Náměty pro rozšíření:

  • Místo zadávání příkazu v textovém poli bude uživatel vybírat z rozbalovacího seznamu příkazů (combo box)
  • Nabídka sousedních prostorů bude realizována combo boxem
  • Kromě menu bude použita i nástrojová lišta

Poznámky:

  • některé grafické prvky potřebné pro celé řešení nemusí být na cvičeních/přednáškách probírány. Velmi dobrý popis dostupných grafických prvků je v tutoriálu
  • obrázky věcí samozřejmě nemusíte sami kreslit, ale můžete převzít i z volně dostupných zdrojů (pozor na licenční podmínky). Přípustné je též vytvoření obrázků, které budou obsahovat pouze jména věcí.

2. Postup řešení

Nedílnou součástí úlohy, která se také hodnotí, je průběžná práce se systémem na správu verzí Subversion.

Uložení výchozí verze hry do úložiště

Nejpozději do konce druhého týdne je třeba uložit do úložiště na kitscm.vse.cz výchozí verzi vaší adventury. Do adresáře adventura/trunk uložíte následující soubory:

  • zdrojové kódy s komentáři
  • soubor readme.txt
  • uživatelskou příručku
  • neukládáme soubory, které lze vygenerovat, tj. soubory s koncovkou class, soubory ctxt (platí pro BlueJ) ani javadoc dokumentaci

Dále bude vytvořena záložka - tag - na výchozí verzi pojmenovaná textovaVerze (adresář adventura/tags/textovaVerze)

Vývoj aplikace probíhá v adresáři adventura/trunk vašeho úložiště - průběžně.

Odevzdání hotové úlohy

Termín odevzdání určí cvičící. Odevzdává se vytvořením záložky grafickaVerze (adresář adventura/tags/grafickaVerze) v úložišti Subversion. Pod záložkou budou obsaženy následující soubory:

  • zdrojové kódy s komentáři, musí být dodrženy konvence
  • spustitelný archiv .jar – musí být možné spouštět hru příkazem:
    java –jar jmenoArchivu.jar [parametry]
  • aktuální uživatelskou příručku ke hře
  • soubor README, který bude obsahovat:
    • popis programu (zadání úlohy),
    • jméno autora,
    • označení verze,
    • komentáře k jednotlivým chybám označeným programem pmd ve zdrojovém textu,

Pro hodnocení první semestrální úlohy jsou důležité záložky textovaVerze a grafickaVerze, datum jejich vytvoření a jejich obsah. Záložky musí být přesně takto pojmenovány, protoze se vytvářejí automatizované reporty. V úložišti může být i více záložek například pro domácími úkoly.

Body za 1. semestrální úlohu získá student, pokud splní následující podmínky:

  1. Vytvoří ve druhém týdnu ve svém úložišti na kitscm.vse.cz záložku textovaVerze s výchozí verzí úlohy.
  2. Vytvoří ve svém úložišti na kitscm.vse.cz záložku grafickaVerze s hotovou úlohou.
  3. Obhájí program
  4. Při obhajobě student předvede funkci programu, vysvětlí jakoukoli část kódu a provede na místě úpravu programu podle požadavků vyučujícího.

Upřesnění požadavků na 1.semestrální úlohu - GUI adventura

Požadavekbodová ztráta, když se požadavek neudělá(-) body za požadavek, který je navíc (+)
Základem je adventura s textovým uživatelským rozhraním, kterou jste odevzdali v kurzu 4IT101musí být
Třídy aplikace budou rozděleny do balíčkůmusí být
Hlavní okno grafického rozhraní bude obsahovat textovou oblast, ve které se budou vypisovat jednotlivé texty hrymusí být
Pro vstup příkazů bude využito textové polemusí být
Součástí grafického rozhraní musí být menu, které bude obsahovat minimálně položky Nová hra, Nápovědamusí být
Při přechodu do prostoru se na panelu vypíší východy z prostoru, realizováno pomocí návrhového vzoru Observermusí být
Při přechodu do prostoru se v dialogovém okně zobrazí obrázek s plánem prostorů, na kterém bude vyznačen aktuální prostor, realizováno pomocí návrhového vzoru Observermusí být
Nápověda ( uložená v HTML souboru) se bude zobrazovat v samostatném okněmusí být
Na kitscm bude vytvořena záložka grafickaVerzemusí být
Obsah batohu se bude zobrazovat pomocí obrázků na panelu, při změně obsahu batohu se provede aktualizace obrázků, v řešení bude využit návrhový vzor Observermusí být
Aplikace se spustí buď v textovém rozhraní, anebo v grafickém rozhraní podle parametru příkazové řádkypokud nebude implementováno -2 body
Úloha obsahuje spustitelný archivpokud nebude implementováno -2 body
Komentáře pro javadoc u tříd a metodpokud nebude implementováno -3 body
Zpoždění při odevzdání finální verze, tj vytvoření záložky grafickaVerze-3 body za každý započatý týden zpoždění
Místo zadávání příkazu v textovém poli bude uživatel vybírat z rozbalovacího seznamu příkazů (combo box,list)pokud bude implementováno +2 body
Nabídka sousedních prostorů bude realizována combo boxem,list...pokud bude implementováno +2 body
Kromě menu bude použita i nástrojová lištapokud bude implementováno +2 body