Quellcode
<STYLE type="text/css">
td
{
height:15px;
width:15px;
background-color:#87AC3B;
}
</STYLE> <SCRIPT type="text/javascript">
var i; Richtung = '+1'; var block = 0; var zuEnde = 0; var Zelle; var Countdown = 3; var Leckerli; var Level = 0; var Fruechte; var blah, fnord = false; var Snake = new Array(); var Kopf; function Tastendruck(Druck)
{
if (document.all) k = window.event.keyCode;
else k = Druck.which;
if (k == 37 && !block && Richtung != '+1')
{
Richtung = '-1';
block = 1;
}
if (k == 38 && !block && Richtung != '+20')
{
Richtung = '-20';
block = 1;
}
if (k == 39 && !block && Richtung != '-1')
{
Richtung = '+1';
block = 1;
}
if (k == 40 && !block && Richtung != '-20')
{
Richtung = '+20';
block = 1;
}
} var C3 = [...];
var C2 = [...];
var C1 = [...];
var Smiley = [...];
var Frowny = [...];
var Jubel1 = [...];
var Jubel2 = [...]; var Wall0 = [];
var noFruit0 = [];
var Wall1 = [...];
var noFruit1 = [...];
var Wall2 = [...];
var noFruit2 = [...];
.
.
.
var Wall13 = [...];
var noFruit13 = [...];
var Wall14 = [...];
var noFruit14 = [...]; function Start()
{ document.getElementById('nG').style.visibility = 'hidden';
document.getElementById('Level').firstChild.nodeValue = 'Level ' + (Level + 1);
block = 1; if (Countdown && !fnord)
{
reset();
for (i = 0; i < eval('C' + Countdown).length; i++)
{
Zelle = 'Zelle' + eval('C' + Countdown)[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
Countdown--;
setTimeout("Start()", 1000);
} else if (!fnord)
{
reset();
Fruechte = 10;
document.getElementById('frucht').value = Fruechte; while (Snake[0]) Snake.pop();
Snake.push(198, 199, 200, 201, 202, 203, 204, 205, 206);
Kopf = 206; block = 0;
zuEnde = 0;
Richtung = '+1';
Happen();
Hindernisse();
document.getElementById('pause').style.visibility = 'hidden';
Verlauf();
}
} function Pause()
{
fnord = !fnord;
if (fnord) document.getElementById('pause').value = "Weiter";
else document.getElementById('pause').value = "Pause";
Countdown = 3;
Start();
} function Happen()
{
Leckerli = Math.floor((Math.random() * 1000) % 220);
for (i = 0; i < Snake.length; i++)
{
if (Leckerli == Snake[i]) Happen();
}
for (i = 0; i < eval('Wall' + Level).length; i++)
{
if (Leckerli == eval('Wall' + Level)[i]) Happen();
}
for (i = 0; i < eval('noFruit' + Level).length; i++)
{
if (Leckerli == eval('noFruit' + Level)[i]) Happen();
}
document.getElementById('Zelle' + Leckerli).style.backgroundColor = 'red';
} function Hindernisse()
{
for (i = 0; i < eval('Wall' + Level).length; i++)
{
document.getElementById('Zelle' + eval('Wall' + Level)[i]).style.backgroundColor = '#444444';
}
} function Verlauf()
{ Kopf = eval(Kopf + Richtung);
if (Kopf < 0 || Kopf > 219 || (!(Kopf%20) && Richtung == '+1') ||
(!((Kopf+1)%20) && Richtung == '-1')) zuEnde = 1;
for (i = 1; i < Snake.length; i++)
{
if (Kopf == Snake[i]) zuEnde = 1;
}
for (i = 0; i < eval('Wall' + Level).length; i++)
{
if (Kopf == eval('Wall' + Level)[i]) zuEnde = 1;
} if (!zuEnde)
{
if (Kopf != Leckerli)
{
blah = Snake.shift();
Snake.push(Kopf);
}
else
{
Fruechte--;
document.getElementById('frucht').value = Fruechte;
Snake.push(Kopf);
Happen();
} Schlange_malen(); if (Fruechte)
{
block = 0;
setTimeout("Verlauf()",300);
} else
{
Smiley_malen();
block = 1;
Level++;
if (Level == 15) setTimeout("Jubel(1)",500);
else
{
Countdown = 3;
if (!fnord) setTimeout("Start()",2000);
}
}
} else
{
setTimeout("Frowny_malen()",500);
Countdown = 3;
}
} function Jubel(x)
{
document.getElementById('nG').style.visibility = 'visible';
reset();
if (x)
{
for (i = 0; i < Jubel1.length; i++)
{
Zelle = 'Zelle' + Jubel1[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
}
else
{
for (i = 0; i < Jubel2.length; i++)
{
Zelle = 'Zelle' + Jubel2[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
}
x++;
x %= 2;
setTimeout("Jubel("+x+")",150);
} function Smiley_malen()
{
reset();
document.getElementById('pause').style.visibility = 'visible';
for (i = 0; i < Smiley.length; i++)
{
Zelle = 'Zelle' + Smiley[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
zuEnde = 0;
} function Frowny_malen()
{
reset();
document.getElementById('nG').style.visibility = 'visible';
for (i = 0; i < Frowny.length; i++)
{
Zelle = 'Zelle' + Frowny[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
} function Schlange_malen()
{
Zelle = 'Zelle' + Snake[0];
document.getElementById(Zelle).style.backgroundColor = '#87AC3B';
for (i = 1; i < Snake.length; i++)
{
Zelle = 'Zelle' + Snake[i];
document.getElementById(Zelle).style.backgroundColor = 'black';
}
} function reset()
{
for (i = 0; i < 220; i++)
{
Zelle = 'Zelle' + i;
document.getElementById(Zelle).style.backgroundColor = '#87AC3B';
}
}
</SCRIPT> <H2 id="Level">Level 1</H2> <SCRIPT type="text/javascript">
document.onkeydown = Tastendruck; var Zeilen, Spalten;
var Index = 0;
document.write('<TABLE cellspacing="0" cellpadding="0">');
for (Zeilen = 0; Zeilen < 11; Zeilen++)
{
document.write('<TR>');
for (Spalten = 0; Spalten < 20; Spalten++)
{
document.write('<TD id="Zelle' + Index + '"><\/TD>');
Index++;
}
document.write('<\/TR>');
}
document.write('<\/TABLE>');
</SCRIPT> <INPUT type="text" id="frucht" value="0" size="3"> <INPUT type="button" id="nG" value="New Game" onClick="this.blur(); Level=0; Start(); ">
<INPUT type="button" id="pause" value="Pause" onClick="this.blur(); Pause(); "> |
Im CSS-Teil des Skripts wird die Hintergrundfarbe des Schlangenbehälters und die Größe einer Zelle bestimmt: