<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head>
<body>
<style>
table{background-color: red;}
tr td{width: 20px;height: 20px;background-color: yellow;}
</style> <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<table>
<script> var x=9;//宽度
var y=9;//高度
var shu=20;//雷数
var lei=new Array();//雷的位置
//循环出随机雷的位置
for(var l=0;l<shu;l++){
var c=Math.floor(Math.random()*parseInt(String(x)+y));
lei[l]=c;
} for(var i=1;i<x;i++){
document.write('<tr>');
for(var s=1;s<y;s++){
//如果这个位置是雷 显示*
if(xunhuan(String(i) + String(s))){
document.write('<td value="*"></td>');
}else{
//不是累就显示 周围的雷数
document.write('<td value="'+leishu(i,s)+'"></td>'); } }
document.write('</tr>'); }
//判断一个坐标是不是雷
function xunhuan(xy){ if(jQuery.inArray(parseInt(xy), lei)!=-1){
return true;
}else{
return false;
}
}
//判断一个坐标的 上下左右的坐标
function leishu(i,s){
var shu=0;
//上边
if((i-1)>=1){
if(xunhuan(String(i-1)+s)){
shu+=1;
}
}
//下边
if((i+1)<y){
if(xunhuan(String(i+1)+s)){
shu+=1;
}
}
//左边
if((s-1)>=1){
if(xunhuan(String(i)+(s-1))){
shu+=1;
}
}
//右边
if((s+1)<x){
if(xunhuan(String(i)+(s+1))){
shu+=1;
}
}
//左上
if((i-1)>=1 && (s-1)>=1){
if(xunhuan(String(i-1)+String(s-1))){
shu+=1;
}
}
//右上
if((i-1)>=1 && (s+1)<x){
if(xunhuan(String(i-1)+String(s+1))){
shu+=1;
}
}
//左下
if((i+1)<y && (s-1)>=1){
if(xunhuan(String(i+1)+String(s-1))){
shu+=1;
}
}
//右下
if((i+1)<y && (s+1)<x){
if(xunhuan(String(i+1)+String(s+1))){
shu+=1;
}
} return shu;
}
$(function(){
$("table").on("click","td", function () {
$val=$(this).attr("value");
if($val=='*'){
$(this).text('雷');
}else{
$(this).text($val);
} });
}); </script>
</table>
</body>
</html>

js实现windows扫雷(jquery)的更多相关文章

  1. Chocolat.js – 响应式的 jQuery Lightbox 插件

    Chocolat.js 使您能够显示一个或多个图像在同一页面上.给用户展示一组图片缩略图,可以显示全页或块.Chocolat.js 可以很好地处理所有主要的浏览器.它在下面这些浏览器测试通过:IE7+ ...

  2. 原生js使用forEach()与jquery使用each遍历数组,return false 的区别

    原生js使用forEach()与jquery使用each()遍历数组,return false 的区别: 1.使用each()遍历数组a,如下: var a=[20,21,22,23,24]; $.e ...

  3. 用Node.js开发Windows 10物联网应用

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 未来10年内,物联网将会如移动互联网这样深入到我们生活的各方各面.所以微软现在对物联网进行了 ...

  4. Node.js在Windows与Linux下的安装

    一.Windows配置 (1)官网(http://nodejs.org)选择Node.js的Windows系统(32位和64位)最新版本. (2)下载完成后,执行MSI的安装文件. (3)安装完成,查 ...

  5. aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)

    这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲     上面是效果,下面来说使用步骤 jQuery.Valid ...

  6. jquery.validate.js默认配置,jquery.validate.js自定义提示信息

    jquery.validate.js默认配置,jquery.validate.js自定义提示信息 配置jQuery.validator默认的处理方法 >>>>>>& ...

  7. jquery.validate.js校验select2解决方案,Jquery插件select2校验解决方案

    jquery.validate.js校验select2解决方案 Jquery插件select2校验解决方案 >>>>>>>>>>>&g ...

  8. 原生JS研究:学习jquery源码,收集整理常用JS函数

    原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...

  9. js前端分页之jQuery

    锋利的js前端分页之jQuery 大家在作分页时,多数是在后台返回一个导航条的html字符串,其实在前端用js也很好实现. 调用pager方法,输入参数,会返回一个导航条的html字符串.方法的内部比 ...

随机推荐

  1. java NIO-我们到底能走多远系列(39)

    献给各位: Satisfied MindRed Hayes and Jack RhodesHow many times have you heard someone say,"If I ha ...

  2. (实用篇)php中计算中文字符串长度、截取中文字符串的函数代码

    在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务 ...

  3. c 函数及指针学习 6

    不完整声明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* 方法一   */ struct tag_a{ ...

  4. 02java语法基础问题总结

    S和t引用的不是同一个对象 不是原始数据类型 结论: 枚举类型是引用类型,枚举不属于原始数据类型.它的每一个具体值都引用一个特定的对象. 2. 以下代码的输出结果是什么? int X=100; int ...

  5. LB负载均衡集群及NAT模式配置

    一.LB(load balance)负载均衡集群 负载均衡集群常用的有: 1.软件实现的 nginx(工作在OSI第七层应用层) lvs+keepalived(工作在OSI第四层传输层) 2.硬件实现 ...

  6. Vue.js相关知识3-路由

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. URAL 1004 Sightseeing Trip(最小环)

    Sightseeing Trip Time limit: 0.5 secondMemory limit: 64 MB There is a travel agency in Adelton town ...

  8. kuangbin_UnionFind J (POJ 2492)

    加权并查集mod2模板 本体的难点是bug的释义(笑) #include <iostream> #include <string> #include <cstdio> ...

  9. Qt Creator调试

    与调试器交互的几种方法: 1.单行运行或者单指令运行 2.中断程序运行 3.设置断点 4.检查调用栈空间的内容 5.检查并修改局部或者全局变量 6.检查并修改被调试程序的寄存器和内存内容 7.检查装载 ...

  10. Linux驱动设计——字符杂项设备

    杂项设备 linux里面的misc杂项设备是主设备号为10的驱动设备,misc设备其实也就是特殊的字符设备,可自动生成设备节点. 定义头文件<linux/miscdevice.h>   杂 ...