Informatika - Katedra informatiky na UPOL

Projektový seminář

V rámci předmětů Projektový seminář 1 (KMI/YPS1) a Projektový seminář 2 (KMI/YPS2) student implementuje jako desktopovou aplikaci vybranou deskovou hru podle níže uvedených požadavků. Plnění požadavků v průběhu semestru hodnotí vedoucí, ke kterému se student se zvolenou hrou přihlásí na začátku zimního semestru a se kterým svoji implementaci hry konzultuje. Za splnění požadavků udělí vedoucí studentovi zápočty za oba předměty. Student, který předmět(y) opakuje, může pokračovat s rozpracovanou implementací hry z minulých let, není nutné si vybírat hru novou a tuto nově implementovat.

Hry

Vedoucí

Požadavky za zimní semestr (pro zápočet z KMI/YPS1)

  • stačí konzolová (textová, CLI) aplikace, není nutné GUI
  • korektní implementace pravidel hry (nemožnost provést tah odporující pravidlům, správné ukončení hry)
  • algoritmy pro herní strategii, nastavitelná obtížnost hry v adekvátním rozsahu („inteligence“ zvlášť pro každého počítačového hráče)
  • výpočet „nejlepšího“ tahu by neměl trvat déle než 10 sekund (na počítači s CPU 2 GHz)
  • možnost hry dvou lidí, člověka proti „počítači“, a „počítače“ proti „počítači“
  • možnost nastavit a kdykoliv změnit obtížnost i v průběhu hry
  • možnost zaměnit počítačového a lidského hráče i v průběhu hry
  • nápověda „nejlepšího“ tahu

Požadavky za letní semestr (pro zápočet z KMI/YPS2)

  • požadavky za zimní semestr
  • undo/redo tahů do libovolné úrovně
  • prohlížení historie tahů (přehledné zobrazení provedených tahů) se zobrazením úrovně undo/redo
  • ukládání a načítání (rozehraných i ukončených) partií hry, včetně historie tahů a nastavení hráčů
  • grafické uživatelské rozhraní (GUI) zpracované podle standardů
  • GUI musí běžně reagovat na akce uživatele i v průběhu výpočtu „nejlepšího“ tahu
  • vestavěná nápověda (k ovládání aplikace i pravidlům hry)
  • robustnost (program musí reagovat správně i na nesprávné uživatelské vstupy, vadný formát nebo obsah souboru apod., aplikace nesmí havarovat)
  • program ve spustitelné formě nebo instalátor (v odůvodněných případech je přípustná spustitelnost z vývojového prostředí)
  • kompletní zdrojové kódy programu včetně dalších částí nutných pro sestavení aplikace

Plán seminářů

21. 9. 2018 organizační záležitosti (Outrata), doporučený postup implementace (Outrata)
12. 10. 2018 doporučený postup implementace (Outrata)
26. 10. 2018 unit testy (Krajča)
9. 11. 2018 výjimky (Janoštík)
23. 11. 2018 algoritmy pro výpočet „nejlepšího“ tahu (Kühr) – učební text, prezentace
22. 2. 2019 doporučení k implementaci a práce se soubory (Outrata)
8. 3. 2019 implementace výpočtu „nejlepšího“ tahu ve vláknech (Krajča) – prezentace
22. 3. 2019 implementace GUI ve Visual Studio (Janoštík)
5. 4. 2019 implementace GUI pomocí multiplatfomních toolkitů GTK+ a Qt (Outrata)
26. 4. 2019 testování a ukázky implementací (?)

Správce stránky: Jan Outrata  |  Aktualizace: 20.02.2019, 14:05:12