document.write("");var poc_paths = new Array("http://cnt1.pocitadlo.cz/g/3/0.jpg", "http://cnt1.pocitadlo.cz/g/3/1.jpg", "http://cnt1.pocitadlo.cz/g/3/2.jpg", "http://cnt1.pocitadlo.cz/g/3/3.jpg", "http://cnt1.pocitadlo.cz/g/3/4.jpg", "http://cnt1.pocitadlo.cz/g/3/5.jpg", "http://cnt1.pocitadlo.cz/g/3/6.jpg", "http://cnt1.pocitadlo.cz/g/3/7.jpg", "http://cnt1.pocitadlo.cz/g/3/8.jpg", "http://cnt1.pocitadlo.cz/g/3/9.jpg"); var poc_vyska = 25; poc_sirka = 25; cislo = '0000001'; // Vyska a sirka obrazku s cisly a pak cislo, ktere se ma natocit. var poc_timer = 30; // udava interval, po kterem se posouva pocitadlo [setInterval("", poc_timer)] var poc_sdtimer = 30; // zpomalujeme, jaky interval bude ted? var poc_sdspeed = 4; // rychlost zastaveni; Pokud je 2*poc_vyska, dojde k okamzitemu zaražení cisilka (ale tak do poc_vyska/2 to vypada jako by se okamzite zarazilo taky). Při číslech pod 2 to zabrzdí moc rychle a nedotočí se to ani výsledek - minimum budiž 2. Maximum asi poc_vyska*2, ale hezké zpomalení je tak do poc_vyska/4 var poc_sdafter = Math.floor(400 / poc_timer); // V milisekundach, za jak dlouho se zastavi prvni cisilko. Pricitan nahodny faktor, muze ovlivnit +- polovina daneho casu (1000ms tedy muze nejdrive skoncit po 500ms a nejpozdeji po 1500ms) var poc_sdinterval = Math.floor(200 / poc_timer); // V milisekundach, za jak dlouho po sobe se maji cisilka zastavovat. Pricitan nahodny faktor, muze ovlivnit +-(minula_hodnota/2) // Main code follows ... var poc_q1 = Math.round(poc_vyska / 4), poc_q2 = Math.round(poc_vyska / 2), poc_q3 = Math.round(poc_vyska * 3 / 4); var poc_cntr = 0, poc_len = cislo.length; poc = new Array(), pozice = new Array(), fining = new Array(), finingi = new Array(), finingy = new Array(), poc_toceni = null; for(poci = 0; poci < poc_len; poci++) poc[poci] = new Array(); function pocready(t) { poc[Number(t.id.toString().charAt(4))][Number(t.id.toString().charAt(3))] = t; if(++poc_cntr == poc_len * 4) initit(); } function initit() { poc_cntr = 1; for(k = 0; k < poc_len; k++) pozice[k] = Math.floor(Math.random() * 16); poc_toceni = setInterval("tocime()", poc_timer); } function finish(i) { var divider = 1.2 - (poc_vyska / 200); if(fining[i] <= 0) { poc[i][2].style.pixelTop = fining[i]; poc[i][3].style.pixelTop = fining[i] + poc_vyska; } else { poc[i][1].style.pixelTop = fining[i] - poc_vyska; poc[i][2].style.pixelTop = fining[i]; } if((fining[i] += (finingy[i] /= divider)) >= poc_vyska - 1) { poc[i][1].style.pixelTop = 0; poc[i][2].style.pixelTop = poc_vyska; poc[i][3].style.pixelTop = poc_vyska; clearInterval(finingi[i]); if(!poc_toceni) return; for(z = 0; z < poc_len; z++) if(pozice[z] != -1) return; clearInterval(poc_toceni); poc_toceni = null; } } function tocime() { for(i = 0; i < poc_len; i++) if((p = pozice[i]) != -1) { switch(p % 4) { case 0: poc[i][p != 12 ? p / 4 + 1 : 0].style.pixelTop = -poc_vyska; poc[i][p / 4].style.pixelTop = 0; break; case 1: poc[i][Math.floor(p / 4)].style.pixelTop = -poc_q1; poc[i][p != 13 ? (p + 3) / 4 : 0].style.pixelTop = poc_q3; break; case 2: poc[i][Math.floor(p / 4)].style.pixelTop = -poc_q2; poc[i][p != 14 ? (p + 2) / 4 : 0].style.pixelTop = poc_q2; break; case 3: poc[i][Math.floor(p / 4)].style.pixelTop = -poc_q3; poc[i][p != 15 ? (p + 1) / 4 : 0].style.pixelTop = poc_q1; break; } if(--pozice[i] == -1) pozice[i] = 15; if(pozice[i] == 11 && poc_cntr * (Math.random() + 0.5) > poc_sdafter) { poc_cntr -= poc_sdinterval; pozice[i] = -1; fining[i] = -poc_vyska; finingy[i] = poc_sdspeed; finingi[i] = setInterval('finish(' + i + ');', poc_sdtimer); } } poc_cntr++; } // Write images to document ... document.write(''); for(i = 0; i < poc_len; i++) document.write(''); for(i = 0; i < poc_len; i++) document.write(''); for(i = 0; i < poc_len; i++) document.write('') for(i = 0; i < poc_len; i++) document.write('') document.write(''); document.write("");