Tlačítko Teachers Guide obsahuje odkaz na stručný popis hry a její účel v projektu Ingot.



Podobné dokumenty
Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

ČERV. Hra Červ je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

Printris. Hra Printris je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

Tlačítko Teachers Guide obsahuje odkaz na stručný popis hry a její účel v projektu Ingot.

Tlačítko Teachers Guide obsahuje odkaz na stručný popis hry a její účel v projektu Ingot.

Tlačítkem Poskládej jiný počítač se hra vrátí na úvodní obrazovku a lze zvolit jiný obrázek.

Tlačítko Teachers Guide obsahuje odkaz na stručný popis hry a její účel v projektu Ingot.

Práce v programu Word 2003

Programové vybavení počítačů operační systémy

Modul 2. Druhá sada úkolů:

Základy HTML. Autor: Palito

Manuál k editoru TinyMCE

Manuál k programu KaraokeEditor

MS POWERPOINT. MS PowerPoint

Místo úvodu. Čeho se vyvarovat. Mazání znaků

ZEBU webdesign s.r.o. Technologická 372/ Ostrava Pustkovec

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

8 Makra Příklad 4 Excel 2007

Možnosti programu. KAPITOLA 5 Možnosti

Internetový prohlížeč-vyhledávání a ukládání dat z internetu do počítače

MS Word. verze Přehled programů pro úpravu textu

Archiv elektronických dokumentů Zela

Konvertor diakritiky 3. Instalace

Hodnocení soutěžních úloh

Základy rozpočtování s využitím IT

František Hudek. duben ročník

FortiaViewer verze 5.0

DATAMINING SEWEBAR CMS

Zakládání nové nebo úprava existující stránky

ABRA Software a.s. ABRA on- line

Automatické ukládání a přednastavený formát ukládání

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

Správa souborů soubor, stromová struktura. Mgr. Jan Veverka Střední odborná škola sociální obor ošetřovatel

Windows 8.1 (5. třída)

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Návod k aplikaci SQL Tools v.2.3

Testovací protokol USB Token Cryptomate

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

DINOX IP kamery řady: DDC-xxxx DDR-xxxx DDX-xxxx DDB-xxxx

Gymnázium Arabská. Hra Pexeso. ročníkový projekt předmět programování vyučující Tomáš Obdržálek autor Ondřej Novák školní rok 2013/2014

METODICKÉ LISTY. výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově

1 Tabulky Příklad 3 Access 2010

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Uživatelský manuál. Format Convert V3.1

Windows 10 (5. třída)

Nápověda k aplikaci EA Script Engine

Porn Detection Stick. Návod k použití. Hlavní výhody produktu:

Recognoil RRW Manager rychlý návod k obsluze

Střední průmyslová škola strojnická Vsetín. Předmět Druh učebního materiálu Tvorba a editace textu v dokumentu

Soubory s reklamami musí mít stejný název jako ta výše uvedené. Stávající soubory reklam budou přepsány.

22. Tvorba webových stránek

MS Excel makra a VBA

Pro využití aktivního odkazu (modrý a podtržený) použijte klávesu Ctrl + kliknutí myší.

Nápověda a postupy. Instalace a aktivace PDF-XChange Viewer Pro. Instalace a aktivace software. Nápověda a postupy. 1 z

1. Začínáme s FrontPage

PDF Creator. Instalace tiskárny pro převod dokumentů do PDF

Úvod do systému

První kapitola úvod do problematiky

Jako skript se nabízí BAT soubory, VBScript či PowerShell. Zpracovány jsou druhé dva.

Inovace výuky prostřednictvím šablon pro SŠ

Tvorba fotogalerie v HTML str.1

Pracovní prostředí Word 2003 versus Word 2010

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

HTML. ICT_01., 02. konzultace; 2. ročník 1/6

WEBOVÉ STRÁNKY

Easycars Aplikace pro správu autobazaru

Stručný návod k programu Octave

Stručný návod k HTML editoru v CMS Portia 4

Informace o nové úpravě systému ASJA (leden 2015)

MS Windows 7. Milan Myšák. Příručka ke kurzu. Milan Myšák

HiPath 3000/4000/5000 opticlient 130 V5.0. Zkrácený návod k použití

9 Úprava maker Příklad 4 Word 2007/ VBA

Stručný manuál pro webový editor. Ukládáni základních informací, tvorba menu

ČESKY. Macro Key Manager Návod k použití

HTML - Úvod. Zpracoval: Petr Lasák

OFF - LINE. PRO ZAČÁTEČNÍKY Zdroje textů a obrázků

Uživatelská příručka

NASTAVENÍ PROGRAMU EVIDENCE AUTOBAZARU PRO OS VISTA, WIN7 a WIN8 LOKÁLNÍ INSTALACE (PRO 1 POČÍTAČ)

Nástrojová lišta v editačním poli

Uživatelské příkazy: false - dialog ukončen IDCANCEL. Vytvoří nové okno. title - titulek okna

UniLog-D. v1.01 návod k obsluze software. Strana 1

TAXexpert5 modul Kartotéka II. - nastavení

Software pro úpravu snímků LAB-10. Návod k obsluze

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Jak obnovit ztraceny dokumentu

Softwarová konfigurace PC

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-214. Internetový prohlížeč

MIDAM Verze 1.1. Hlavní okno :

MIDAM Simulátor Verze 1.5

WEBOVÉ STRÁNKY

Základní nastavení textového editoru Word 8.0 (Microsoft Office 97)

JLIP VIDEO CAPTURE/ JLIP VIDEO PRODUCER

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Radek Havlík [ÚLOHA 32 ODKAZY A TEXTY]

Nápověda k aplikaci GraphGUI

Testovací protokol čipová karta ACOS5

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST]

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu

Informační a komunikační technologie pro učební obory ME4 a SE4. Makra

Transkript:

PEXESO Hra Pexeso je psána pomocí příkazů Javascriptu a standardních příkazů HTML. Hra je vytvořena na základě známého pexesa. Úkolem hráče je najít 2 stejné karty (nebo 2 karty se stejnou tématikou ve verzi hry Pexeso mix). Hráč zobrazí dvojici karet kliknutím myši. Pokud si symboly karet odpovídají, zůstanou zobrazené, pokud ne, otočí se zase nazpět. Hru spouští tlačítkem Start, zatavit ji může tlačítkem Stop. Hráč si před spuštěním hry může nastavit úroveň 0-9, určuje tím dobu zobrazení dvojice karet. V průběhu hry se také průběžně zobrazuje čas hry, počet pokusů a počet nalezených dvojic. Obě varianty hry zobrazují počítačovou tématiku volný software a placený software. Ve variantě Pexeso hráč hledá stejné symboly, ve variantě Pexeso mix musí k odpovídajícímu placenému software najít software volný (nebo naopak), který má stejné zaměření. (např. K placenému textovému editoru Microsoft Word textový editor Open Office Writer, který je volný open source) Tlačítko Teachers Guide obsahuje odkaz na stručný popis hry a její účel v projektu Ingot. Stažení hry Hru je možné zkopírovat a upravit dle vlastních znalostí: Pravým tlačítkem myši se zobrazí menu, ze kterého je nutné zvolit Zobrazit zdrojový kód (Text se může mírně lišit podle používaného prohlížeče. Předchozí text platí pro Internet Explorer. Pro Mozillu Firefox je to text Zobrazit zdrojový kód stránky. )

Pomocí standardních příkazů OS Windows se text označí (př. kombinace kláves CTRL+A) a zkopíruje do schránky. (př. kombinace kláves CTRL+C) V libovolném textovém editoru, který umí pracovat s prostým textem (např. Notepad, který je součástí OS Windows)se otevře nový soubor a text se do něj ze schránky vloží.(př. kombinace kláves CTRL+V) Název souboru je libovolný, ale musí se uložit s příponou html nebo htm (standardní přípona souboru pro web) Kód Javascriptu Javascriptový kód je uložen odděleně v souboru pexeso.js. Dá se stáhnout, tak, že v adresním řádku prohlížeče se smaže pexeso.htm (popř. pexeso1.htm) a nahradí pexeso.js Další nutnou součástí hry jsou obrázky. Jsou uloženy v podsložce images. Seznam je následující: Společné obrázky: 0.gif, 1.gif, 2.gif, 3.gif, 4.gif, 5.gif, 6.gif, 7.gif,, 8.gif, 9.gif, 10.gif obrázky číslic a pozadí plusminus1.gif, plusminus2.gif, plusminus3.gif, plusminus4.gif obrázky symbolu plus a mínus startstop1.gif, startstop2.gif, startstop3.gif, startstop4.gif obrázky tlačítek start a stop attempts.gif, found.gif, level.gif, s.gif, time.gif obrázky nápisů blank.gif, obrázek pozadí card.png, obrázek rubu karty Karty pro variantu pexeso pic1.jpg, pic2.jpg, pic3.jpg, pic4.jpg, pic5.jpg, pic6.jpg, pic7.jpg, pic8.jpg obrázky karet pro variantu pexeso Karty pro variantu pexeso mix pic1a.jpg, pic2a.jpg, pic3a.jpg, pic4a.jpg, pic5a.jpg, pic6a.jpg, pic7a.jpg, pic8a.jpg pic1b.jpg, pic2b.jpg, pic3b.jpg, pic4b.jpg, pic5b.jpg, pic6b.jpg, pic7b.jpg, pic8b.jpg obrázky karet pro variantu pexeso mix. Obrázky se dají stáhnout, tak, že v adresním řádku prohlížeče se smaže pexeso.htm (popř. pexeso1.htm) a nahradí př. images/0.gif ( př. www.ingot.org/javascript/domino/pexeso.htm na www.ingot.org/javascript/pexeso/images/0.gif ) Po odklepnutí klávesou Enter se zobrazí výzva k uložení souboru. Soubor je nutno uložit pod stejným názvem i příponou do stejné složky s předchozím souborem.

Obrázek je také nutné uložit do podsložky images, kterou je nutné vytvořit. Správnou funkci všech stažených komponent hry lze ověřit přímým spuštěním souboru pexeso.htm (nebo pexeso1.htm) Výměna obrázků Obrázky ve hře lze nahradit vlastními. Lze nahradit i pozadí za těchto podmínek. - obrázky musí mít stejný název a typ (Zkušenější programátoři mohou použít jiný typ obrázku za předpokladu, že názvy obrázků upraví ve zdrojovém kódu, bude popsáno níže.) - pozadí hry je pouze vzorek, který skládá pozadí ze svých opakujících se částí - pozadí musí mít průhledné (transparentní) pozadí (popis této vlastnosti je mimo rozsah tohoto návodu a je možné jej najít na internetu) - obrázky musí mít stejnou délku a šířku v pixelech (popis této vlastnosti je opět mimo rozsah tohoto návodu a je možné jej najít na internetu) Změna názvu složky, použití jiných formátů obrázků Pokud je nutné použít jiné typy obrázků nebo podsložku, kde jsou uloženy je nutné je patřičně upravit v souboru pexeso.htm. Tato činnost je určena zkušenějším programátrům. V souboru pexeso.js je nutné najít řádek: var IMG_PATH = "images/"; Výraz v závorce lze nahradit libovolným adresářem, kde se budou obrázky nacházet. Adresář musí být samozřejmě podadresářem složky, kde se nachází soubory pexeso.htm (popř. pexeso1.htm) a pexeso.js Všude v kódu, kde se vyskytuje výraz gif je nutné tento výraz nahradit vlastním. Gif je formát použitých obrázků. Lze nahradit např. formátem png nebo jpg (kromě pozadí, které musí být transparentní - popis těchto vlastností je mimo rozsah tohoto návodu a je možné jej najít na internetu) Stručný popis funkcí hry v jazyce Javascript Hra je, jak bylo již uvedeno výše napsána pomocí Javascriptu a příkazů HTML. Přímo v kódu jsou uvedeny v komentářových řádcích stručné nápovědy jednotlivých funkcí a prvků a popisy proměnných. K pochopení funkce je nutné zvládnout základy Javascriptu a HTML.

Html kód zajišťující zobrazení grafických prvků textu, odkazů a tlačítek je obsažen v souboru pexeso.htm (popř. pexeso1.htm u varianty mix) Kód Javascriptu: Definice proměnných // Game settings, check out pexeso.htm (line 8) // <body bgcolor="#ffff99" onload="loadimages(8, 0, 0);"> // // -- highscore mode (js/php) // ----- game mode, see above // -------- count of image pairs // Nastavení varianty hry. Pro variantu pexeso je nastaven mód 0. (Nastavuje se v souboru pexeso.htm řádek: <BODY onload="loadimages(8, 0, 0);" >) Pro variantu pexeso mix je nastaven mód 1. (Nastavuje se v souboru pexeso1.htm řádek: <BODY onload="loadimages(8, 1, 0);" >) // game mode 0 : match of two identical pictures, // filenames pic1.jpg, pic2.jpg... // game mode 1 : match of two similar pictures, // filenames pic1a.jpg, pic1b.jpg, pic2a.jpg, pic2b.jpg... // Zde se nastavuje adresář pro obrázky var IMG_PATH = "images/"; // Path of the pictures var arrhighscore = new Array(); // Array of highscore objects var imgbackside = new Image(); // The backside of a card var imgarrstartstop = new Array(4); // Start and stop button var imgarrplusminus = new Array(4); // Plus and minus button var imgarrnumber = new Array(11); // Ciphers 0 to 9 var brunning = false; // State of the game var nlevel = 4; // Speed level var nseconds = 0; // Duration of the game in seconds var nattempts = 0; // Number of attempts var nhit = 0; // Number of hits var nselected1 = -1; // First selected picture var nselected2 = -1; // Second selected picture var bshowcard = false; // State of the card (uncovered or not) var strplayername = "xxx"; // Name of player for highscore

var strdate = ""; // Date for highscore var npoints = 0; // Points for highscore var bcookies = false; // Are cookies enabled var nhighscoremode = 0; // 0=Cookies 1=PHP var IMG_START, IMG_STOP, IMG_PLUS, IMG_MINUS; var IMG_LEVEL, IMG_SEC, IMG_ATTEMPTS, IMG_HIT; var IMG_OFFSET, IMG_MODE, imgarrfield, nimages, nsumimages; Funkce zajišťující nahrání obrázků * Preload of images function loadimages(npairs, nimagemode, nscoremode) nhighscoremode = nscoremode; IMG_MODE = nimagemode; nimages = npairs; imgarrfield = new Array(nImages * 2); nsumimages = nimages * 2 + 4 + 4 + 11; IMG_START = 2 + nimages * 2; IMG_STOP = 4 + nimages * 2; IMG_PLUS = 12 + nimages * 2; IMG_MINUS = 8 + nimages * 2; IMG_LEVEL = 10 + nimages * 2; IMG_SEC = 17 + nimages * 2; IMG_ATTEMPTS = 25 + nimages * 2; IMG_HIT = 33 + nimages * 2; imgbackside.src = IMG_PATH + "card.png"; // Load start and stop button for(var i = 0; i < 4; i++) imgarrstartstop[i] = new Image(); imgarrstartstop[i].src = IMG_PATH + "startstop" + (i + 1) + ".gif"; // Load plus and minus button for(var i = 0; i < 4; i++) imgarrplusminus[i] = new Image(); imgarrplusminus[i].src = IMG_PATH + "plusminus" + (i + 1) + ".gif";

// Load ciphers for(var i = 0; i < 11; i++) imgarrnumber[i] = new Image(); imgarrnumber[i].src = IMG_PATH + i + ".gif"; // Load pictures for(var i = 0; i < nimages; i++) if(img_mode == 1) imgarrfield[i * 2] = new Image(); imgarrfield[i * 2].src = IMG_PATH + "pic" + (i + 1) + "a.jpg"; imgarrfield[i * 2 + 1] = new Image(); imgarrfield[i * 2 + 1].src = IMG_PATH + "pic" + (i + 1) + "b.jpg"; else IMG_MODE = 0; imgarrfield[i * 2] = new Image(); imgarrfield[i * 2].src = IMG_PATH + "pic" + (i + 1) + ".jpg"; imgarrfield[i * 2 + 1] = new Image(); imgarrfield[i * 2 + 1].src = IMG_PATH + "pic" + (i + 1) + ".jpg"; nlevel = 4; nseconds = 0; nattempts = 0; nhit = 0; searchfirstimage(); clearfield(); updateall(); settimeout("checkloading()", 1000) Funkce zajišťující zamíchání karet * Shuffle all pictures function shuffle() // Swap two pictures (random index)

var j = Math.floor(new Date().getSeconds() * Math.random() + 60); for(var i = 0; i < j; i++) n1 = Math.round(Math.random() * (nimages * 2-1)); n2 = Math.round(Math.random() * (nimages * 2-1)); img = imgarrfield[n1]; imgarrfield[n1] = imgarrfield[n2]; imgarrfield[n2] = img; Start hry * Start new game function startgame() if(!brunning) shuffle(); clearfield(); nseconds = 0; nselected1 = -1; nselected2 = -1; nattempts = 0; nhit = 0; id = setinterval("countseconds()", 1000) brunning = true; bshowcard = false; updateall(); Zastavení hry * Stop game function stopgame() if(brunning) clearinterval(id);

brunning = false; updateall(); return; Počitadlo času * Count seconds function countseconds() nseconds++; shownumber(nseconds, IMG_SEC + IMG_OFFSET, 5); Funkce zajišťující zobrazení čísel * Show numbers function shownumber(nnumber, nposition, ncount) nnumber += ""; while(nnumber.length < ncount) nnumber = " " + nnumber; for(var i = 0; i < ncount; i++) var n = nnumber.charat(i); if(n == " ") document.images[nposition + i].src = imgarrnumber[10].src; else document.images[nposition + i].src = imgarrnumber[n].src; Funkce zajišťující zobrazení rubu karet * Set the backside of all cards function clearfield()

for(var i = 0; i < nimages * 2; i++) document.images[i + IMG_OFFSET].src = imgbackside.src; Funkce zajišťující zobrazení zvolených karet * Show card function showcard(nimage) if(brunning &&!bshowcard) // Uncover a card, if not allready two are selected if(nselected1 == -1 nselected2 == -1) // Is the clicked not uncovered? if(document.images[nimage + IMG_OFFSET].src == imgbackside.src) // Uncover selected card document.images[nimage + IMG_OFFSET].src = imgarrfield[nimage].src; if(nselected1 == -1) nselected1 = nimage; else nselected2 = nimage; // There are two cards uncovered if(nselected1!= -1 && nselected2!= -1) shownumber(++nattempts, IMG_ATTEMPTS + IMG_OFFSET, 5); // Are the cards equal? var pic1 = document.images[nselected1 + IMG_OFFSET].src; var len1 = pic1.length; var pic2 = document.images[nselected2 + IMG_OFFSET].src; var len2 = pic2.length;

if(pic1.substr(0, len1 - IMG_MODE - 4) == pic2.substr(0, len2 - IMG_MODE - 4)) // If there are equal, incement the counter shownumber(++nhit, IMG_HIT + IMG_OFFSET, 5); nselected1 = -1; nselected2 = -1; // Are all pictures uncovered? if(nhit == nimages) stopgame(); npoints = Math.round(100000 * (nlevel + 1) / nseconds / nattempts); strmsg = "Tvoje skˇre je " + npoints + " bod."; window.alert(strmsg); else // The two cards are not identical, start now the timer for hide the cards bshowcard = true; settimeout("clearcard()", 2000 - nlevel * 200); else if(!brunning) alert("press key Start!"); Otočí zpět karty, které nejsou stejné * Turn the uncovered cards function clearcard() document.images[nselected1 + IMG_OFFSET].src = imgbackside.src; document.images[nselected2 + IMG_OFFSET].src = imgbackside.src; nselected1 = -1; nselected2 = -1; bshowcard = false;

Funkce zajišťující nastavení úrovně * Set the level function setlevel(nvalue) if(document.images &&!brunning) nlevel += nvalue; if(nlevel < 0) nlevel = 0; if(nlevel > 9) nlevel = 9; shownumber(nlevel, IMG_LEVEL + IMG_OFFSET, 1); Aktualizace všech počitadel * Update all counter function updateall() shownumber(nlevel, IMG_LEVEL + IMG_OFFSET, 1); shownumber(nseconds, IMG_SEC + IMG_OFFSET, 5); shownumber(nattempts, IMG_ATTEMPTS + IMG_OFFSET, 5); shownumber(nhit, IMG_HIT + IMG_OFFSET, 5); if(brunning) document.images[img_start + IMG_OFFSET].src = imgarrstartstop[1].src; document.images[img_stop + IMG_OFFSET].src = imgarrstartstop[2].src; document.images[img_plus + IMG_OFFSET].src = imgarrplusminus[1].src; document.images[img_minus + IMG_OFFSET].src = imgarrplusminus[3].src; else document.images[img_start + IMG_OFFSET].src = imgarrstartstop[0].src; document.images[img_stop + IMG_OFFSET].src = imgarrstartstop[3].src; document.images[img_plus + IMG_OFFSET].src = imgarrplusminus[0].src; document.images[img_minus + IMG_OFFSET].src = imgarrplusminus[2].src;

Odstranění mezer ze slova * Remove all white spaces function strtrim(str) var strreturn = ""; for(var i = 0; i < str.length; i++) if(str.charat(i)!= " ") strreturn += str.charat(i); return strreturn; Nastaví počáteční nuly * Add leading zero function addleadingzero(value, ntotallength) value += ""; while(value.length < ntotallength) value = "0" + value; return value; Hledá index první karty * Search for index of first image function searchfirstimage() for(var i = 0; i < document.images.length; i++) if(document.images[i].name == "memory_id") IMG_OFFSET = i + 1; break;

Počitadlo nahraných karet * Count of preloaded images function countloadedimages() var ncompleted = 0; for(var i = 0; i < 2 * nimages; i++) if(imgarrfield[i].complete) ncompleted++; //else alert(imgarrfield[i].src); for(var i = 0; i < 4; i++) if(imgarrstartstop[i].complete) ncompleted++; //else alert(imgarrstartstop[i].src); for(var i = 0; i < 4; i++) if(imgarrplusminus[i].complete) ncompleted++; //else alert(imgarrplusminus[i].src); for(var i = 0; i < 11; i++) if(imgarrnumber[i].complete) ncompleted++; //else alert(imgarrnumber[i].src); return ncompleted; Indikace nahrávání obrázků * Progressbar (state of preloading images) function checkloading() var nloaded = countloadedimages();

if(nloaded < nsumimages) document.images[img_offset - 1].width = 456 - (456 / nsumimages * nloaded); window.status = "" + nloaded + " of " + nsumimages + " pictures loaded"; settimeout("checkloading()", 250); else document.images[img_offset - 1].src = IMG_PATH + "blank.gif"; document.images[img_offset - 1].width = 5; window.status = ""; updateall();