专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

使用js开发网页版 扫雷(附代码详解)

来源:小嗨整编  作者:小嗨  发布时间:2024-03-20 08:26
摘要://HTMEL//css.bottom,overtext-align:centerline-height:0px.bot...

//HTMEL    

使用js开发网页版 扫雷(附代码详解)

//css.bottom,over { text-align: center; line-height: 0px;} .bottom p { display: inline-block; width: 30px; height: 30px; border: 1px solid #808080; background-color: #f4a; text-align: center; font: 20px/30px arial; }//JS// 保存 初始雷化记录 和 拆雷记录 100个按钮中 有25个雷var box = Array(10);//初始化底层function initBottom() { const content = document.getElementsByClassName('content')[0]; const bottom = document.createElement('p'); content.appendChild(bottom); bottom.className = "bottom"; for (let i = 0; i < 10; i++) { box[i] = new Array(10); for (let j = 0; j < 10; j++) { const p = document.createElement('p'); bottom.appendChild(p); p.id = "bottom[" + i + "][" + j + "]"; box[i][j] = 0; } bottom[xss_clean] = bottom[xss_clean] + "
"; } initBom();}//初始化 25个 bom 颜色 和 innerHTMLfunction initBom() { //改变颜色 for (let i = 0; i < 25; i++) { let x = Math.floor(Math.random() * 10); let y = Math.floor(Math.random() * 10); while (box[x][y] == 1) { x = Math.floor(Math.random() * 10); y = Math.floor(Math.random() * 10); if (box[x][y] == 0) { break; } } box[x][y] = 1; document.getElementById("bottom[" + x + "][" + y + "]").style.backgroundColor = "rgb(0, 0, 0)"; document.getElementById("bottom[" + x + "][" + y + "]")[xss_clean] = "x"; // 否则 对不起 ? } // 生成底层数字 for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { if (!box[i][j] == 1) { document.getElementById("bottom[" + i + "][" + j + "]")[xss_clean] = getNumber(i, j); } } }}// 取得 周围雷的个数function getNumber(i, j) { let num = 0, x, y; // 四周 雷的 个数统计 for (let x = i - 1; x <= i + 1; x++) { for (y = j - 1; y <= j + 1; y++) { if (x == i && y == j) { continue; } if (document.getElementById("bottom[" + x + "][" + y + "]")) { if (box[x][y] == 1) { num++; } } } } return num;}//初始化 上层 overfunction initOver() { const content = document.getElementsByClassName('content')[0]; const over = document.createElement('p'); content.appendChild(over); over.className = "over"; over.id = "over"; for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { const p = document.createElement('p'); over.appendChild(p); p.id = "over[" + i + "][" + j + "]"; } over[xss_clean] = over[xss_clean] + "
"; } //取消 右击 菜单 over.oncontextmenu = function (e) { e.returnValue = false; } // 点击 做标记 over.onclick = function (e) { const target = e.srcElement; if (target.style.backgroundColor == "rgb(255, 255, 255)") { target.style.backgroundColor = "#808080"; } else { target.style.backgroundColor = "rgb(255, 255, 255)"; } } // 双击拆雷 over.ondblclick = function (e) { const target = e.srcElement; const strId = target.id.substring(4, target.id.length); if (document.getElementById("bottom" + strId).style.backgroundColor == "rgb(0, 0, 0)") { document.getElementById('over').style.display = "none"; } else { target.style.opacity = 0; let i = parseInt(strId.substring(1, 2)); let j = parseInt(strId.substring(4, 5)); box[i][j] = 1; // 等于0 扩散 if (document.getElementById("bottom" + strId)[xss_clean] == 0) { zooming(i, j); } else { if (isGameOver()) { alert("真厉害"); } } } }}//扩散: 当周围有 0时,自动显示function zooming(i, j) { for (let x = i - 1; x <= i + 1; x++) { for (y = j - 1; y <= j + 1; y++) { if (document.getElementById("bottom[" + x + "][" + y + "]") && document.getElementById("bottom[" + x + "][" + y + "]")[xss_clean] == 0) { document.getElementById("over[" + x + "][" + y + "]").style.opacity = 0; if (box[x][y] == 0) { box[x][y] = 1; zooming(x, y); } } } }}//是否清除完 box[][] 初始化 雷时赋值 1,拆雷是赋值 1,全部为1时,完成扫雷。function isGameOver() { for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { if (box[i][j] == 0) { return false; } } } return true;}
登录后复制

相关文章:

js版扫雷实现代码 原理不错

js实现扫雷的代码

以上就是使用js开发网页版 扫雷(附代码详解)的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1151266.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • 泰剧迷app官网入口(泰剧迷app使用教程)

    泰剧迷app官网入口(泰剧迷app使用教程)

    泰剧迷app官网入口(泰剧迷app使用教程)随着泰剧在国内的流行,越来越多的观众想要找到一款能观看泰剧的软件。泰剧迷App就是一款深受剧迷喜爱的泰剧播放器。本文将为您详细介绍泰剧迷App的官网入口以及使用教程,让您轻松观看喜欢的泰剧。泰剧迷...

  • dnf自动修理怎么使用(dnf自动修理是免费的吗)?

    dnf自动修理怎么使用(dnf自动修理是免费的吗)?

    dnf自动修理怎么使用(dnf自动修理是免费的吗)?在dnf中,装备的耐久度管理是每位玩家都需要面对的问题。为了避免装备因耐久度为0而失去属性加成,dnf提供了自动修理功能。那么,dnf自动修理是怎么用的?它是免费的吗?本文将为您详细解答。...

  • 不背单词app使用教程(不背单词app是哪个公司的)?

    不背单词app使用教程(不背单词app是哪个公司的)?

    不背单词app使用教程(不背单词app是哪个公司的)?在进入不背单词app后,先给自己选一本适用于当下的词书。选好词书之后就可以开始背啦。从Learn一栏点进去。初步背一个词一共三个关卡:①看英文选中文,先回想词义再选择②根据英文和例句回忆...

  • 我的世界颜色符号怎么打(我的世界颜色符号代码)?

    我的世界颜色符号怎么打(我的世界颜色符号代码)?

    我的世界颜色符号怎么打(我的世界颜色符号代码)?在我的世界游戏中,玩家们可以通过使用颜色符号代码,让聊天或书籍中的文字变得更加丰富多彩。本文将为您详细介绍我的世界颜色符号代码的用法,让您轻松掌握如何打出这些漂亮的颜色。我的世界颜色符号代码我...

  • 我的世界晴天指令代码大全(我的世界晴天指令怎么输)?

    我的世界晴天指令代码大全(我的世界晴天指令怎么输)?

    我的世界晴天指令代码大全(我的世界晴天指令怎么输)?在我的世界中,天气系统为游戏增添了丰富的体验。但有时,你可能希望摆脱阴雨天气,享受阳光明媚的晴天。本文将为你详细介绍我的世界晴天指令代码大全。我的世界晴天指令代码大全在《我的世界》中,晴天...

  • 绝地求生是哪个国家开发的(pubg被腾讯买下了吗)?

    绝地求生是哪个国家开发的(pubg被腾讯买下了吗)?

    绝地求生是哪个国家开发的(pubg被腾讯买下了吗)?绝地求生(Playerunknown'sBattlegrounds,简称PUBG)是一款由韩国蓝洞公司(KraftonInc.,原PUBGCorporation)开发的大逃杀类型射击游戏。...

  • lol是哪个国家开发的(英雄联盟最先是韩国的吗)?

    lol是哪个国家开发的(英雄联盟最先是韩国的吗)?

    lol是哪个国家开发的(英雄联盟最先是韩国的吗)?英雄联盟(LeagueofLegends,简称LOL)作为全球最热门的电子竞技游戏之一,拥有庞大的玩家基础和高度的职业化体系。然而,关于这款游戏的开发背景,有些人可能会有疑问:LOL最初是韩...

  • pkpm软件使用教程(pkpm软件的优点)

    pkpm软件使用教程(pkpm软件的优点)

    pkpm软件使用教程(pkpm软件的优点)PKPM软件是由中国建筑科学研究院研发的一款集建筑设计、结构设计、设备设计、工程量统计、概预算及施工软件等于一体的大型建筑工程综合CAD系统。它遵循国内建筑规范,操作简便,功能强大,广泛应用于各类建...

  • 周排行
  • 月排行
  • 年排行

精彩推荐