Classic Card Games
Klasické karetní hry
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101143Identifikátory
SIS: 185186
Kolekce
- Kvalifikační práce [11979]
Autor
Vedoucí práce
Oponent práce
Bída, Michal
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
6. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
hraní klasických karetních her, umělý hráč, klient, server aplikace, framework, knihovnaKlíčová slova (anglicky)
playing classic card games, artificial player, client, server application, framework, libraryPřestože jsou k dispozici knihovny zjednodušující tvorbu karetních her, pouze několik z nich umožňuje dostatečně obecný návrh umožňující tvorbu jakékoliv klasické karetní hry. Naše knihovna poskytuje jednoduché řešení pro tvorbu klasických karetních her a jejich grafickou reprezentaci. Součástí našeho řešení je klient-server aplikace schopná spustit libovolnou karetní hru vytvořenou pomocí naší knihovny. Pro ověření funkčnosti naší knihovny jsme implementovali pět ukázkových karetních her. Také jsme vytvořili samoučící umělou inteligenci, která je schopna se s minimálním zásahem ze strany programátora naučit libovolnou klasickou karetní hru vytvořenou pomocí naší knihovny. Pro tuto umělou inteligenci jsme zvolilli metodu Q-Learning posilovaného učení. Doufáme, že náš projekt umožní jednoduchou a efektivní tvorbu karetních her a jejich distribuci herní komunitě.
Although there are libraries simplifying creation of card games, only few of them provide general and comprehensive design that facilitates creation of any classic card game. Our library enables simple development of card games and their graphic representation. As part of all-in-one solution we created a client-server application that is able to run any card game created using our library. To evaluate our library we implemented five exemplary games. We also created self-learning artificial intelligence that should be able to learn any classic card game implemented using our library with minimal developer's input. For our artificial intelligence we chose Q-Learning method. We hope that our project will enable simple and effective card game development and distribution to the gaming community.
