Projektový seminář 1
V rámci předmětů Projektový seminář 1 a 2 student implementuje variantu deskové hry podle níže uvedených požadavků.
Každý student je povinen se zapsat k některému z vedoucích, a to nejpozději do 24. října 2014.
Studenti, kteří se nezapíší do uvedeného data, budou přiděleni vedoucím projektového týmu.
Konkrétní průběh řešení a průběžné požadavky na hodnocení stanoví jednotliví vedoucí v souladu s požadavky na projekt.
Hry a vedoucí :
Africká dáma – Jiří Zacpal (maximálně 5 studentů), Markéta Trnečková (maximálně 2 studenti);
Larunculi – Arnošt Večerka (maximálně 5 studentů), Jan Outrata (maximálně 2 studenti);
Tablut – Tomáš Kühr (maximálně 5 studentů), Petr Krajča (maximálně 2 studenti).
Rámcové požadavky na projekt v zimním semestru:
korektní implementace pravidel hry (nemožnost provést tah odporující pravidlům, správné ukončení hry a podobně);
funkční verze algoritmu realizujícího herní strategii;
možnost hry dvou lidí, člověka proti „počítači“, a „počítače“ proti „počítači“;
na grafické uživatelské rozhraní nejsou kladeny požadavky (program může běžet v textové konzoli);
práce se soubory (v zimním semestru nepovinná, avšak doporučená).
Přesné podmínky si stanoví jednotliví vedoucí v souladu výše uvedenými rámcovými požadavky.
Požadavky na projekt:
korektní implementace pravidel hry (nemožnost provést tah odporující pravidlům, správné ukončení hry a podobně);
algoritmy pro herní strategii, nastavitelná obtížnost hry v adekvátním rozsahu (zvlášť pro každého počítačového hráče);
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 kdykoliv zaměnit počítačového a lidského hráče (bez ohledu na to, je-li hráčem člověk nebo počítač, změna i v průběhu hry);
nápověda „nejlepšího tahu“;
ukládání a načítání (ukončených i rozehraných) partií;
undo/redo tahů do libovolné úrovně;
prohlížení historie tahů (přehledné zobrazení provedených tahů);
robustnost (program musí reagovat správně na nesprávné uživatelské vstupy, zejména ovládání, vadný formát nebo obsah souboru apod., aplikace nesmí havarovat);
vestavěná nápověda;
grafické uživatelské rozhraní (
GUI) zpracované podle standardů;
program ve spustitelné formě, je-li to pro zprovoznění aplikace nutné pak také 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;
programátorská dokumentace k projektu vytvořená podle doporučeného stylu (PDF). Obsahuje zejména popis struktury kódu, algoritmy hry včetně herní strategie, postup pro sestavení aplikace. Dokumentace nemusí obsahovat uživatelskou příručku.
V případě nejasností ohledně zadání projektů kontaktujte svého vedoucího nebo vedoucího projektového týmu Tomáše Kühra.
Plán přednášek v kombinovaném studiu:
10. 10. Kühr (organizační záležitosti k předmětu, zadání)
24. 10. Kühr (algoritmy, herní strategie) – učební text, prezentace
7. 11. Outrata (implementace, práce se soubory)
28. 11. Krajča (unit testy)
12. 12. Krupka (výjimky)
Požadavky na studenta
znalost algoritmizace, zvládnutí programovacího jazyka a vývojového prostředí pro implementaci projektu, zvládnutí problematiky tvorby software
Obsah
Studenti rozšíří a aplikují své dosavadní znalosti o tvorbě software a implementují stolní deskovou hru podle zadání, zpracují kompletní uživatelskou a programátorskou dokumentaci.
6. Programování v
OS Windows: principy a technologie, událostmi řízené aplikace, časovače
7. Programování v
OS GNU/
Linux: principy a technologie, událostmi řízené aplikace, vlákna, přehled nástrojů pro vývoj
Literatura
Matthew, N., Stones, R. a kol. Linux - Programujeme profesionálně. Computer Press, 2000.
80-7226-717-5
Robbins, J. Debugging Applications for Microsoft .NET and Microsoft Windows. Microsoft Press, 2003.
0-7356-1536-5
-
Petzold, C. Programming Windows, 5th ed.. Microsoft Press, 1998.
1-57231-995-X
Steinwender, D., Friedel, F. Šachy na PC. Unis Publishing, 1996.