<table width="100%" cellpadding="10" cellspacing="10"> <tr><td align="center"> <table width="300" height="300" border="1" align="center" class="colorborder"> <tr><td colspan="10" id="v17idpoint" align="center" > point = 0 </td></tr> <script> for (var j=0; j<10; j++) { document.write('<tr>'); for (var i=0; i<10; i++) { document.write('<td width="36" height="36"><img id="v17imgfield'+eval(10*j+i)+'" src="/jgame/jssaper/num0.png" oncontextmenu="v17ClickFieldRight('+j+','+i+'); return false;" onclick="v17ClickField('+j+','+i+')" style="cursor:pointer;"></td>'); } document.write('</tr>'); } </script> <tr><td colspan="10" align="center"> <input type="button" onclick="v17SortClick()" value="старт" /> </td></tr> </table> </td></tr> </table> <script> var v17fieldBomb = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; var v17fieldOpen = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; var v17flagStart = true; var v17colpoint = 0; function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } function v17SortClick() { for (var i=0; i<100; i++) v17fieldOpen[i] = 0; v17createFieldBomb(); v17createFieldNum(); v17paintField(); v17flagStart = true; v17colpoint = 0; document.getElementById('v17idpoint').innerHTML = 'point = '+v17colpoint; } function v17paintField() { for (var i=0; i<100; i++) { if (v17fieldBomb[i] > 0) document.getElementById('v17imgfield'+i).src = "/jgame/jssaper/num"+v17fieldBomb[i]+".png"; } for (var i=0; i<100; i++) { if (v17fieldOpen[i] === 0) document.getElementById('v17imgfield'+i).src = "/jgame/jssaper/num0.png"; if (v17fieldOpen[i] === 2) document.getElementById('v17imgfield'+i).src = "/jgame/jssaper/num10.png"; } } function v17CalcNumBomb(inY, inX) { var tmpCount = 0; if (inX-1 >= 0) if (v17fieldBomb[inY*10+inX-1] === 9) tmpCount++ ; if (inX+1 <= 9) if (v17fieldBomb[inY*10+inX+1] === 9) tmpCount++ ; if (inY-1 >= 0) if (inX-1 >= 0) if (v17fieldBomb[(inY-1)*10+inX-1] === 9) tmpCount++ ; if (inY-1 >= 0) if (v17fieldBomb[(inY-1)*10+inX] === 9) tmpCount++ ; if (inY-1 >= 0) if (inX+1 <= 9) if (v17fieldBomb[(inY-1)*10+inX+1] === 9) tmpCount++ ; if (inY+1 <= 9) if (inX-1 >= 0) if (v17fieldBomb[(inY+1)*10+inX-1] === 9) tmpCount++ ; if (inY+1 <= 9) if (v17fieldBomb[(inY+1)*10+inX] === 9) tmpCount++ ; if (inY+1 <= 9) if (inX+1 <= 9) if (v17fieldBomb[(inY+1)*10+inX+1] === 9) tmpCount++ ; if (tmpCount > 0) v17fieldBomb[inY*10+inX] = tmpCount; } function v17CalcNumOpen() { var tmpFlagNoBomb = true; for (var m=0; m<5; m++) for (var inY=0; inY<10; inY++) for (var inX=0; inX<10; inX++) if (v17fieldBomb[inY*10+inX] === 11) if (v17fieldOpen[inY*10+inX] === 1) { tmpFlagNoBomb = true; if (tmpFlagNoBomb) if (inX-1 >= 0) if (v17fieldBomb[inY*10+inX-1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inX+1 <= 9) if (v17fieldBomb[inY*10+inX+1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY-1 >= 0) if (inX-1 >= 0) if (v17fieldBomb[(inY-1)*10+inX-1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY-1 >= 0) if (v17fieldBomb[(inY-1)*10+inX] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY-1 >= 0) if (inX+1 <= 9) if (v17fieldBomb[(inY-1)*10+inX+1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY+1 <= 9) if (inX-1 >= 0) if (v17fieldBomb[(inY+1)*10+inX-1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY+1 <= 9) if (v17fieldBomb[(inY+1)*10+inX] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) if (inY+1 <= 9) if (inX+1 <= 9) if (v17fieldBomb[(inY+1)*10+inX+1] === 9) tmpFlagNoBomb = false; if (tmpFlagNoBomb) { if (inX-1 >= 0) v17fieldOpen[inY*10+inX-1] = 1; if (inX+1 <= 9) v17fieldOpen[inY*10+inX+1] = 1; if (inY-1 >= 0) if (inX-1 >= 0) v17fieldOpen[(inY-1)*10+inX-1] = 1; if (inY-1 >= 0) v17fieldOpen[(inY-1)*10+inX] = 1; if (inY-1 >= 0) if (inX+1 <= 9) v17fieldOpen[(inY-1)*10+inX+1] = 1; if (inY+1 <= 9) if (inX-1 >= 0) v17fieldOpen[(inY+1)*10+inX-1] = 1; if (inY+1 <= 9) v17fieldOpen[(inY+1)*10+inX] = 1; if (inY+1 <= 9) if (inX+1 <= 9) v17fieldOpen[(inY+1)*10+inX+1] = 1; } } } function v17calcOpen(inY, inX) { if (inX-1 >= 0) if ((v17fieldBomb[inY*10+inX-1] === 11)&&(v17fieldOpen[inY*10+inX-1] === 0)) {v17fieldOpen[inY*10+inX-1] = 1 ; v17calcOpen(inY,inX-1);} if (inX+1 <= 9) if ((v17fieldBomb[inY*10+inX+1] === 11)&&(v17fieldOpen[inY*10+inX+1] === 0)) {v17fieldOpen[inY*10+inX+1] = 1 ; v17calcOpen(inY,inX+1);} if (inY-1 >= 0) if ((v17fieldBomb[(inY-1)*10+inX] === 11)&&(v17fieldOpen[(inY-1)*10+inX] === 0)) {v17fieldOpen[(inY-1)*10+inX] = 1 ; v17calcOpen(inY-1,inX);} if (inY+1 <= 9) if ((v17fieldBomb[(inY+1)*10+inX] === 11)&&(v17fieldOpen[(inY+1)*10+inX] === 0)) {v17fieldOpen[(inY+1)*10+inX] = 1 ; v17calcOpen(inY+1,inX);} // } function v17createFieldBomb() { for (var i=0; i<100; i++) v17fieldBomb[i] = 11; var tmpbombnum = 0; for (var i=0; i<10; i++) { tmpbombnum = getRandomInt(0, 100); while (v17fieldBomb[tmpbombnum] === 9) tmpbombnum = getRandomInt(0, 100); v17fieldBomb[tmpbombnum] = 9; } } function v17createFieldNum() { for (var j=0; j<10; j++) for (var i=0; i<10; i++) if (v17fieldBomb[j*10+i] === 11) v17CalcNumBomb(j, i); } function v17calcWin() { var v17tmpFlagWin = 0; for (var i=0; i<100; i++) if ((v17fieldBomb[i] === 9)&&(v17fieldOpen[i]===2)) v17tmpFlagWin ++; if (v17tmpFlagWin === 10) document.getElementById('v17idpoint').innerHTML = document.getElementById('v17idpoint').innerHTML + " игра выиграна"; } function v17ClickFieldRight(inY, inX) { if (v17fieldOpen[inY*10+inX] === 0) {v17fieldOpen[inY*10+inX] = 2;} else { if (v17fieldOpen[inY*10+inX] === 2) {v17fieldOpen[inY*10+inX] = 0;} } v17paintField(); v17calcWin(); } function v17ClickField(inY, inX) { v17colpoint ++; document.getElementById('v17idpoint').innerHTML = 'point = '+v17colpoint; // if (v17flagStart) { v17SortClick(); while (!(v17fieldBomb[inY*10+inX] === 11)) v17SortClick(); v17flagStart = false; } // v17fieldOpen[inY*10+inX] = 1; if (v17fieldBomb[inY*10+inX] === 11) v17calcOpen(inY, inX); if (v17fieldBomb[inY*10+inX] === 9) document.getElementById('v17idpoint').innerHTML = document.getElementById('v17idpoint').innerHTML + " игра остановнена"; v17CalcNumOpen(); v17paintField(); v17calcWin(); } </script>