Kleines Zahlenspiel

  • Ziel dieses Spiels ist es, alle Werte auf Null zu setzen. Klicken Sie hierzu jeweils auf einen Button, hierbei wird der Wert des angeklickten sowie der vier umliegenden Felder um jeweils eins reduziert. Das Script funktioniert beim Internet Explorer und Netscape Navigator. Hier das Script: Zwischen <HEAD> und </HEAD>: <style type="text/css"> <!-- body { background-color: #EEEEEE; color: black } a { font-weight: bold } a:link { background-color: #EEEEEE; color: blue } a:visited { background-color: #EEEEEE; color: blue } a:active { background-color: #EEEEEE; color: blue } a:hover { background-color: white; color: maroon} input { font-family: monospace; font-size: 24px; border-left: 10px; border-right: 10px; border-color: silver; border-style: double } --> </style> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var Size = new Number(6); var Moves = new Array(); function NewGame() { for(i = 0; i < Size * Size; document.forms[0].elements[i++].value = 0); for(i = 0; i < 3 + 3 * document.forms[0].Difficulty.selectedIndex; i++) NewValue(Math.floor(Math.random() * Size),Math.floor(Math.random() * Size),1); Moves.length = document.forms[0].Score.value = 0; } function TakeBack(flag) { while(flag-- && (i = Moves.pop())) NewValue(parseInt(i.split("-")[0]),parseInt(i.split("-")[1]),1); document.forms[0].Score.value = Moves.length; } function Clicked(x,y) { NewValue(x,y,3); document.forms[0].Score.value = Moves.push(x + "-" + y); for(i = 0; i < Size * Size; i++) if(parseInt(document.forms[0].elements[i].value)) return; alert((Moves.length <= 3 + 3 * document.forms[0].Difficulty.selectedIndex ? "Perfect!" : "") + "Done in " + Moves.length + " clicks"); NewGame(); } function NewValue(x,y,c) { ChangeValue(x,y,c); ChangeValue(x - 1,y,c); ChangeValue(x + 1,y,c); ChangeValue(x,y - 1,c); ChangeValue(x,y + 1,c); } function ChangeValue(x,y,c) { if(x >= 0 && x < Size && y >= 0 && y < Size) with(document.forms[0].elements[x + Size * y]) value = (parseInt(value) + c) & 3; } // End --> </script> IN den <BODY> TagonLoad="NewGame()"zwischen <BODY> und </BODY> an die gewünschte Stelle<p><a href="" onClick="NewGame(); return false;" onMouseOver="window.status='Start a new game'; return true;" onMouseOut="window.status=''; return true;" title="Start a new game">New</a> - <a href="" onClick="TakeBack(-1); return false;" onMouseOver="window.status='Restart the board'; return true;" onMouseOut="window.status=''; return true;" title="Restart the board">Restart</a> - <a href="" onClick="TakeBack(1); return false;" onMouseOver="window.status='Undo last move'; return true;" onMouseOut="window.status=''; return true;" title="Undo last move">Undo</a></p> <form action="" method="get" enctype="application/x-www-form-urlencoded"> <script type="text/javascript"> <!-- for(y = 0; y < Size; y++,window.document.write("")) for(x = 0; x < Size; x++) window.document.write('<input type="button" value="" onClick="Clicked(' + x + ',' + y + ')">'); // --> </script> <p> Schwierigkeitsstufe: <select name="Difficulty" onChange="NewGame()"> <option>Huh, what ?</option> <option>Dumb</option> <option>Real easy</option> <option>Easy</option> <option selected>Normal</option> <option>Hard</option> <option>Real hard</option> <option>Master</option> <option>Impossible</option> </select> </p> <p>Anzahl Klicks: <input type="text" name="Score" value="0" size="3" disabled></p> </form>