Programovanie (2) v Jave
1-INF-166, LS 2018/19

Úvod · Pravidlá · Prednášky · Netbeans · Testovač · Test a skúška
· Vyučujúcich môžete kontaktovať pomocou e-mailovej adresy E-prg.png (bude odpovedať ten z nás, kto má príslušnú otázku na starosti alebo kto má práve čas).
· DÚ10 je zverejnená, odovzdávajte do stredy 15.5. 22:00.
· Nepovinné projekty odovzdajte do utorka 21.5. 22:00. Predvádzanie štvrtok 23.5. po skúške (cca o 12:00)
· Najbližšia rozcvička bude v stredu 15.5. (o grafoch).
· Druhá písomka bude v pondelok 20. mája o 16:30 v posluchárni A.


Letný semester, projekt

Z Programovanie
Prejsť na: navigácia, hľadanie
  • Súčasťou bodovania je aj nepovinný projekt, za ktorý môžete dostať 10% bonus.
    • Je to príležitosť vyskúšať si písanie väčšieho programu, pričom v projekte máte väčšiu voľnosť ako pri domácich úlohách
    • Projekty, ktoré nebudú spĺňať podmienky uvedené nižšie, budú hodnotené 0 bodmi, nemá teda význam odovzdávať nedokončené programy

Požiadavky na projekt

  • Projekt musí byť na jednu z tém nižšie. Témy však nepopisujú presné požiadavky, poskytujú len námety, z ktorých si môžete vybrať a prípadne ich ďalej rozšíriť.
  • Projekt musí byť napísaný v Jave a spustiteľný v Netbeans v učebniach na fakulte a napísaný prehľadne s dostatkom komentárov.
  • Používať môžete len štandardné javovské knižnice (a prípadne JUnit). Okrem toho samozrejme môžete používať kód poskytnutý v rámci predmetu. Zvyšok programu by mal byť z väčšej časti napísaný vami. Ak použijete nejaké úryvky kódu z internetu alebo iných zdrojov, v komentároch jasne uveďte zdroj.
  • Program by mal poskytovať grafické užívateľské prostredie, mal by byť príjemne ovládateľný a mal by sa vyrovnať aj s neobvyklým správaním používateľa (nemal by padať na chyby, okrem naozaj závažných neobvyklých situácií ako nedostatok pamäte).
  • Váš program by mal byť schopný načítavať spracovávané dáta zo súboru a po ich prípadnej zmene ich opäť do súboru uložiť. Formát súboru si môžete zvoliť, program by však nemal padať, ak dostane súbor v zlom formáte alebo s nezmyselnými dátami.

Projekt spĺňajúci tieto požiadavky získa aspoň 5% bonusových bodov, pričom je možné získať až 10% v závislosti od náročnosti a kvality vypracovania projektu.

Termíny a odovzdávanie

  • V prípade, že chcete robiť projekt, treba si vybrať jednu z ponúkaných tém do štvrtka 2.5.2019 22:00
    • Doporučujeme však toto rozhodnutie spraviť čím skôr, aby ste na projekt mali dosť času, koncom semestra býva veľa práce na všetkých predmetoch.
    • Do uvedeného termínu odovzdajte na testovači súbor .txt, ktorý bude obsahovať, ktorú tému ste si vybrali a meno jedného alebo dvoch študentov, ktorí budú na tejto téme robiť. Stačí, ak sa na projekt prihlási jeden z členov dvojice.
  • Samotný projekt je potrebné odovzdať klasicky ako domácu úlohu do utorka 21.5. 22:00 na testovači.
  • Odovzdajte v jednom zazipovanom adresári:
    • podadresár obsahujúci zdrojový kód a ďalšie potrebné súbory, napr. bitmapy,
    • podadresár obsahujúci niekoľko príkladov vstupných súborov,
    • stručný popis projektu vo formáte txt, v ktorom vymenujte, aké možnosti váš program používateľovi poskytuje.
  • Projekt je tiež potrebné prísť predviesť vyučujúcim v dopredu oznámených termínoch (tiež pravdepodobne počas 1. týždňa skúškového obdobia).

Témy projektov

  • Rozšírte DÚ5 (budova) o grafické rozhranie, ktoré zobrazí jednotlivé podlažia budovy, pričom voľné políčka, steny a výťahy zvýrazní rôznymi farbami. Používateľovi umožní plán budovy editovať a zisťovať dosiahnuteľnosť z rôznych štartovacích pozícií. Pri editovaní plánu sa pokúste ponúknuť paletu viacerých nástrojov uľahčujúcich prácu (napr. pridanie výťahu cez všetky poschodia, pridanie určitého množstva náhodne romiestnených stien a podobne).
  • Rozšírte DÚ6 (Sudoku) o grafické rozhranie umožňujúce používateľovi hrať túto hru v rozšírenej verzii popísanej v zadaní. Vymyslite vhodný spôsob, ako graficky zobraziť skupiny políčok. Napríklad vedľa hernej plochy môže byť zoznam skupín a kliknutím na konkrétnu skupinu sa zmení pozadie políčok tejto skupiny. Do programu môžete zakomponovať aj algoritmus riešenie Sudoku z DÚ - program môže napríklad na požiadanie ako pomôcku ukázať správnu hodnotu vybraného políčka.
  • Rozšírte DÚ7 (roboti) o grafické rozhranie, ktoré zobrazí hernú plochu a dovolí používateľovi vytvoriť alebo editovať postupnosť robotov aj s ich nastaveniami (čas príchodu, typ, inicializačný parameter) a potom simuluje roboty a vypisuje aktuálne štatistiky úspešných a mŕtvych robotov. Môžete prípadne naprogramovať aj editor hernej plochy. Môžete tiež do hry pridať ďalšie typy robotov alebo políčok.
  • Rozšírte DÚ9 (hra) o ďalšie možnosti. Dorobte napríklad editor hracej plochy, ktorá nemusí byť vyplnená hracími kameňmi, ale môže mať niektoré políčka zablokované. Namiesto čísel môžu byť kamene označené rôznymi farbami, pričom užívateľovi sa zobrazuje aktuálne rozloženie kameňov a cieľový obrazec z farebných kameňov. Ak má viacero kameňov rovnakú farbu, pokladáme ich za voľne zameniteľné.