»
EnglishFrenchVietnamese

Print - Button Mania - JavaScriptBank.com

Full version: jsB@nk » Game » Puzzle » Button Mania
URL: https://www.javascriptbank.com/button-mania.html

Button Mania © JavaScriptBank.comA simple but addictive 'set all buttons to 0' game. Should work in any CSS aware browser.

Full version: jsB@nk » Game » Puzzle » Button Mania
URL: https://www.javascriptbank.com/button-mania.html



CSS
<style type="text/css"><!--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><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->


JavaScript
<SCRIPT LANGUAGE="JavaScript">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!\n" : "") + "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;}</script><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->


HTML
<BODY onLoad="NewGame()"><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("<br>")) for(x= 0; x < Size; x++) window.document.write('<input type="button" value="" onClick="Clicked(' + x + ',' + y + ')">');// --></script><p>Difficulty setting: <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>Clicks used: <input type="text" name="Score" value="0" size="3" disabled></p></form><dl><dt>How to play:</dt><dd>Click on one of the buttons in the playing field<br>to decrement that button&#39;s value by 1,<br>as well as the values of the 4 surrounding ones.</dd><dt>Objective:</dt><dd>Set all buttons to &#39;0&#39;.</dd></dl></body><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->