<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>寻雷</title>
<style type="text/css">
<!--
td {
font-size: 18px;
font-weight: bold;
color: #FF0000;
text-align: center;
height: 25px;
width: 25px;
border-top-width: 1px;
border-right-width: 2px;
border-bottom-width: 2px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #0000FF;
border-right-color: #0000FF;
border-bottom-color: #0000FF;
border-left-color: #0000FF;
}
div {
font-family: "宋体", "新宋体", "黑体";
font-size: 12px;
font-weight: bold;
color: #006600;
float: none;
margin-right: auto;
margin-left: auto;
height: 100px;
width: 500px;
text-align: center;
}
-->
</style>
<script language="javascript">
var data=new Array(
[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,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0]
);
var count=0;
do{
var a=1+Math.round(8*(Math.random()));
var b=1+Math.round(8*(Math.random()));
if(data[a][b]==0){
data[a][b]="shit";
count+=1;
}
}while(count<10)
for(var i=1;i<10;i++){
for(var j=1;j<10;j++){
if(data[i][j]!="shit"){
var counter=0;
if(data[i-1][j-1]=="shit") counter+=1;
if(data[i-1][j]=="shit") counter+=1;
if(data[i-1][j+1]=="shit") counter+=1;
if(data[i][j-1]=="shit") counter+=1;
if(data[i][j+1]=="shit") counter+=1;
if(data[i+1][j-1]=="shit") counter+=1;
if(data[i+1][j]=="shit") counter+=1;
if(data[i+1][j+1]=="shit") counter+=1;
data[i][j]=counter;
}
}
}
function pop(){
event.bubbles=true;
var number=parseInt(event.srcElement.getAttribute("id"));
var j=number % 10;
var i=(number-j)/10;
if(data[i][j]=="shit"){
alert("中雷了");
check();
return;
}
if(data[i][j]==0){
for(var p=i-1;p<i+2;p++){
for(var q=j-1;q<j+2;q++){
var r="" +p+""+q;
var oElement=document.getElementById(r);
if(oElement){
oElement.innerHTML=data[p][q];
}
}
}
return;
}
document.getElementById(event.srcElement.getAttribute("id")).innerHTML=data[i][j];
}
function check(){
for(var i=1;i<10;i++){
for(var j=1;j<10;j++){
var no="" + i+""+j;
document.getElementById(no).innerHTML=data[i][j];
}
}
}
</script>
</head> <body>
<table id="lei" border="1" align="center" onclick="pop();" >
<tr>
<td id="11">&nbsp;</td>
<td id="12">&nbsp;</td>
<td id="13">&nbsp;</td>
<td id="14">&nbsp;</td>
<td id="15">&nbsp;</td>
<td id="16">&nbsp;</td>
<td id="17">&nbsp;</td>
<td id="18">&nbsp;</td>
<td id="19">&nbsp;</td>
</tr>
<tr>
<td id="21">&nbsp;</td>
<td id="22">&nbsp;</td>
<td id="23">&nbsp;</td>
<td id="24">&nbsp;</td>
<td id="25">&nbsp;</td>
<td id="26">&nbsp;</td>
<td id="27">&nbsp;</td>
<td id="28">&nbsp;</td>
<td id="29">&nbsp;</td>
</tr>
<tr>
<td id="31">&nbsp;</td>
<td id="32">&nbsp;</td>
<td id="33">&nbsp;</td>
<td id="34">&nbsp;</td>
<td id="35">&nbsp;</td>
<td id="36">&nbsp;</td>
<td id="37">&nbsp;</td>
<td id="38">&nbsp;</td>
<td id="39">&nbsp;</td>
</tr>
<tr>
<td id="41">&nbsp;</td>
<td id="42">&nbsp;</td>
<td id="43">&nbsp;</td>
<td id="44">&nbsp;</td>
<td id="45">&nbsp;</td>
<td id="46">&nbsp;</td>
<td id="47">&nbsp;</td>
<td id="48">&nbsp;</td>
<td id="49">&nbsp;</td>
</tr>
<tr>
<td id="51">&nbsp;</td>
<td id="52">&nbsp;</td>
<td id="53">&nbsp;</td>
<td id="54">&nbsp;</td>
<td id="55">&nbsp;</td>
<td id="56">&nbsp;</td>
<td id="57">&nbsp;</td>
<td id="58">&nbsp;</td>
<td id="59">&nbsp;</td>
</tr>
<tr>
<td id="61">&nbsp;</td>
<td id="62">&nbsp;</td>
<td id="63">&nbsp;</td>
<td id="64">&nbsp;</td>
<td id="65">&nbsp;</td>
<td id="66">&nbsp;</td>
<td id="67">&nbsp;</td>
<td id="68">&nbsp;</td>
<td id="69">&nbsp;</td>
</tr>
<tr>
<td id="71">&nbsp;</td>
<td id="72">&nbsp;</td>
<td id="73">&nbsp;</td>
<td id="74">&nbsp;</td>
<td id="75">&nbsp;</td>
<td id="76">&nbsp;</td>
<td id="77">&nbsp;</td>
<td id="78">&nbsp;</td>
<td id="79">&nbsp;</td>
</tr>
<tr>
<td id="81">&nbsp;</td>
<td id="82">&nbsp;</td>
<td id="83">&nbsp;</td>
<td id="84">&nbsp;</td>
<td id="85">&nbsp;</td>
<td id="86">&nbsp;</td>
<td id="87">&nbsp;</td>
<td id="88">&nbsp;</td>
<td id="89">&nbsp;</td>
</tr>
<tr>
<td id="91">&nbsp;</td>
<td id="92">&nbsp;</td>
<td id="93">&nbsp;</td>
<td id="94">&nbsp;</td>
<td id="95">&nbsp;</td>
<td id="96">&nbsp;</td>
<td id="97">&nbsp;</td>
<td id="98">&nbsp;</td>
<td id="99">&nbsp;</td>
</tr>
</table>
</body>
</html>

JS扫雷原理性代码的更多相关文章

  1. 剥开比原看代码12:比原是如何通过/create-account-receiver创建地址的?

    作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...

  2. js css样式操作代码(批量操作)

    js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09   用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率.   ...

  3. [JS]以下是JS省市联动菜单代码

    以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...

  4. js文字向上滚动代码

    js文字向上滚动代码 <style>.pczt_pingfen_jhxs_news1{ width:397px;  background:#edfafd; padding-top:2px; ...

  5. Js弹性漂浮广告代码

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  6. PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

    PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) ...

  7. 如何写兼容浏览器和Node.js环境的Javascript代码

    如果有打开过jQuery的源码(从1.11及以后),或者Vue.js.React.js的源码,都会在文件的前面看见这样一段代码: ( function( global, factory ) { &qu ...

  8. 常用的JS页面跳转代码调用大全

    一.常规的JS页面跳转代码 1.在原来的窗体中直接跳转用 <script type="text/javascript"> window.location.href=&q ...

  9. 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码

    最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...

随机推荐

  1. Go 学习之路:引用类型与值类型

    Golang中只有三种引用类型:slice(切片).map(字典).channel(管道): 引用类型 引用类型理解为(C语言):指针 值类型 值的拷贝 下面以值类型和slice(切片)例子可知: p ...

  2. python--基本类型之元组

    tuple(元组): 定义和创建和作用: 元组--只读列表,只可以被查询,不能被修改.所以,列表的切片操作同样适用与元组. 元组写在小括号(())里,元素之间用逗号隔开. 虽然元组的元素不可改变,但他 ...

  3. 20155224聂小益 2016-2017-2 《Java程序设计》第1周学习总结

    20155224聂小益 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 第一章 第一章内容不是很多,主要介绍了Java发展历程与Java的使用平台. JVM: ...

  4. 【BZOJ2589】[SPOJ10707]Count on a tree II

    [BZOJ2589][SPOJ10707]Count on a tree II 题面 bzoj 题解 这题如果不强制在线就是一个很\(sb\)的莫队了,但是它强制在线啊\(qaq\) 所以我们就用到了 ...

  5. 【LG3235】 [HNOI2014]江南乐

    题目描述 给出\(n\)堆石子, 每次可以选择将大于某个数\(f\)一堆平均分成多个堆, 最后不能操作的失败. 题解 10pts 直接爆搜即可. 70pts 像我们对这类题目的常规操作那样,将一整个局 ...

  6. Android 学习1

    使用eclipse做为开发IDE, 导包快捷键 在显红的地方按shift+ctrl+o 另外自动补全使用alt+/

  7. HBase第三章 过滤器

    1  列值过滤器 SingleColumnValueFilter 对列值进行过滤. @Test public void scanDataByFilter() throws IOException { ...

  8. 基于ejabberd实现各个客户端消息同步

    先上图再说(左侧是web端,右侧是ios端)              要实现上面的功能,如果所有设备都在线的话,那么carboncopy(xmpp xep-0280协议)这个模块是可以实现接收到的消 ...

  9. python-将爬取到的m3u8合并为mp4

    当你看到这个博客的时候恭喜你,你以后不用开vip就可以观看和下载vip视频了 最简单的观看vip视频步骤:进入全民解析网将vip视频地址进行解析 以下代码是通过python将vip视频进行下载为mp4 ...

  10. SICP读书笔记 1.3

    SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...