Hej folkens
Er ved at lave et spil i javascript og jeg har efterhånden fået lavet et spil der fungere, nu kunne jeg så godt tænke mig at vide hvornår spilleren har gennemført spillet. Nogen der har en ide?
Her er min kode:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<HTML>
<HEAD>
<TITLE>Puslespil</TITLE>
<SCRIPT LANGUAGE="Javascript"><!--
//Sætter op standart sti, format, størrelse mm.
var bille_sti = "Have", billed_format = "jpg", spil_x = 4, spil_y = 4, goes = 0, moves = new Array();
var xstorrelse = 90, ystorrelse = 67;
var losbilled = false;
//I denne funktion opretter jeg en spilled plade med html kode, jeg giver hver billed et link til min javascript funktion der flytter dem.
function Opretspilleplade()
{
output = "<BR>";
output += "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>";
for (y=1; y<=spil_y; y++)
{
output += "<TR>";
for (x=1; x<=spil_x; x++)
{
output += "<TD>";
output += "<A HREF='Javascript:Spil(" + x + ", " + y + ")'>";
output += "<IMG BORDER='0' SRC='" + bille_sti + "/" + x + y + "." + billed_format + "' NAME='i" + x + y + "' WIDTH='" + xstorrelse + "' HEIGHT='" + ystorrelse + "'>";
output += "</A>";
output += "</TD>";
}
output += "</TR>";
}
output += "</TABLE>";
output += "<BR>";
document.write (output);
}
//Funktion der fanger det tomme billed
function Empty(x, y)
{
if (x > 0 && x <= spil_x && y > 0 && y <= spil_y)
{
image = eval ("document['i" + x + y + "'].src");
empty = window.location.href.substr(0, window.location.href.lastIndexOf("/")) + "/" + bille_sti + "/" + spil_x + spil_y + "." + billed_format;
if (image == empty)
return (true);
}
return (false);
}
//Laver rod i billederne, gammel x og gammel y deffineres af spil_x og spil_y, procent bruges til at deffinere hvor meget "rod" der skal laves
function Lavrod(gammel_x, gammel_y, procent)
{
for (count = 0; count < procent; count++)
{
do {
switch (Math.floor(Math.random() * 4))
{
case 0: try_x = gammel_x; try_y = gammel_y-1; break;
case 1: try_x = gammel_x-1; try_y = gammel_y; break;
case 2: try_x = gammel_x+1; try_y = gammel_y; break;
case 3: try_x = gammel_x; try_y = gammel_y+1; break;
}
played = DoSpil (try_x, try_y);
} while (!played)
gammel_x = try_x;
gammel_y = try_y;
}
}
function Spil(x, y)
{
DoSpil(x, y)
}
//funktion bruges nå spillet spilles, er den funktion der checker om et træk kan lade sig gøre og flytter dem hvis det kan
function DoSpil(x, y)
{
if (x <= 0 || x > spil_x || y <= 0 || y > spil_y)
return (false);
if (Empty (x, y-1)) {new_x = x; new_y = y-1; }
else if (Empty (x-1, y)) {new_x = x-1; new_y = y; }
else if (Empty (x+1, y)) {new_x = x+1; new_y = y; }
else if (Empty (x, y+1)) {new_x = x; new_y = y+1; }
else return (false);
empty = bille_sti + "/" + spil_x + spil_y + "." + billed_format;
old_image = eval ("document['i" + x + y + "'].src");
eval ("document['i" + new_x + new_y + "'].src = old_image");
eval ("document['i" + x + y + "'].src = empty");
if (!losbilled)
{
goes++;
moves[goes] = new Array();
moves[goes][1] = new_x;
moves[goes][2] = new_y;
}
return (true);
}
function losspil()
{
losbilled = true;
for (; goes > 0; goes--)
Spil (moves[goes][1], moves[goes][2]);
losbilled = false;
}
// ==== Javascript section end ============================================// -->
</SCRIPT>
</HEAD>
<BODY TOPMARGIN=0 onload="Lavrod(spil_x,spil_y,90)">
<font face="Tahoma,Arial,sans-serif" size=5 color="#0000ff">
Puslespil
</font>
<p>
<font face="Verdana,Arial,sans-serif" size=2 color="#000000">
Se om du kan finde den rigtigt placering til brikkerne
</font>
<p>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center" ROWS=5 WIDTH="100%">
<tr align="middle">
<td align="middle">
<SCRIPT LANGUAGE="Javascript">
<!--
Opretspilleplade();
// -->
</SCRIPT>
</td>
</tr>
</table>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center" ROWS=5 WIDTH="100%">
<tr align="right">
<td align="right">
<form name=form1>
<INPUT TYPE="button" NAME="Solve" onmousedown="losspil()" VALUE="Vis billede">
</FORM>
</td>
</tr>
</table>
<p>
<hr>
</BODY>
</HTML>
Hele spillet med code og billeder kan findes her:
http://www.it-info.dk/spil.zip