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



Podobné dokumenty
Simulace TCP - Didaktická akční hra

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens

Ročníkový projekt. Osadníci z Katanu. Jakub Malý. Uživatelská dokumentace

Nastavení programu pro práci v síti

1 Uživatelská dokumentace

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

NASTAVENÍ PROTOKOLU TCP/IP. Připojení nového zařízení. Jak na to?

Nastavení ového klienta MS Outlook Express. IMAP první spuštění

1 Princip fungování Aplikace Šimon. 2 Instalace programu do telefonu

Ovládání TV platformy a funkce Chytrá TV. RETE tv

CATE VLT HERNÍ PLÁN - NÁVOD PRO HRU. CAMPANULA spol.s r.o. 28. října 892/ Jeseník Česká republika IČ: DIČ: CZ

Návod ke službě IPTV

Fides Software Storage Administrator

Příručka pro aplikaci KSnapshot

Dokumentace k produktu IceWarp Notifikační nástroj

OBSAH. 1. Úvod Požadavky na SW vybavení... 3

Nastavení telefonu T-Mobile MDA II

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

Konfigurace PPPoE připojení v OS Microsoft Windows Vista

Trosečník v džungli, adventura

IM Instalace síťové verze SprutCAM. 1Nastavení serveru Vlastní instalace serveru...2 3Nastavení uživatelského počítače...

Návod ke službě IPTV

MyEcodial L 3.4. Instalace a registrace programu. Listopad 2008

Ovládání mapového prohlížeče a aplikace. Šumperk : Mapa města

C A T E V L T S Y S T E M HERNÍ PLÁN - NÁVOD PRO HRU Multi Joker 16 CATE VLT. HERNÍ PLÁN - NÁVOD PRO HRU Multi Joker 16

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

STRUČNÝ NÁVOD K POUŽITÍ

Příručka pro aplikaci KSnapshot

Uživatelská příručka. Vlastnoruční digitální podpis

Obslužný software. PAP ISO 9001

Celostátní kolo soutěže Mladý programátor 2012, kategorie A, B

Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka

TELEFONNí LiNKA PREMiUM PRŮVODCE NASTAVENíM SLuŽBY MEET-ME KONFERENCE

Naším cílem je Vaše spokojenost...

První přihlášení k Office 365

4x standardní vstupy

Návod na nastavení klienta pro připojení k WiFi síti SPŠE Brno

Konfigurace PPPoE připojení v OS Microsoft Windows XP

Zadání soutěžních úloh

Nielsen Admosphere, a.s. Vážená domácnosti,

Svolávací systém Uživatelský manuál

ABRA POS PRINT SERVER

NAS 107 Seznámení s Control Center

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

NÁVOD NA INSTALACI KARTY PCTV DELUXE

První seznámení s mobilní aplikací PATRIOT GPS

Návod k práci s programem MMPI-2

SCS - Manuál. Obsah. Strana 1 (celkem 14) Verze 1.1

Konfigurace PPPoE připojení v OS Microsoft Windows 98, ME

Uživatelská příručka T UC-One pro windows

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Konvertibilní Tablet STRUČNÁ PŘÍRUČKA 8085 LKB001X CJB1FH002ASA

Manuál k programu KaraokeEditor

Hodnocení soutěžních úloh

NÁVOD KE SLUŽBĚ IPTV

Kajot Casino Ltd. Popis hry Joker 27

WINDOWS 7 ZÁKLADY. Na konci roku 2012 přišly na trh nové Windows 8, které revolučně mění ovládání a jsou orientovány především na dotykové ovládání.

Návod k ovladači ke sportovnímu panelu

FUSION uživatelská příručka mobilního terminálu

Návod na nastavení připojení k drátové síti na kolejích Jana Opletala pro operační systém MS Windows 10

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Kajot Casino Ltd. Popis hry Joker Star 81

Instalace programu C-on

Kajot Casino Ltd. Popis hry Big Apple

TEPELNÉ ČERPADLO-SPLIT

Firmadat SMS Sender. aplikace pro odesílání SMS zpráv z Vašeho PC pomocí telefonu ZÁKLADNÍ INFORMACE A INSTALACE MILAN PASTOR, ROMAN NEPŠINSKÝ

Nastavení telefonu T-Mobile MDA II

2 Tvorba interaktivních grafických programů

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

4D Mobile! Úvod! Achitektura 4D Mobile!

Nastavení telefonu T-Mobile MDA Vario

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

Průvodce aplikací GTS Webový portál pro správce

SKYLA Pro II. Popis instalace programu

Micro:bit lekce 3. - Konstrukci If Then a If Then Else najdete v kategorii Logic - Podmínky od If (např. porovnání < >= atd.) najdete taktéž v Logic

Instalace a první spuštění Programu Job Abacus Pro

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE

Vánoční setkání ve Strakonicích 2018

Pro správné zobrazení mapové aplikace je potřeba mít nainstalovaný zásuvný modul Flash Adobe Player.

Postup instalace síťové verze Mount Blue

Síťová instalace a registrace pro progecad

VetSoftware.eu V2 Návod pro instalaci vzdálené pomoci verze dokumentu 1.0,

Úvodem... 9 Kapitola 1 Karetních

P2P IPCAM IP 01 Uživatelská příručka

PRACUJEME S TSRM. Modul Samoobsluha

BRICSCAD V15. Licencování

LAN adaptér. Návod k použití

Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín. Novinky v elektronické žákovské knížce

NÁVOD KE SLUŽBĚ IPTV M.NET TV

UŽIVATELSKÁ PŘÍRUČKA PRO HOMEBANKING PPF banky a.s.

Uživatelská příručka k síťovému projektoru

Nastavení telefonu T-Mobile MDA Compact III

NÁVOD KE SLUŽBĚ IPTV

ABRA Software a.s. ABRA on- line

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

Transkript:

Úvod do počítačových sítí Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: středa, 3 4 Obor: INIB INF E-mail: jtichava@students.zcu.cz Datum odevzdání: 19.12.06

Základní charakteristika Jednoduchá desková hra pro dva až čtyři hráče s možností hraní po síti s dedicated serverem, který může být spuštěn na libovolném počítači, na který vidí všichni klienti, kteří chtejí hrát při hraní po Internetu by tedy měl mít server veřejnou IP adresu, klienti mohou být za routerem s privátní IP, komunikace probíhá přes TCP protokol. Celá aplikace je napsná v Javě, pro chod je nutná minimálně ve verzi 1.5, vyvýjeno bylo na verzi 1.5.0_09-b01, testováno i na verzi 1.6. Aplikace je zároveň klient i server, spuštění vybrané části je rozhoduje při spuštění aplikace příslušným parametrem příkazové řádky (viz uživatelská dokumentace). Klient je řešen jako tří vrstvá architektura, která nebyla v tomto případě až tak nutná, prože věškeré výpočty provádí server a klient jen zobrazuje, co server pošle. Server je dvou vrstvá architektura, protože odpadá nutnost zobrazování výsledků uživateli. Server package: třídy: ups.server Bod.java Clovece.java Server.java ServerVlakno.java ZpracovaniDat.java třída Bod Reprezentuje souřadníce ve 2D prostoru. třída Clovece Pohybuje s figurkou po hrací ploše. V konstruktoru třídy se předává aktuální stav hrací plochy, hod kostkou, figurka, se kterou chce hráč hýbat a pro zjednodušení ještě barva figurky. Nejprve se zjistí, jestli je figurka na startu a bude třeba jí nasadit nebo jestli je v cíli, kde se končí. Pokud je na startu, zkontroluje se, jeslti padla na kostce šestka, pokud ano, provede se pokus o nasazení, při kterém se případně vyhodí figurka, která by překážela. Vyhazují se i figurky stejné barvy. 1

V případě pohybu v cílovém doměčku se zjistí, jeslti je možný pohyb a jestli není pole obsazené, pokud jsou obě podmínky splněny, figurka se přesune. Obecný pohyb je rozfázován do pohybu vždy o jedno políčko, je to z důvodu, ze si figurka hledá cestu, jakou se dá. Vždy před posunem se podívá kam má jít a popojde, takto je to řešené z důvodu konce hry, kdy po oběhnutí celé hrací plochy jde figurka do cílového doměčku, který je jedinečný pro každou barvu. Pokud je na cílovém políčku jiná figurka je vyhozena, bez ohledu na barvu, jedinou vyjímkou je, pokud jde figurka do doměčku, tak sama sebe nevyhodí a tah není možný. Každá akce nad figurkou je brána jak tah, i v případě, že není možné ten tah provést, pak musí hráč čekat na další kolo. Hození číslice 6 je ekvivaletní s libovolnou jinou číslicí, hráč nehraje vícekrát. Třída obsahuje public metodu na zjištění výherce. třída Server Volá se při spušění serveru. Nejprve vytvoří instanci třídy ZpracovaniDat a spustí jí jako samostatné vlákno, pak začne naslouchat na všech sítových rozhraních počítače na zvoleném portu. V cyklu stále čeká na příchozí spojení, pokud se vyskytne, vytvoří novou instanci třídy ServerVlakno, propojí jí pomocí observer-observable s třídou ZpracovaniDat a spustí jí jako samostatné vlákno. Stejně postupuje pro každý požadavek na připojení, až do maximálního počtu čtyř, což je maximum hráčů, ostatní požadavky o připojení jsou ignorovány. třída ServerVlakno Každá instance této třídy je jeden připojený klient k serveru. Zprostředkovává spojení mezi klientem a třídou ZpracovaniDat, které předává přijatá data a následně data od této třídy zase odesílá, rozlišuje se, jeslti se má odeslat všem klientům nebo pouze jednomu z nich. třída ZpracovaniDat Přes předávání zpráv přijme data od ServerVlakno a podle příslušného číselného kódu rozhodne, jestli chce uživatel chatovat, začít hrát nebo táhnout figurkou. Kódy jsou definovány v balíku ups, ve tříde Sit.java. Podle charakteru požadavku ho buď vyřídí (například chat jednoduše rozešle) nebo předá k vyhodnoce tříde Clovece, která se stará o pohyby figurek. 2

Klient package: třídy: ups.klient GenerujPlochu.java Klient.java KlientData.java KlientGUI.java KlientPrijimani.java KlientSit.java třída GenerujPlochu Generuje hrací plochu pro zobrazeni. Je složena z jednotlivých JLabel, na kterých je zobrazen příslušný obrázek, každý, JLabel, který může být aktivní obsahuje MouseListener, který reaguje na událost mouseclicked a předává infomace o tom, na jaké políčko bylo kliknuto pomocí zpráv. třída Klient Vytvoří instance tříd KlientGUI, KlientSit, a KlientData, podle potřeby je propojí pomocí observer-observable a spustí kždou třídu ve vlastním vlákně. třída KlientData Pouze spojuje KlientGUI a KlientSit, v tomto případe pouze přijme zprávu od KlientSit, změní příjemnce a pošle jí dál (nebo naopak). třída KlientGUI Téměr celý kód je vygenerovám pomocí Visual Editoru, což je plugin do Eclipse pro grafický návrh aplikace. Data jsou získávána a předávána pomocí zpráv do/z KlientData. třída KlientPrijimani Třída přijme data ze sítě a pomocí zprávy je předá dál. třída KlientSit Třída navazuje spojení a odesílá data. Veškerá komunikace s okolím je opět vyřešena pomocí zpráv. 3

Uživatelská dokumentace Spuštění serveru Server využívá pouze rozhraní příkazové řádky, je možné ho spustit i vzdáleně na serveru. Spuštění na defaultním portu: java -jar Clovece.jar -s java -jar Clovece.jar --server Spuštění na portu, jaký chce uživatel: java -jar Clovece.jar -s -p 12345 java -jar Clovece.jar --server --port 12345 Oba způsoby spuštění jsou naprosto ekvivalentní. Ovládání klienta Jsou tři mořnosti, jak spustit vlastní hru: java -jar Clovece.jar java -jar Clovece.jar -k java -jar Clovece.jar klient Všechny tři možnosti vedou ke stejnému výsledku: 4

Připojení k serveru Po kliknutí na tlačítko Připojit k serveru se vám zobrazí následující dialog Tetová pole vyplňte podobně jako na obrázky, jen za ně dosaďte hodnoty, na kterých skutečně běží server. Spuštění hry V okamžiku, kdy jsou připojeni všichni hráči, jeden z hráčů klikne na tlačítko Spustit hru a hra se spustí. Začíná červený hráč, nejprve musí hodit kostkou, to se provede tak, že klikne na obrázek kostky vpravo nahoře a násldně klikne na figurku, se kterou chce hrát. musí kliknout i v případě, ze nemůže hrát (nezáleží na tom, na jakou klikne). Hra Hráči se postupně střídají ve směru hodinových ručiček počínaje červeným, ve stavovém řádku se vždy objeví, kdo co má daný hráč dělat (házet, táhnout, čekat). Hra končí v okamžiku, kdy má jeden z hráčů všechny figurky v cílovém domečku nebo v případě odpojení jednoho z hráčů. Novou hru ve stejném složení jako byla ta, která pravá skončila výhrou je možné zahájit ihned po dohrání, pokud by bylo potřeba zmenit hráče, je nutné restartovat klienty i server a znovu se připojit. Ostatní Program je možné také ovládat pomocí horního menu, ve kterém jsou ekvivalenty k některým tlačítkům. Informace o autorovi se zobrazí po stisknutí příslušného tlačítka. Záver Po nastudování síťové komunikace a vymyšlení algorimu na chození po hracím poli bylo naprogramování sítové hry jednoduchou a zábavnou záležitostí, práce mě bavila a naučil jsem se i něco nového, co se mi určitě může hodit. 5