Projekt. Jan Outrata. listopad 2008. Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 1 / 13



Podobné dokumenty
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN. Informatika, II. ročník

Specifikace projektu Ocerus

ROČNÍKOVÝ PROJEKT. Evade

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

Gymnázium, Praha 6, Arabská 14. Loydova patnáctka. Dokumentace ročníkového projektu. Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Desková hra s podporou hraní po síti Lovci pokladů.

Hledání správné cesty

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Úvod do počítačových sítí

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Elektronická dokumentace - LATEX. Maticové operace

Knihovna QT4 a moºnosti jejího vyuºití

- úprava nastavení zvýraznění odchylek v tabulce odchylek bodů od osy při dávkovém zpracování - nastavení se ukládá do INI souboru

Editor pro vizualizaci interiérů bytů

Organizační pokyn Hnutí Brontosaurus č. 3.4 Program Prázdniny s Brontosaurem

PROJEKT MINY - DOKUMENTACE

Pro všechny herní varianty platí: Nejvyšší sázka na hru: 50,-- Kč. Nejvyšší výhra ze hry: ,-- Kč.

Multiplatformní GUI toolkity


Admiral American Poker II deluxe DEV


Programování v jazyku C# II. 9.kapitola

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Počítačové hry Herní engine 1 / 1

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Praha 6, Arabská 16. Dokumentace Ročníkového Projektu

OP - KINECT Vstup textu pomocí gest

TÉMATICKÝ OKRUH Softwarové inženýrství

AI TESTER. Uživatelská příručka. AI Tester 1.1 AI Tester Server 0.9

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Elektronická podatelna ICZ. Automatické stahování datových zpráv

Obsah. Proč právě Flash? 17 Systémové požadavky 17. Jak používat tuto knihu 18 Doprovodný CD-ROM 19

Jiří Picek, Pavel Richter VÝVOJ NÁSTROJŮ PRO HODNOCENÍ MNOŽSTVÍ A JAKOSTI VOD HEIS VÚV

GENERAL GAME PLAYING Marika Ivanová Seminář Herní Algoritmy,

Trosečník v džungli, adventura

Uživatelský manuál softwaru Anna

Návod k obsluze i montáži.

Návod k obsluze i montáži.

Cvičení č. 2. Komunikace mezi procesy Program Hodiny. 4 body

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.


MATURITNÍ PRÁCE dokumentace

Úvod Co je Engine Herní smyčka Struktura enginu Hotové enginy Konec. Herní engine 1 / 39

Povinnosti provozovatele a postup KÚ podle zákona č. 59/2006 Sb., o prevenci závažných havárií. PROVOZOVATEL 2c

TOTAL HOT DELUXE VLT CZK

TÉMATICKÝ OKRUH Softwarové inženýrství

CÍLOVÝ KONCEPT. Ghoul Wars. pro. Jihočeskou univerzitu Pedagogickou fakultu Předmět: TDSA

POKYNY PRO ŽADATELE A PŘÍJEMCE DOTACE Z PROGRAMU SPOLUPRÁCE TECHNOLOGICKÉ PLATFORMY výzva II - prodloužení

Obsah. Obsah. 1 Návod k montáži Uvedení do provozu Návod k obsluze...6. Strana

Technická data Secura Všechny rozměry v mm

Česká multicentrická výzkumná databáze CHOPN registr ČPFS

Studijní zaměření Hra na housle

Účinná ochrana před vysokými náklady za mobilní datová spojení v zahraničí i v tuzemsku. Pro mobilní telefony s OS Symbian S60 3rd a 5th Edition

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Úvod do teorie grafů

Webový knihovní systém. Ing. Jiří Šilha, LANius s.r.o.

Virtualbox/2. Warpstock 2008 CZ Brno Virtualbox/2 prakticky Lubomír Černý

Dálkový ovladaè regulace teploty jednotlivých místností u systémù plošného vytápìní a chlazení

Architektura aplikace

Užitečné informace pro obsluhu a získání podrobných informací o činnosti výherního automatu Golden Bank multihra II v kabinetu VHA03

Systémová volání Mgr. Josef Horálek

Úvod 13 O čem je tato kniha? Pro koho je tato kniha? Jak studovat tuto knihu? Poděkování 16 Zpětná vazba od čtenářů Zdrojové kódy ke knize Errata 17

Technologie Java. Jaroslav Žáček

Admiral Lions CZK. Struktura:

<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************

EPLAN Electric P8 2.7 s databázemi na SQL serveru

Strana 1. Vysoké napětí FACTORY MANAGER / Ředitel továrny FRIEDEMANN FRIESE

1 Knihovní funkce Skupina funkcí bool Skupina funkcí String Testovací program ELDEC Interface X.XX Example...

uterm03r JEDNOTKA IMPLEMETUJÍCÍ VZDÁLENÝ TERMINÁL TERM03 Příručka uživatele a programátora

Architektura. Vedení sesterské dokumentace

MATURITNÍ PRÁCE dokumentace

Source Defender. PPJ semestrální projekt. Martin Přeták, ARI

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Šifrování/Dešifrování s použitím hesla

PRAVIDLA MONITOROVÁNÍ

Implementace systému registrů a agend Proxio - unifikace registrů, evidencí a agend

CATE VLT HERNÍ PLÁN - NÁVOD PRO HRU

Sem vložte zadání Vaší práce.

Pravidla hry. Herní materiál

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový kód je v

Paralelní programování

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

ACV-Wars... The racing strategy Game design

Informační systém pro podporu organizace dětských táborů

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

NÁVOD K INSTALACI A OBSLUZE

Jakub Melka Štěpán Poljak Martin Růžička Martin Urza

Základy umělé inteligence

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Nabídka manažerských simulátorů z EF JU

Pavel Klavík. CompEvid. Programátorská reference.

UŽIJTE SI TELEVIZI. Uživatelský manuál HD Mediaboxu


Gymnázium, Praha 6, Arabská 16. předmět Programování, vyučující Tomáš Obdržálek Lodě Dokumentace ročníkového projektu Martin Karlík, 1E 17.5.

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Pro všechny herní varianty platí: Nejvyšší sázka na hru: 25 bodů. Nejvyšší výhra ve hře: bodů.

Stru ný obsah. Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15

Transkript:

Projekt Analýza a návrh Jan Outrata listopad 2008 Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 1 / 13

Analýza role: hráči, obsluha hrací desky, rozhodčí, manažer hry, technika hráči:,,vymýšlejí tahy člověk počítač,,inteligence pro,,vymyšlení tahu (MiniMax, AlfaBeta) jiný např. korespondeční prostředník se vzdáleným hráčem obsluha hrací desky: provádění tahů, uchovávání stavu hry (stavu desky, historie tahů) rozhodčí: kontroluje platnost tahů, nabízí všechny možné tahy podle pravidel, jediný zná pravidla hry! manažer hry: řídí průběh hry, žádá hráče o tahy, rozhodčího o kontrolu tahů (podle pravidel), obsluhu hry o provádění tahů, techniku o zobrazení stavu hry technika: UI zadání tahu člověkem, zobrazení hrací desky, historie hry, všech možných tahů, nápovědy, uložení stavu hry, ovládání manažera (undo-redo, replay) Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 2 / 13

Návrh Aplikace oddělení implementace výkonné části (logika) od implementace UI části možnost použít stejnou logiku s různým UI (výměna CLI za GUI) minimální rozhraní logiky pro UI, ideálně jeden objekt, v praxi dva (přímý přístup ke stavu hry) žádné rozhraní UI pro logiku, tj. úplná nezávislost logiky na UI! Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 3 / 13

Návrh Logika platformově nezávislá implementace, např. formou sdílené knihovny objekty: abstraktní hráč, hráči, deska, rozhodčí, manažer Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 4 / 13

Abstraktní hráč rozhraní obecného hráče pro vrácení,,vymyšleného tahu metody: vrat tah, vrat /nastav úroveň,,inteligence data: úroveň,,inteligence Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 5 / 13

Hráč konkrétní hráč (instance, zdědění, abstraktního hráče), vrací,,vymyšlený tah lidský prostředník mezi logikou a člověkem počítačový implementace,,inteligence (MiniMax, AlfaBeta, příp. abstraktní se zděděnými) data: reprezentace ohodnocení stavu (příp. abstraktní se zděděnými), desky, tahů apod., ukazatel na objekt desky jiný předávání požadavku vzdálenému hráči apod. Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 6 / 13

Deska,,fyzické provádění tahů (bez kontroly planosti), uchování stavu hry (stavu desky, historie tahů) metody: proved tah, vem tah zpět (undo), vrat desku, vrat historii tahů, inicializuj desku/historii (do daného stavu) data: reprezentace desky, historie tahů Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 7 / 13

Rozhodčí kontroluje platnost tahů, nabízí všechny platné tahy podle pravidlel metody: zkontroluj tah, vrat všechny platné tahy data: reprezentace pravidel hry, ukazatel na objekt desky Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 8 / 13

Manažer řídí průběh hry, žádá hráče o tahy, rozhodčího o kontrolu tahů (podle pravidel), obsluhu hry o provádění tahů, techniku o zobrazení stavu hry metody: spust hru (s inicializací stavu hry a nastavení hráčů), vrat info o nastavení hráčů a hráči na tahu, změň nastavení hráčů, vem tah zpět (undo), znovu proved tah (redo, replay), vrat všechny plané tahy (od rozhodčího), vrat napovězený tah (od počítačového hráče), pozastav/rozběhni hru data: info o nastavení hráčů a hráči na tahu (ukazatele na objekty hráče), ukazatele na objekty hráče, desky, rozhodčího Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 9 / 13

Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 10 / 13

Scénář manažer (v metodě spust hru): inicializuje hru (stav desky, historie, hráče na tahu) obsahuje (synchronní) řídící smyčku (v samostatném vlákně, kvůli smyčce GUI, viz dále): Smyčka hry (v metodě spust hru objektu Manažer) 1 aktualizuje UI přes pomocnou Událost 2 žádá hráče na tahu o tah (vrat tah, v samost. vlákně) a čeká na něj 3 žádá rozhodčího o kontrolu tahu (zkontroluj tah) 4 žádá desku o provedení tahu (proved tah) 5 změní hráče na tahu Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 11 / 13

Scénář objekt lidského hráče čeká na zadání tahu z UI přes pomocný Slot objekt počítačového hráče vyvolá algoritmus,,inteligence manažer během čekání na tah při (asynchronním) požadavku: pozastavení/rozběhnutí hry pozastaví/rozběhne čekání na tah který zneplatní požadavek tahu (např. spust hru, změna nastavení hráčů, undo-redo), zruší čekání na tah a restartuje smyčku (obecnější) varianta: info o hráči na tahu obsahuje rozhodčí, který také mění hráče na tahu Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 12 / 13

Návrh UI může být platformově závislé, ale lze i nezávislé (konzole, multiplatformní GUI knihovna, OpenGL, Java Swing apod.) ukládání a načítání stavu hry samostatná součást, nezávislá na zbytku UI (pro člověka čitelný formát, nezávislý na platformě, např. TXT, XML) předává tah objektu lidského hráče, zobrazuje stav hry z objektu desky (při požadavku aktualiace od manažera), volá (uživatelské) funkce objektu manažera (také řídí replay) zachycení požadavku aktualizace zobrazení stavu hry od manažera (přes pomocnou Událost) např. testování Události v Idle funkci data: ukazatele na objekty manažera a desky (popř. lidského hráče) GUI knihovny používají událostmi řízený přístup ke GUI, tzn. mají vlastní smyčku zpracování událostí (zvenčí i zevnitř), tzn. program je řízený smyčkou GUI hra je řízena smyčkou manažera! nezávislá na (smyčce) UI, možnost více UI (např. GUI a sít ové) nebo také žádného UI! Jan Outrata (KI UP) Projekt - analýza a návrh listopad 2008 13 / 13