Úprava bota pro počítačovou hru Counter Strike
|
|
- Miloslava Králová
- před 8 lety
- Počet zobrazení:
Transkript
1 Semestrální práce z ISW Úprava bota pro počítačovou hru Counter Strike Petr Povolný
2 Obsah 1. ZADÁNÍ OBECNÉ INFORMACE JAK PODBOT FUNGUJE? ZMĚNY Z HLEDISKA UŽIVATELE UŽIVATELSKÁ DOKUMENTACE ZMĚNY Z HLEDISKA KÓDU PROGRAMÁTORSKÁ DOKUMENTACE ZÁVĚR PRAMENY... 11
3 1. Zadání Vytvořte zcela nového nebo doplňte již existujícího bota, do některé z následujících her: - Quake2 - Quake3 nebo mod Urban Terror - Counter Strike = mod pro Halflife Po předběžném prozkoumání možností a seznámení s jednotlivými hrami jsem chtěl pracovat na doplnění a vylepšení bota pro Urban Terror, protože se mi z nabízených her jevil jako nejhratelnější. Bohužel se nepodařilo získat jeho zdrojové soubory, a proto jsem nakonec pracoval na botu pro Counter Strike. Mým hlavním snažením bylo "naučit" tohoto bota pohybovat se ve dvojicích. 2. Obecné informace Boti pro Counter Strike existují jako dynamicky linkované (DLL) knihovny. Vývojář bota tak nemusí mít k dispozici kompletní zdrojový kód hry (modu), ale stačí zdrojové kódy DLL knihovny. Ta musí exportovat funkce, které potom volá hra. Pokud by chtěl někdo napsat kompletního bota od základu, musel by vědět, jak se tyto funkce musí jmenovat, aby komunikace mezi enginem hry a DLL knihovnou fungovala správně. Já jsem se však rozhodl pouze obohatit již existujícího bota, a proto jsem se nemusel těmito věcmi zabývat. Po prozkoumání situace na internetu jsem se rozhodl pro "rozšíření" bota pojmenovaného PODBot (Ping of Death Bot), konkrétně verzi PODBot26. Tento bot je volně dostupný na stránkách Na stejné adrese je k dispozici nepřeberné množství informací o tvorbě botů a to nejen pro Counter Strike. Archiv podbot26_src.zip Aresář Botman_Readme Obsahuje pouze soubor readme.txt, který obsahuje základní informace o tom jak bot funguje, jak zjišťovat informace se kterými chceme při vývoji pracovat apod. Adresář Podbot Obsahuje vlastní zdrojové soubory. Ty jsou uloženy v dalších několika adresářích: Common, Dlls, Docs, Engine, PM_SHARED. Z těchto adresářů jsem využil pouze adresář Dlls, který obsahuje Visual C++ projekt DLL knihovny. Soubor Readme_first.TXT
4 3. Jak PODBot funguje? Obecně Na začátku hry (každého kola) je provedena funkce BotSpawnInit(), která zinicializuje všechny potřebné struktury, popřípadě bota teprve vytvoří (pokud začíná úplně první kolo). Bot má na svoje akce každou vteřinu k dispozici 30 framů (ve smyslu časového úseku). Na začátku každého framu je spuštěna funkce StartFrame(), která volá pro každého bota funkci BotThink(), což je hlavní funkce inteligence bota. Právě funkce BotThink() se stará o zjišťování stavu bota (živý/mrtvý/zraněný) a provádění na něm závislých reakcí. V případě, že má bot zadány nějaké úkoly (tasky), stará se o jejich provedení atd. S trochou nadsázky se dá říci, že všechny ostatní klíčové funkce se volají v těle této rutiny nebo v tělech jí volaných rutin. Na konci kola je provedena funkce UpdateGlobalExperienceData(), která vyhodnotí úspěšnost bota a nastaví podle toho příslušné dovednosti, např. zaznamená nebezpečná místa, kde byl bot zabit. Jak boti komunikují? Základní prostředkem pro komunikaci jsou fronty zpráv. Existují funkce pro vložení zprávy do fronty a pro její vyjmutí. Zprávy mohou být adresné (pro konkrétního bota) nebo obecné a pracují asynchronně. Používané funkce: BotGetMessageQueue(bot_t *pbot) BotPushMessageQueue(bot_t *pbot,int imessage) BotCheckMessageQueue(bot_t *pbot) Úkoly Boti mohou mít zadány úkoly, které se snaží vyplnit. Například zadání (ve hře) požadavku "Cover me" použitím vysílačky vyústí v uložení zprávy do fronty pro všechny boty v "doslechu". Pokud některý z kolemstojících botů tuto zprávu "pozitivně" vyhodnotí, přidělí se mu úkol TASK_COVERME. Ten pak plní dokud není splněn nebo pokud mu není zadán další úkol. Všechny zadané úkoly se ukládají do zásobníku, což znamená, že bot vždy plní poslední zadaný úkol. Po jeho dokončení začne plnit předposlední úkol atd. Splnění úkolu může vypadat různě. Například u úkolu TASK_FOLLOWUSER (provádí radio-příkaz "Follow me") je vyhodnocováno, zda bot může svého kolegu stále následovat, tzn. jestli je naživu, jestli je v dohledu apod.
5 Používané funkce BotGetSafeTask(bot_t *pbot) BotPushTask(bot_t *pbot,bottask_t *ptask) BotRemoveCertainTask(bot_t *pbot,int itasknum) BotRemoveCertainTask(bot_t *pbot,int itasknum) BotTaskComplete(bot_t *pbot) Pohyb bota Bot má několik základních parametrů, které určují jakým směrem a jak rychle se pohybuje. Tyto parametry se v DLL vlastně jen nastavují jejich zpracování a "provedení" si pak zajišťuje přímo engine hry. Příklad float f_max_speed; float f_move_speed; float f_sidemove_speed; maximální rychlost bota se zbraní, kterou drží aktuální rychlost pohybu vpřed (vzad záporná hodnota) aktuální rychlost do strany (úkroky) Obecně se boti pohybují po předem známých "waypointech". Mají předdefinované útočné waypointy, obrané wypointy atd. pro každou mapu. Pokud tyto waypointy pro danou mapu neexistují, není ani možné boty do takové mapy přidat. Používané funkce BotFindWaypoint( bot_t *pbot ) GetValidWaypoint(bot_t *pbot) BotFindDefendWaypoint(bot_t *pbot,vector vecposition) BotFindCoverWaypoint(bot_t *pbot,float maxdistance) GetBestNextWaypoint(bot_t *pbot) Vlastnosti Bot má veliké množství vlastností a flagů. Ty jsou sdruženy ve struktuře bota bot_t. Příklad float fbaseagressionlevel; float fbasefearlevel; float fagressionlevel; float ffearlevel; boolean bdead; základní úroveň agresivity bota základní úroveň strachu bota aktuální úroveň agresivity bota aktuální úroveň strachu bota určuje, zda je bot ještě na živu Podle hodnot těchto atributů bot reaguje na většinu podnětů ze svého okolí, provádí rozhodnutí o svém pohybu, střelbě nebo vyhledává nejbezpečnější úkryt.
6 4. Změny z hlediska uživatele uživatelská dokumentace PODBot byl obohacen o týmový pohyb po dvojicích. Nová vlastnost se nazývá multibot. Pokud je tento mód aktivní (viz níže) boti se chovají následujícím způsobem: 1) Na začátku kola je vždy provedeno zpárování botů v každém z týmů. 2) Jeden z dvojice je leader ten se vlastně pohybuje normálně. Druhý z dvojice, tzv. follower se snaží svého leadra následovat. Pokud jej vidí pohybuje se po jeho boku nebo těsně za ním. Pokud leadra nevidí je jeho primárním úkolem najít jej. 3) Pokud je jeden z dvojice zabit, zbylý člen týmu pokračuje sám do doby než se mu naskytne možnost vytvořit nový pár. To je možné pokud zbude někdo z jiného páru nebo pokud je počet botů v týmů lichý. Instalace V adresáři hry HalfLife by měl existovat adresář cstrike. Do něj nainstalujte některého z podbotů, např. soubor pod25ins.exe. Tím se v adresáři cstrike vytvoří adresář PODBot. Do něj ručně nakopírujte soubory PODBot.dll a podbot.cfg z archivu multibot.zip (není podmínkou - v něm je pouze multibot přednastaven, aby se aktivoval ihned po startu). Aktivace vlastnosti multibot 1) konzolový příkaz Vepište do konzole (de/aktivuje se klávesou ~) příkaz "multibot on", pokud chcete vlastnost aktivovat. Pro její vypnutí použijte "multibot off". 2) soubor podbot.cfg V souboru podbot.cfg v adresáři podbot nastavte "multibot on/off" podle stejné logiky jako v konzole. Pokud použijete soubor podbot.cfg z archivu multibot.zip, stačí najít místo, kde je vlastnost multibot uvedena a nastavit ji na požadovanou hodnotu. Známé problémy Někdy se stane, že jeden pár pobíhá v jedné uzavřené oblasti, aniž by leader dvojice měl nějaký určitý směr. Jedná se o chybu vlastního bota a ne vlastnosti multibot, neboť toto chování se občas vyskytuje i při běžné hře v souvislosti s příkazem "Follow me". Při aktivaci vlastnosti multibot v průběhu rozehraného kola se teoreticky může stát, že se nespárují všichni boti, přestože jich je sudý počet. V takovém případě vepište do konzole příkaz "killbots" nebo "newround", což způsobí start nového kola a správnou aktivaci párů.
7 5. Změny z hlediska kódu programátorská dokumentace Práci jsem vyvíjel a testoval s následujícími verzemi softwaru: o Halflife o Counter Strike 1.5 Full o instalace PODBota - pod25ins.exe o zdrojové soubory PODBota podbot26_src.zip Obecně Všechny úpravy, které jsem ve zdrojových souborech DLL knihovny provedl jsou uvozeny komentářem: // P.P. YYYY-MM-DD kde P.P. = Petr Povolný YYYY = rok (2003) MM = měsíc (06) DD = den (04-19) Více řádkové úpravy jsou ohraničeny zakomentovanými hvězdičkami, jednořádkové pouze výše uvedeným označením. Je tedy možné nechat si vyhledat všechny výskyty řetězce "P.P." a poté zkoumat pouze mnou provedené úpravy. Pro svou práci jsem do projektu knihovny přidal dva soubory: multibot.cpp a multibot.h. Upraveny byly následující soubory: bot.cpp, bot.h, bot_client.cpp, dll.cpp. Základním stavebním kamenem mého obohacení je doplněná funkce multibotspawninit(), která provádí párování botů. Detailní popis viz níže. Byl přidán úkol TASK_MULTIBOT, který dostane zadán bot, který následuje svého kolegu. Tento úkol používá stejně jako např. úkol TASK_FOLLOWME funkci BotFollowUser(), která však byla lehce upravena. Párové chování botů lze aktivovat/deaktivovat konzolovým příkazem "multibot on/off". Většina přidaného kódu pak začíná ifem, který zjišťuje, zda je multibot aktivován či nikoliv. Párové chování lze také nastavit v konfiguračním souboru podbot.cfg.
8 Úpravy multibot.h 1) deklarace struktury multibot typedef struct multibot_t { bool leader; // is the bot LEADER? bool searchingfollower; // is LEADER searching for FOLLOWER? int twin; // index of the multibot's TWIN } MULTIBOT; 2) deklarace rutin pro práci s botem 3) deklarace externích proměnných 4) #ifdef MULTIBOT_LOG pokud není zakomentováno, provádí se logování multibotí funkcionality do souboru multibot.log multibot.cpp 1) rutina pro inicializaci bota 2) rutina pro reinicializaci bota bot.h 1) deklarace dvou přidaných konzolových příkazů 2) deklarace dvou konstant pro označení úkolu MULTIBOT 3) obohacení struktury bot_t o atribut multibot 4) deklarace rutin pro párování botů a případné logování bot.cpp 1) přidání úkolu do pole úkolů taskfilters[] 2) funkce BotSpawnInit() (úprava) a. inicializace bota (alokace paměti) b. provedení párovací rutiny multibotspawninit 3) úprava (ve funkci BotCreate()) označení před jménem bota z [POD] na [M-B] pokud je multibot aktivní již při tvorbě jmen (načten z podbot.cfg) 4) BotFollowUser() (úprava) a. pokud je multibot aktivní, vyhodnocuje se pouze zda je leader ještě naživu b. nekontroluje se, jestli je leader v dohledu apod. jako při FOLLOWUSER 5) oddělení jednotlivých kol hry v případném logovacím souboru (funkce UpdateGlobalExpierienceData()) 6) BotCheckRadioCommands() (úprava) a. pokud je multibot aktivní, je nežádoucí používání příkazu "Follow me" b. tento radiový příkaz je sice volán, ale žádný z případných vykonavatelů jej nepřijme c. obyčejně bot tento příkaz přijímá s 50% pravděpodobností (náhodné číslo mezi 0 a 100 musí být menší než 50); v případě
9 aktivního multibota je místo prahu 50 nastaveno 1, čili podmínka nemůže být nikdy splněna 7) BotThink() (úprava) a. aktivace multibota za běhu - pokud dochází k aktivaci až v průběhu kola provádí se alokace paměti a inicializace na místě b. párování v průběhu kola pokud jednomu z dvojce byl zabit kolega, zbylý člen páru se snaží najít do dvojice jiného spolubojovníka c. task TASK_MULTIBOT provádí se pouze u botů, kteří následují, ne u leadrů; i. pokud není leader mrtev, pokračuje se v plnění úkolu ii. pokud leader není v dohledu, dostanou k vykonání úkol TASK_MOVETOPOSITION, který zajistí "doběhnutí" příslušného leadra d. střelba botů kvůli testování byl přidán konzolový příkaz "mbshoot on/off"; pokud je off, boti mají zablokovanou střelbu (granáty a dýmovnice používají); střelbu lze deaktivovat pouze v případě aktivního multibota 8) multibotspawninit() (nová) - provádí párování botů do týmů leaderfollower podle následující logiky: a. Každý bot vstoupivší do této funkce předpokládá, že bude follower a prochází pole všech botů a hledá leadra z jeho týmu, který ještě nemá žádného followera. b. Pokud jej nenalezne, stane se sám leadrem a nastaví flag searchingfollower na true, na znamení toho že hledá followera. Další bot z jeho týmu, který do rutiny vstoupí jej pak nalezne. c. Pokud je tedy leader nalezen, je provedeno spojení obou botů. Do atributu twin obou botů je uložen index jeho kolegy z tabulky botů. Poté je followerovi zadán úkol TASK_MULTIBOT, který zařídí následování příslušného leadra. 9) logtwinconnections() (nová) pokud je definován přepínač MULTIBOT_LOG, zapisuje do logu tabulku botů, ve které je zaznamenáno jejich propojení. bot_client.cpp 1) BotClient_CS_DeathMsg() (úprava) tato funkce je volána pokaždé když je zabit člen nějakého týmu. V takovém případě je zrušeno existující spojení páru a přeživší člen je připraven pro začlenění do páru nového. dll.cpp 1) inicializace externích proměnných multiboton a mbshooton 2) nastavení proměnné multiboton přes konzolový příkaz
10 Poznámka V případě zadání příkazu "multibot?" do konzoly je vypsána informace o tom, zda je multibot aktivní a pokud je, je vypsána i tabulka multibotích spojení. 3) nastavení proměnné mbshooton přes nedokumentovaný konzolový příkaz pouze pro testování 4) nastavení proměnné multiboton při načtení ze souboru podbot.cfg 6. Závěr Tato práce byla pro mne osobně velice zajímavá, protože programování her mě lákalo od jakživa. Přestože se jednalo pouze o úpravu části existujícího kódu, umožnilo mi to proniknout hlouběji do dané problematiky a poopravit některé z mých "naivních" představ o jejích principech. Doufám a věřím, že použitím "mého vylepšeného" bota hra neztratila nic ze své hratelnosti a přitažlivosti, možná právě naopak.
11 7. Prameny - nejlepší stránka o tvorbě botů do Halflifu a několika dalších her - na jsou odkazy na spousty dalších stránek o botech - stránka modu Counter Strike na enginu Halflifu - základní informace o tvorbě počítačových her - turotialy - abeceda herního vývojáře :-) - informace o umělé inteligenci ve hrách - stránka vývojářů hry Quake - stránky her Quake, Quake2, Quake3 a jejich modů - stránky modu Urban Terror na enginu Q3A
Boti ve First Person Shooter hrách
Boti ve First Person Shooter hrách Vysvětlení pojmů z nadpisu: First Person Shooter Střílečka z pohledu první osoby. Hráč ovládá postavu, u které vidí jakoby jejíma očima a zároveň jediné co z ní vidí,
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Úvodem... 9 Kapitola 1 Karetních
Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12
Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11
Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového
Manuál. k aplikaci WD FileAgent
Manuál k aplikaci WD FileAgent O aplikaci Aplikace WD FileAgent slouží k automatickému stahování souborů z archivu tachografů vozidel a archivu karet řidičů uložených na serveru Webdipečink do uživatelem
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v
DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve
Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny
Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 OBSAH 1 Úvod...3 2
Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny
Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 Říjen 2012 2 Druhé vydání,
SPY PHONE - Odposlech SMS. Návod k obsluze ( doplněk k originálnímu návodu )
SPY PHONE - Odposlech SMS Návod k obsluze ( doplněk k originálnímu návodu ) Instalace Software do Cílového telefonu a) Instalace pomocí Bluetooth doporučená Postupujte podle jednotlivých kroků uvedených
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
ČÁST 1. Základy 32bitového programování ve Windows
Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
Kompletní manuál programu HiddenSMS Lite
v1.1001 Kompletní manuál programu HiddenSMS Lite Poslední aktualizace: 27. 8. 2009 HiddenSMS Lite software pro mobilní telefony s operačním systémem Windows Mobile, určený pro skrytí Vašich soukromých
Programování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
Obsah. SEZNÁMENÍ S HRAMI V HTML5...19 Nové funkce HTML5... 20. Nové funkce CSS3... 23
ÚVOD.................................................13 Co v této knize najdete................................... 13 Co budete v této knize potřebovat.......................... 14 Pro koho je tato kniha
DUM 20 téma: Test dávky
DUM 20 téma: Test dávky ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10Algoritmizace a programování určeno pro: 2-3.ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace:
RYCHLÝ PRŮVODCE INSTALACÍ
RYCHLÝ PRŮVODCE INSTALACÍ 1 RYCHLÝ PRŮVODCE INSTALACÍ Celý manuál a záruční podmínky je možné nalézt na: http://consumer.inosat.com/manualcar_cz.pdf INSTALACE JEDNOTKY 3 Budete automaticky informován o
Programy na PODMÍNĚNÝ příkaz IF a CASE
Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak
JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý
JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý Ondřej Vencálek listopad 2008 Motivace Jak to udělat, aby se panu doktorovi ušetřila práce, a přitom aby se nemusel učit R-ko?
Popis programu EnicomD
Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry
6 Příkazy řízení toku
6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní
Gymnázium, Praha 6, Arabská 16 předmět Programování, vyučující Tomáš Obdržálek Šibenice ročníkový projekt Tadeáš Váša, 1E květen 2014
Gymnázium, Praha 6, Arabská 16 předmět Programování, vyučující Tomáš Obdržálek Šibenice ročníkový projekt Tadeáš Váša, 1E květen 2014 1 Úvod 1.1 Anotace Česky Mým cílem bylo vytvořit ročníkovou práci z
zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;
Typy a proměnné zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text; Typy Hodnoty, kterých mohou nabývat vlastnosti prvků nejsou
Programování v C++ 2, 4. cvičení
Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva
PROJEKT MINY - DOKUMENTACE
OBJEKTOVÉ METODY A PŘÍSTUPY PROJEKT MINY - DOKUMENTACE VYPRACOVALI Eduard Kučera, Matěj Noha, František Volf I. Úvod Předmětem seminární práce je obdoba známé hry Miny. Smyslem této hry je dostat se z
Základy programování (IZP)
Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
Komprimace/Dekomprimace
Základy programování Zápočtový projekt Komprimace/Dekomprimace souborů 1 Úvod Tento dokument slouží jako uživatelská příručka a technická dokumentace k programu realizujícímu komprimaci a zpětnou dekomprimaci
Specifikace projektu Ocerus
Specifikace projektu Ocerus Tým Vedoucí: Ondřej Sýkora (ondrasej@centrum.cz) Členové: Michal Čevora (macjariel@gmail.com) Lukáš Hermann (lukas.hermann@seznam.cz) Ondřej Mocný (hardwire@volny.cz) Tomáš
ZyXEL VMG8623. Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8623-T50. Budoucnost je úžasná. Ready?
ZyXEL VMG8623 Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8623-T50 Budoucnost je úžasná. Ready? Máte v balení všechno? Šedý kabel (DSL/PHONE) 2 žlutý (WAN/LAN) ethernet kabel Návod ke snadné
Dell UltraSharp U2917W Dell Display Manager Uživatelská příručka
Dell UltraSharp U2917W Dell Display Manager Uživatelská příručka Model: U2917W Regulatorní model: U2917Wt POZNÁMKA: POZNÁMKA označuje důležité informace, které pomáhají lépe využít počítač. Copyright 2016
Úvod do programování 6. hodina
Úvod do programování 6. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Třídění pole: Selection
Instalace produktu Ontopia. ver. 5.0.2 (open-source verze)
Instalace produktu Ontopia ver. 5.0.2 (open-source verze) Martina Husáková 1.2.2010 PÁR SLOV ÚVODEM Produkt společnosti Bouvet Ontopia (dříve Ontopia Knowledge Suite OKS) je jedním z nejpoužívanějších
www.zlinskedumy.cz Pracovní list VY_32_INOVACE_33_19 Databáze Databáze Databáze Ing. Petr Vilímek
VY_32_INOVACE_33_19 Pracovní list Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Střední průmyslová škola Zlín Inovace výuky prostřednictvím ICT v
Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací
Mobilní zpravodajská aplikace idnes A7B39PDA - Principy tvorby mobilních aplikací Autor: Marek Krátký kratkma2@fel.cvut.cz Popis D1 Zpravodajská aplikace idnes je určena pro chytré telefony nebo pro tablety.
Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr
Preprocesor a koncepce (větších) programů Úvod do programování 2 Tomáš Kühr Práce s preprocesorem Preprocesor Zpracovává zdrojový kód ještě před překladačem Provádí pouze záměny textů (např. identifikátor
Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.
1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky
ZyXEL VMG8823. Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8823-B50. Budoucnost je úžasná. Ready?
ZyXEL VMG8823 Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8823-B50 Budoucnost je úžasná. Ready? Máte v balení všechno? Šedý kabel (DSL/PHONE) Žlutý (WAN/LAN) ethernet kabel Návod ke snadné
DUM 06 téma: Tvorba makra pomocí VBA
DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
Dell UltraSharp U2417HA Dell Display Manager Uživatelská příručka
Dell UltraSharp U2417HA Dell Display Manager Uživatelská příručka Model: U2417HA Regulatorní model: U2417Ht POZNÁMKA: POZNÁMKA označuje důležité informace, které pomáhají lépe využít počítač. Copyright
Práce se šablonami v MS Word 2007. MS Word 2007
MS Word 2007 PRÁCE SE ŠABLONAMI 1 CO JE TO ŠABLONA DOKUMENTU? Šablona je samostatný soubor, který se přiřazuje k dokumentu Do šablony se ukládají prvky společné několika dokumentům: Definice stylů Velikost
Dokumentace ke knihovně InsDevice
UNIVERZITA OBRANY Dokumentace ke knihovně InsDevice Výsledek řešení projektu PRO K-209 Petr Františ 4.1.2012 Programátorská dokumentace pro použití knihovny InsDevice určené k začlenění podpory inerciálních
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
Synchronizace kontaktů z ESO9 do MS Outlook
Synchronizace kontaktů z ESO9 do MS Outlook E S O 9 i n t r a n e t, a. s. U M l ý n a 2 2 1 4 1 0 0, P r a h a Strana 1 (celkem 7) Popis... 3 Instalace a nastavení doplňku klienta... 3 Instalace... 3
1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence
1 Správce licencí Programy IDEA jsou chráněny proti neoprávněnému použití. Pro běh programu je vyžadována platná licence. Upozornění: Lokální licence na pracovní stanici a síťová licence Eleckey jsou softwarové
Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
Koncepce (větších) programů. Základy programování 2 Tomáš Kühr
Koncepce (větších) programů Základy programování 2 Tomáš Kühr Parametry a návratová hodnota main Již víme, že main je funkce A také tušíme, že je trochu jiná než ostatní funkce v programu Funkce main je
Ing. Michal Martin. Spojení PLC CLICK s NA-9289
Propojení PLC CLICK s NA-9289 Autor: Ing. Michal Martin Copyright TECON spol. s r. o., Vrchlabí, Česká republika Tato publikace prošla jen částečnou jazykovou korekturou. Tato publikace vznikla na základě
Windows 10 (5. třída)
Windows 10 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na Pracovní ploše ikona Student 17 (se jménem přihlášeného uživatele) ikona Tento počítač
programátorský manuál
programátorský manuál Marek Polák 1. ročník, studijní skupina 41 zimní semestr 2012/2013 Programování I NPRG030 1. Úvod Vítejte v programátorském manuálu k programu Hádej zvíře. Tento manuál by Vám měl
K8055D.DLL v5.0.0.0. Technická příručka. Úvod. Obecné. Konvence volání. Nastavení adresy karty
K8055D.DLL v5.0.0.0 Technická příručka Úvod Obecné Experimentální USB deska K8055N má 5 digitálních vstupních kanálů a 8 digitálních výstupních kanálů. Kromě toho jsou na desce dva analogové vstupy, dva
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
Konstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
Programování v jazyce C a C++
Programování v jazyce C a C++ Richter 1 Petyovský 2 1. března 2015 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno 2 Ing. Petyovský Petr, UAMT FEKT VUT Brno C++ Stručná charakteristika Nesdíĺı normu
ZyXEL modem. Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8924-B30A. Ready? Budoucnost je úžasná.
ZyXEL modem Návod na jednoduchou a rychlou instalaci modemu ZyXEL VMG8924-B30A Budoucnost je úžasná. Ready? 1 Obsah Máte v balení všechno? Obsah......................................................................................
REMARK. Perfektně popsaný záznam. Uživatelský manuál
REMARK Perfektně popsaný záznam Uživatelský manuál áudified AUDIFIED REMARK Uživatelský Manuál 2 Obsah Úvod 3 Prostředí programu 3 Nastavení programu 4 Karta Audio 4 Karta Export a přenos 5 Karta Obecné
LAN se používá k prvnímu nastavení Vašeho DVR a když potřebujete nastavit síť na Vašem DVR pro používání po internetu.
Návod Video Viewer 1.9.9 1 Dodávaný licencovaný software Následující stránky popisují nejpoužívanější funkce software Video Viewer. Podrobnosti o softwaru a jeho nastavení, najdete v rozšířené příručce,
Windows 8.1 (5. třída)
Windows 8.1 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na pracovní ploše - Hlavní panel - ikony na Hlavním panelu (zvýrazněná ikona spuštěné
UŽIVATEL, SKUPINA, PROCES
UŽIVATEL, SKUPINA, PROCES Systém bez uživatele je jedině Matrix? Uživatelé se seskupují a řídí práci. Group = skupina uživatelů Trocha teorie: LINUX je systémem víceuživatelským. Tzn. Že k dané instanci
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
Tabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
5. STRUKTURA PLC PROGRAMU
5. STRUKTURA PLC PROGRAMU Struktura PLC programu je navržena s ohledem na co jefektivnější návrh programu při přizpůsobení CNC systému na stroj. 5.1 Moduly jazyka TECHNOL Moduly jazyka PLC836 byly vytvořeny
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.
Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen
Semestrální práce z KIV/PC. Kolja Matuševský (A14B0310P)
Semestrální práce z KIV/PC Řešení kolizí frekvencí sítě vysílačů Kolja Matuševský (A14B0310P) mkolja@students.zcu.cz 10. ledna 2016 Obsah 1 Zadání 2 2 Analýza úlohy 3 2.1 Vytvoření grafu..........................
Internetová filmová databáze IFDB
VŠB FEI - Technická Univerzita Ostrava DOKUMENTACE Internetová filmová databáze IFDB Semestrální projekt Jméno: Jméno vyučujícího: Dušan Choleva (CHO0130) Ing. Petr Lukáš 1 1. Specifikace zadání 1.1. Proč
Operační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
Uživatelská příručka k aplikaci Dell Display Manager
Uživatelská příručka k aplikaci Dell Display Manager Přehled Použití okna pro rychlé nastavení Nastavení základních funkcí zobrazení Přiřazení přednastavených režimů k aplikacím Použití funkcí na úsporu
Překladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
Výše uvedené soubory jsou zabalené v souboru R28txt (po rozbalení nakopírujte do základního adresáře textové verze programu tam, kde je program RECON.
Výše uvedené soubory jsou zabalené v souboru R28txt (po rozbalení nakopírujte do základního adresáře textové verze programu tam, kde je program RECON. Komprimovaná složka ReCon28 obsahuje Windows aplikaci,
Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody
Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který
PHP tutoriál (základy PHP snadno a rychle)
PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve
Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr
Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K
GDPR v aplikaci Nabídky Plus
GDPR v aplikaci Nabídky Plus Obecné nařízení na ochranu osobních údajů Upozornění: tento dokument obsahuje vhodná technická doporučení v aplikaci Nabídky Plus v oblasti ochrany osobních údajů. Obecné nařízení
Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13
Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace
Bezdrátové routery LTE & UMTS datové a hlasové brány
Bezdrátové routery LTE & UMTS datové a hlasové brány Jak na to? Základní nastavení www.2n.cz 1. Základní nastavení V tomto dokumentu si popíšeme jak jednoduše nastavit základní funkci 2N SpeedRoute nebo
Source Defender. PPJ semestrální projekt. Martin Přeták, ARI
Source Defender PPJ semestrální projekt Martin Přeták, ARI Source Defender je dynamická střílečka pro jednoho až dva hráče. Hráč má za úkol nabít všechny generátory kolem zdroje a ty pak nabité udržet
Dell UltraSharp U2518D/U2518DX/U2518DR Dell Display Manager Uživatelská příručka
Dell UltraSharp U2518D/U2518DX/U2518DR Dell Display Manager Uživatelská příručka Model: U2518D/U2518DX/U2518DR Regulatorní model: U2518Dt POZNÁMKA: POZNÁMKA označuje důležité informace, které pomáhají
PRAKTICKÝ NÁVOD K POUŽITÍ PRO DGT XL
PRAKTICKÝ NÁVOD K POUŽITÍ PRO DGT XL FIG. 1 obrázek č.1 back zpět storage...uložení sound..zvuk run/pause...uvést do provozu/zastavit moves.kroky adjust.přidat off mimo provozu on v provozu on = resetovat
RYCHLÝ PRŮVODCE INSTALACÍ
RYCHLÝ PRŮVODCE INSTALACÍ RYCHLÝ PRŮVODCE INSTALACÍ Celý manuál a záruční podmínky je možné nalézt na: http://consumer.inosat.com/manualmy_cz.pdf 1 NABÍJENÍ BATERIE Uživatel bude automaticky informován
Novinky v grafickém prostředí Marushka v ISÚI (leden 2019)
Novinky v grafickém prostředí Marushka v ISÚI (leden 2019) www.ruian.cz (publikováno dne 25. 1. 2019) Obsah 1. NOVINKY PRO VŠECHNY PROJEKTY... 4 1.1 Doplnění panelu tlačítek...4 1.2 Základní mapy ČR jako
Programování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Z. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
Dokumentace programu piskvorek
Dokumentace programu piskvorek Zápočtového programu z Programování II PRM045 Ondřej Vostal 20. září 2011, Letní semestr, 2010/2011 1 Stručné zadání Napsat textovou hru piškvorky se soupeřem s umělou inteligencí.
MS Excel makra a VBA
Autor: RNDr. Obsah: MS Excel makra a VBA 1 Využití, ukázky, výhody a nevýhody... 2 2 Makra a zabezpečení... 2 2.1 Nastavení zabezpečení Excelu... 2 2.2 Uložení maker do sešitu a osobního sešitu maker...
Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL
Středoškolská technika 2017 Setkání a prezentace prací středoškolských studentů na ČVUT PROGRAM NA GENEROVÁNÍ PRVOČÍSEL Vojtěch Pchálek Střední škola technická Kouřílkova 8, Přerov ANOTACE Bratr, který
Algoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford).
LANGMaster International, s.r.o. Branická 107, 147 00 Praha 4 Česká republika Tel.: +420 244 460 807, +420 736 623 459 Fax: +420 244 463 411 e-mail: info@langmaster.cz http://www.langmaster.cz Na základě
Zadání soutěžních úloh
16. až 18. dubna 2015 Krajské kolo 2014/2015 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou úlohu můžete dostat maximálně 10 bodů, z nichž je většinou 9 bodů
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
Tiskový manažer Printman (Tiskový manažer verze 1.58 a novější)
Tiskový manažer Printman (Tiskový manažer verze 1.58 a novější) Tiskový manažer je program, který je součástí programu Praktik. Používá se pokud máte připojenou tiskárnu přes USB port. (Pokud je tiskárna
Testovací protokol čipová karta ACOS5
Testovací protokol čipová karta ACOS5 1 Úvod 1.1 Testovaný produkt Hardware: čipová karta ACS ACOS5-32-G Software: ACS Admin Tool 2.4 Datum testování: 24. 12. 2009 1.2 Konfigurace testovacího počítače
Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10
Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového
Komunikační driver Sauter EY2400. Reliance. Komunikační driver SAUTER EY2400 verze 2.4.3
Reliance Komunikační driver SAUTER EY2400 verze 2.4.3 OBSAH 1. Úvod... 4 1.1. Základní pojmy... 4 2. Komunikační driver Sauter EY2400... 5 2.1 Základní Vlastnosti... 5 Start driveru... 5 Připojení stanice
Uživatelská příručka
www.rexcontrols.cz www.contlab.eu www.pidlab.com Ovladač systému REX pro 1-Wire (modul OwsDrv) Uživatelská příručka REX Controls s.r.o. Verze 2.10.7 (revize 2) Plzeň 16.12.2015 Obsah 1 Ovladač OwsDrv a
Martin Milata, <256615@mail.muni.cz> 27.11.2007. Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od
IB000 Lámání čokolády Martin Milata, 27.11.2007 1 Čokoláda s alespoň jedním sudým rozměrem Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už