Stránka 1 z 1

Javascript

Napsal: 07 čer 2017 21:32
od DavidPCnoob
Zdravím dostal jsem domácí úkol z programování mám za úkol ve zdrojovém kodu najít javascriptové funkce a vypsat co dělají bohužel můj mozek tohle naprosto nepobírá a tak na to marně koukám už dost dlouho a do dnešní půlnoci musím úkol odevzdat je mi jasný, že o to asi nikdo nemá moc zájem zde ale jelikož jak se říká ani kuře zadarmo nehrabe tak jsem ochotný za to nabídnout nějakou odměnu kterou si vybere milosrdná duše co mi pomůže... přikládám zdrojový kod...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>

<head>
<title>Clovece nezlob se</title>

<style type="text/css">
body {
background: #80d5e4;
behavior: url("csshover.htc")
}

input {
text-align: center
}

#ii {
margin-top: 4em
}

#vkostka {
padding: 0 0.4em
}

#plocha {
font-family: "Helvetica", "Verdena", "Arial";
font-size: 20px;
padding: 10px;
margin: 0 auto;
width: 320px;
background: #ccccd5;
border: 2px solid #000000
}

th b {
display: block;
color: #ffffff;
background: #ffffff;
border: 2px solid #404040;
-moz-border-radius: 14px;
cursor: default
}

#plocha td,
#plocha th,
#plocha th b {
width: 24px;
height: 24px
}

.zn1,
.zn2,
.zn3,
.zn4 {
cursor: pointer !important
}

.zn1:hover,
.zn2:hover,
.zn3:hover,
.zn4:hover {
color: #000000;
border-color: #000000
}

.po1 b {
background: #00d500;
color: #00d500
}

.po2 b {
background: #e7e700;
color: #e7e700
}

.po3 b {
background: #60b0f0;
color: #60b0f0
}

.po4 b {
background: #ff8040;
color: #ff8040
}

.zn {}

.zn1,
b.zn1 {
background: #80ff80;
color: #008000;
border-color: #00b000
}

.zn2,
b.zn2 {
background: #ffff80;
color: #808000;
border-color: #b0b000
}

.zn3,
b.zn3 {
background: #80d5ff;
color: #004080;
border-color: #0080b0
}

.zn4,
b.zn4 {
background: #ff9090;
color: #900000;
border-color: #b06060
}
</style>

<script type="text/javascript">
// Original: FREE 2005 Peter Mlich http://www.volny.cz/peter.mlich/
// Error: x [Help 4], ja vim, neni to nijak prepychove...

function objGet(x) {
var d = document;
if (typeof x == 'string')
x = d.getElementById ? d.getElementById(x) : d.all ? d.all[x] : d.layers ? d.layers[x] : null;
return x;
}

function obji(x, z) {
objGet(x).innerHTML = z
}

function objv(x, z) {
objGet(x).value = z
}

function objc(x, z) {
objGet(x).className = z
}

function getch(x) {
return objGet(x).checked
}

function getv(x) {
return objGet(x).value
}

var dplocha = new Array(
6, 6, 0, 0, 1, 1, 7, 0, 0, 7, 7,
6, 6, 0, 0, 1, 7, 1, 0, 0, 7, 7,
0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0,
6, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1,
1, 6, 6, 6, 6, 0, 8, 8, 8, 8, 1,
1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 8,
0, 0, 0, 0, 1, 9, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 9, 1, 0, 0, 0, 0,
9, 9, 0, 0, 1, 9, 1, 0, 0, 8, 8,
9, 9, 0, 0, 9, 1, 1, 0, 0, 8, 8);
var iplocha = new Array(0, 11, 11);
var eplocha = new Array(
45, 46, 0, 0, 9, 10, 11, 0, 0, 55, 56,
47, 48, 0, 0, 8, 51, 12, 0, 0, 57, 58,
0, 0, 0, 0, 7, 52, 13, 0, 0, 0, 0,
0, 0, 0, 0, 6, 53, 14, 0, 0, 0, 0,
1, 2, 3, 4, 5, 54, 15, 16, 17, 18, 19,
40, 41, 42, 43, 44, 0, 64, 63, 62, 61, 20,
39, 38, 37, 36, 35, 74, 25, 24, 23, 22, 21,
0, 0, 0, 0, 34, 73, 26, 0, 0, 0, 0,
0, 0, 0, 0, 33, 72, 27, 0, 0, 0, 0,
75, 76, 0, 0, 32, 71, 28, 0, 0, 65, 66,
77, 78, 0, 0, 31, 30, 29, 0, 0, 67, 68);
var polehry = new Array(80)
var zn = new Array(" ", "O", "1", "2", "3", "4", "o", "o", "o", "o")
var pl = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
var pl1 = new Array(0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3)
var hracu = 0
var hraje = 0
var hod = 0
var ksok = false

function mrizka(cislo) {
var w, x, y, e, z, a, b, c, xm, ym, i, j, k;
e = cislo * 3;
w = iplocha[e]
xm = iplocha[e + 1]
ym = iplocha[e + 2]
var tt = '<table cellpadding="0" cellspacing="1">\n';
for (y = 0; y < ym; y++) {
tt += '<tr>\n';
for (x = 0; x < xm; x++) {
a = y * xm + x
z = dplocha[w + a];
i = eplocha[w + a];
j = (z > 0) ? ' onclick="hraj(' + i + ')"' : '';
k = (z > 5) ? ' class="po' + (z - 5) + '"' : ''
if (z > 0) tt += '<th' + j + k + '><b id="p' + i + '">' + zn[z] + '<\/b><\/th>\n'
else tt += '<td><\/td>'
}
tt += '<\/tr>\n';
}
tt += '<\/table>';
obji('plocha', tt);
}

function resetpole() {
var i;
for (i = 0; i < 80; i++) polehry[i] = 99;
mrizka(0);
for (i = 0; i < 16; i++) pl[i] = 0
}

function ksc(z) {
objc("vkostka", "zn" + z)
}

function ksv(z) {
objv("vkostka", z)
}

function ksx() {
obji("kostkax", (pl1[4 + hraje] - 1) + "x")
}

function kostka2() {
var a, b;
b = 4 + hraje;
a = pl1[b];
a--;
pl1[b] = a;
ksx();
if (a < 1) kostka1()
}

function kostka1() {
var a = hraje;
pl1[4 + a] = pl1[8 + a];
a++;
if (a >= hracu) a = 0;
ksc(pl1[a]);
ksx();
ksok = false;
hraje = a
}

function kostka() {
if (!ksok) {
if (hod != 0) kostka2();
var a, b, i, j, k;
b = 0;
for (i = 0; i < 8; i++) {
k = Math.floor(Math.random() * 9) + 1;
for (j = 0; j < k; j++) a = Math.floor(Math.random() * 6) + 1;
b += a;
if (a != 6) i = 8
};
if (b > 49) b = 0;
hod = b;
if (b > 6) b = ">" + b + "<";
ksv(b)
}
}

function smazznacku(x) {
obji("p" + x, zn[1]);
objc("p" + x, "");
polehry[x] = 99
}

function pisznacku(x, z1, z2) {
obji("p" + x, zn[(z1 + 1)]);
objc("p" + x, "zn" + z1);
polehry[x] = z2 + 1
}

function hraj(ktere) {
var a, b, c, d, e, f, g, h, i, k;
var t = u = false
k = ktere
b = polehry[k] - 1;
d = b & 0xFC;
e = (d >> 2)
c = pl[b] + hod
if ((e + 1) == pl1[hraje]) {
//posun
if ((k < 44) || ((k > 50) && (k < 54)) || ((k > 60) && (k < 64)) || ((k > 70) && (k < 74))) {
a = k + hod
if ((b >= 0) && (c < 45)) {
a = (a > 40) ? a - 40 : a;
if (c > 40) a = e * 10 + c;
h = polehry[a] - 1;
f = h & 0xFC
if (f != d) {
hod = 0;
ksv(hod);
t = u = true
}
}
}
//nasazeni
else {
if (hod > 6) {
a = e * 10 + 1;
h = polehry[a] - 1;
f = h & 0xFC;
if (f != d) {
hod -= 6;
ksv(hod);
t = true;
c = 1;
pl1[8 + hraje] = 1
}
}
}
}
if (t) {
// vyhozeni
if (h != 98) {
smazznacku(a);
f = (f >> 2);
for (i = 0; i < 4; i++) {
g = f * 10 + 45 + i;
if (polehry[g] == 99) {
pisznacku(g, f + 1, h);
pl[h] = 0;
i = 9
}
}
}
smazznacku(k);
pisznacku(a, e + 1, b);
pl[b] = c;
ksok = true
i = e * 4;
if ((pl[i] + pl[i + 1] + pl[i + 2] + pl[i + 3]) == 170) {
i = e + 1;
alert("Vyhral hrac " + i + " " + getv("jmhrac" + i) + " !!!");
ksok = false
}
}
if (u) kostka1()
}

function ppstart() {
var i, j, a, b;
resetpole();
for (i = 0; i < 4; i++) {
pl1[i] = 0
}
for (i = 4; i < 12; i++) {
pl1[i] = 3
}
i = 0
if (getch("vhrac1")) {
pl1[i] = 1;
i++
}
if (getch("vhrac2")) {
pl1[i] = 2;
i++
}
if (getch("vhrac3")) {
pl1[i] = 3;
i++
}
if (getch("vhrac4")) {
pl1[i] = 4;
i++
}
hraje = 0;
hracu = i;
j = 0;
if (i > 1) {
hod = 1;
ksv(0);
ksc(pl1[0]);
pl1[4] = 4;
ksok = false;
for (i = 0; i < 16; i++) {
a = pl1[j] - 1;
b = (i & 3);
if (a >= 0) pisznacku((45 + 10 * a + b), a + 1, a * 4 + b);
if (b == 3) j++
}
}
}

function init() {
ppstart()
}
</script>
</head>



<body onload="init()">

<center>

<form name="f" action="#">
<table>
<tr>
<th>
<h2>Clovece, nezlob se!</h2>
<div id="plocha"></div>
</th>
<th valign="top" width="100">
<p id="ii">
Kostka<br />
<i id="kostkax">3x</i>
<input type="button" value="0" onclick="kostka()" class="zn1" id="vkostka" />
</p>

<p> <input type="checkbox" id="vhrac1" /><input type="text" value="Peta" size="7" id="jmhrac1" class="zn1" />
<br /> <input type="checkbox" id="vhrac2" /><input type="text" value="Terezka" size="7" id="jmhrac2" class="zn2" />
<br /> <input type="checkbox" id="vhrac3" /><input type="text" value="nevim" size="7" id="jmhrac3" class="zn3" />
<br /> <input type="checkbox" id="vhrac4" /><input type="text" value="nevim" size="7" id="jmhrac4" class="zn4" />
<br /></p>

<p><input type="button" value="Start" onclick="ppstart()" /></p>

<p><input type="button" value="Help" id="napov" onclick="
var tt='';
tt+='Člověče, nezlob se'
tt+='\nPravidla:'
tt+='\n1. Hra pro 2-4 hracu'
tt+='\n2. Kostka>5 = nasazeni figurky + tah / tah'
tt+='\n3. Posun na pole s figurkou: moji = nelze, cizi = vyhozena'
tt+='\n4. Pokud lze posunout, musi se posunout'
tt+='\n5. Hra konci, pokud ma jeden z hracu vsechny figurky v domecku v rade'
tt+='\nOvladani: mouse'
tt+='\nNazvy: Los Raus Hier! , (Man, not to be angry!)'
tt+='\nPozn.: Ve Firefox a Mozille jsou policka kulata, pro Explorer by se museli pouzit obrazky'
alert(tt)" /></p>

</th>
</tr>
</table>
</form>

</center>

<p><sub>Test: Firefox 1.07, Explorer 6.0, Opera 8.0</sub></p>

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-8453291-23']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- (C)2000-2014 Gemius SA - gemiusAudience / mujweb.cz / Homepage -->
<script type="text/javascript">
<!--//--><![CDATA[//><!--
var pp_gemius_identifier = 'bP2a.0eEYzyqaXf3ZoFWPqQ_Ld8uuKccPaMvkuUkgcr.t7';
// lines below shouldn't be edited
function gemius_pending(i) {
window[i] = window[i] || function() {
var x = window[i + '_pdata'] = window[i + '_pdata'] || [];
x[x.length] = arguments;
};
};
gemius_pending('gemius_hit');
gemius_pending('gemius_event');
gemius_pending('pp_gemius_hit');
gemius_pending('pp_gemius_event');
(function(d, t) {
try {
var gt = d.createElement(t),
s = d.getElementsByTagName(t)[0],
l = 'http' + ((location.protocol == 'https:') ? 's' : '');
gt.setAttribute('async', 'async');
gt.setAttribute('defer', 'defer');
gt.src = l + '://spir.hit.gemius.pl/xgemius.js';
s.parentNode.insertBefore(gt, s);
} catch (e) {}
})(document, 'script');
//--><!]]>
</script>
</body>

</html>