JS扫雷原理性代码
<!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"> </td>
<td id="12"> </td>
<td id="13"> </td>
<td id="14"> </td>
<td id="15"> </td>
<td id="16"> </td>
<td id="17"> </td>
<td id="18"> </td>
<td id="19"> </td>
</tr>
<tr>
<td id="21"> </td>
<td id="22"> </td>
<td id="23"> </td>
<td id="24"> </td>
<td id="25"> </td>
<td id="26"> </td>
<td id="27"> </td>
<td id="28"> </td>
<td id="29"> </td>
</tr>
<tr>
<td id="31"> </td>
<td id="32"> </td>
<td id="33"> </td>
<td id="34"> </td>
<td id="35"> </td>
<td id="36"> </td>
<td id="37"> </td>
<td id="38"> </td>
<td id="39"> </td>
</tr>
<tr>
<td id="41"> </td>
<td id="42"> </td>
<td id="43"> </td>
<td id="44"> </td>
<td id="45"> </td>
<td id="46"> </td>
<td id="47"> </td>
<td id="48"> </td>
<td id="49"> </td>
</tr>
<tr>
<td id="51"> </td>
<td id="52"> </td>
<td id="53"> </td>
<td id="54"> </td>
<td id="55"> </td>
<td id="56"> </td>
<td id="57"> </td>
<td id="58"> </td>
<td id="59"> </td>
</tr>
<tr>
<td id="61"> </td>
<td id="62"> </td>
<td id="63"> </td>
<td id="64"> </td>
<td id="65"> </td>
<td id="66"> </td>
<td id="67"> </td>
<td id="68"> </td>
<td id="69"> </td>
</tr>
<tr>
<td id="71"> </td>
<td id="72"> </td>
<td id="73"> </td>
<td id="74"> </td>
<td id="75"> </td>
<td id="76"> </td>
<td id="77"> </td>
<td id="78"> </td>
<td id="79"> </td>
</tr>
<tr>
<td id="81"> </td>
<td id="82"> </td>
<td id="83"> </td>
<td id="84"> </td>
<td id="85"> </td>
<td id="86"> </td>
<td id="87"> </td>
<td id="88"> </td>
<td id="89"> </td>
</tr>
<tr>
<td id="91"> </td>
<td id="92"> </td>
<td id="93"> </td>
<td id="94"> </td>
<td id="95"> </td>
<td id="96"> </td>
<td id="97"> </td>
<td id="98"> </td>
<td id="99"> </td>
</tr>
</table>
</body>
</html>
JS扫雷原理性代码的更多相关文章
- 剥开比原看代码12:比原是如何通过/create-account-receiver创建地址的?
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...
- js css样式操作代码(批量操作)
js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09 用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率. ...
- [JS]以下是JS省市联动菜单代码
以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...
- js文字向上滚动代码
js文字向上滚动代码 <style>.pczt_pingfen_jhxs_news1{ width:397px; background:#edfafd; padding-top:2px; ...
- Js弹性漂浮广告代码
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码
PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) ...
- 如何写兼容浏览器和Node.js环境的Javascript代码
如果有打开过jQuery的源码(从1.11及以后),或者Vue.js.React.js的源码,都会在文件的前面看见这样一段代码: ( function( global, factory ) { &qu ...
- 常用的JS页面跳转代码调用大全
一.常规的JS页面跳转代码 1.在原来的窗体中直接跳转用 <script type="text/javascript"> window.location.href=&q ...
- 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码
最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...
随机推荐
- poj 2739 Sum of Consecutive Prime Numbers 尺取法
Time Limit: 1000MS Memory Limit: 65536K Description Some positive integers can be represented by a ...
- OAuth(开放授权)
HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使 ...
- 2017-2018-1 20155318 《信息安全系统设计基础》第2周课堂实践、makefile、以及myod
2017-2018-1 20155318 <信息安全系统设计基础>第2周课堂实践.makefile.以及myod 测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置 ...
- 20155320 2016-2017-2《Java程序设计》第1周学习总结
20155320 2016-2017-2<Java程序设计>第1周学习总结 教材学习内容总结 本周学习内容 浏览课本,并就每一章提出一个问题. 认真学习第一.第二章的内容. 1至18章每章 ...
- 20155328 2016-2017-2 《Java程序设计》 第十周学习内容总结
20155328 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 JAVA和ANDROID开发学习指南 第22章 网络概览 两台计算机用于通信的语言叫做&qu ...
- MySQL优化Explain命令简介(一)
最近碰到MySQL需要写入大量数据并查询的场景,于是学习了一下MySQL的查询优化,想找关于explain命令的详细资料,然而网上并没有找全,最后终于在<高性能MySQL>中找到了对这一命 ...
- c++ 结构指针和双向链表
结构指针 为结构指针动态分配内存 结构中的结构 双向链表 结构指针 struct mytime { //char name[256]; int hour;//时 int min; //分 i ...
- day1 ORM
ORM对象关系映射 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象 class Customer( ...
- 图论-求有向图的强连通分量(Kosaraju算法)
求有向图的强连通分量 Kosaraju算法可以求出有向图中的强连通分量个数,并且对分属于不同强连通分量的点进行标记. (1) 第一次对图G进行DFS遍历,并在遍历过程中,记录每一个点的退出顺序 ...
- 接口文档神器Swagger(下篇)
本文来自网易云社区 作者:李哲 二.Swagger-springmvc原理解析 上面介绍了如何将springmvc和springboot与swagger结合,通过简单配置生成接口文档,以及介绍了swa ...