html5迷宫小游戏,JS实现的走迷宫小游戏完整实例
本文实例讲述了JS实现的走迷宫小游戏。分享给大家供大家参考,具体如下:
先来看看运行效果截图:
完整实例代码如下:
JS打造的走迷宫游戏
function ShowMenu(bMenu) {
document.all.idFinder.style.display = (bMenu) ? "none" : "block"
document.all.idMenu.style.display = (bMenu) ? "block" : "none"
idML.className = (bMenu) ? "cOn" : "cOff"
idRL.className = (bMenu) ? "cOff" : "cOn"
return false
}
#board TD {width: 15pt; height: 15pt; font-size: 2pt; }
TD.foot {font-size: 10pt;}
#board TD.start {font-size: 8pt; border-left: 2px black solid; background:yellow; border-top: 2px black solid;text-align: center; color: red}
#board TD.end {font-size: 8pt; text-align: center; color: green}
#message {margin: 0pt; padding: 0pt; text-align: center}
var maze = new Array()
var sides = new Array("Border-Top", "Border-Right")
for (var rows=0; rows<13; rows++)
maze[rows] = new Array()
maze[0][0] = new Array(1,1,1,1,1,1,1,1,1,1,1,1)
maze[0][1] = new Array(0,0,1,0,1,0,0,0,0,1,0,1)
maze[1][0] = new Array(1,0,0,0,1,0,1,1,1,0,1,1)
maze[1][1] = new Array(0,1,1,0,0,1,1,0,0,1,0,1)
maze[2][0] = new Array(1,0,1,0,1,0,0,1,1,0,1,1)
maze[2][1] = new Array(0,0,0,0,1,1,1,0,0,0,0,1)
maze[3][0] = new Array(0,1,1,1,1,1,0,0,0,0,1,1)
maze[3][1] = new Array(1,0,0,1,0,0,0,1,1,0,0,1)
maze[4][0] = new Array(0,0,0,0,0,0,1,1,1,1,1,1)
maze[4][1] = new Array(1,1,1,1,1,0,0,0,0,0,1,1)
maze[5][0] = new Array(0,0,0,0,1,0,1,1,1,1,0,0)
maze[5][1] = new Array(1,1,1,1,1,1,0,0,0,1,0,1)
maze[6][0] = new Array(0,0,0,0,0,0,1,1,0,1,0,1)
maze[6][1] = new Array(1,1,1,1,1,1,0,0,0,1,0,1)
maze[7][0] = new Array(1,0,1,0,0,0,1,0,1,1,0,1)
maze[7][1] = new Array(1,1,1,0,1,0,0,1,0,1,1,1)
maze[8][0] = new Array(0,0,0,1,0,0,1,1,0,0,0,0)
maze[8][1] = new Array(0,1,0,1,1,0,0,0,1,1,0,1)
maze[9][0] = new Array(0,0,0,0,0,1,1,1,1,0,1,1)
maze[9][1] = new Array(1,1,1,1,0,0,0,0,0,1,1,1)
maze[10][0] = new Array(0,0,0,0,0,1,1,1,1,1,0,0)
maze[10][1] = new Array(1,1,1,0,1,0,0,0,0,1,0,1)
maze[11][0] = new Array(0,0,1,1,1,1,1,1,1,0,0,0)
maze[11][1] = new Array(1,0,1,0,0,0,0,0,0,0,1,1)
maze[12][0] = new Array(0,0,0,0,0,1,1,1,1,0,1,0)
maze[12][1] = new Array(1,1,0,1,0,0,0,1,0,0,1,1)
function testNext(nxt) {
if ((board.rows[start.rows].cells[start.cols].style.backgroundColor=="yellow") && (nxt.style.backgroundColor=='yellow')) {
message.innerText="I see you changed your mind."
board.rows[start.rows].cells[start.cols].style.backgroundColor=""
return false
}
return true
}
function moveIt() {
if (!progress) return
switch (event.keyCode) {
case 37: // left
if (maze[start.rows][1][start.cols-1]==0) {
if (testNext(board.rows[start.rows].cells[start.cols-1]))
message.innerText="Going west..."
start.cols--
document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="yellow"
} else
message.innerText="Ouch... you can't go west."
break;
case 38: // up
if (maze[start.rows][0][start.cols]==0) {
if (testNext(board.rows[start.rows-1].cells[start.cols]))
message.innerText="Going north..."
start.rows--
document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="yellow"
} else
message.innerText="Ouch... you can't go north."
break;
case 39: // right
if (maze[start.rows][1][start.cols]==0) {
if (testNext(board.rows[start.rows].cells[start.cols+1]))
message.innerText="Going east..."
start.cols++
document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="yellow"
}
else
message.innerText="Ouch... you can't go east."
break;
case 40: //down
if (maze[start.rows+1]==null) return
if (maze[start.rows+1][0][start.cols]==0) {
if (testNext(board.rows[start.rows+1].cells[start.cols]))
message.innerText="Going south..."
start.rows++
document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="yellow"
} else
message.innerText="Ouch... you can't go south."
break;
}
if (document.all.board.rows[start.rows].cells[start.cols].innerText=="end") {
message.innerText="You Win!"
progress=false
}
}
请使用键盘上的→←↑↓键进行游戏
for (var row = 0; row
document.write("
")
for (var col = 0; col
document.write("
start")
else
if ((row==maze.length-1) && (col==maze[row][0].length-1))
document.write("' class=end>end")
else
document.write("'> ")
}
document.write("
")
}
var start = new Object
start.rows = 0
start.cols = 0
progress=true
document.onkeydown = moveIt;
PS:这里再为大家推荐另一款本站的迷宫在线游戏供大家参考,同样是基于JS实现的:
希望本文所述对大家JavaScript程序设计有所帮助。
html5迷宫小游戏,JS实现的走迷宫小游戏完整实例相关推荐
- python求解迷宫问题,配js实现的走迷宫动画,动起来才有意思~
前言 继昨天手动实现了走迷宫问题,虽然是实现了,但是看到被我画成乱七八糟的草稿纸,总是觉得不爽,不仔细看,又得把自己给走迷糊了,于是自己使用js实现了一下,效果还不错!先看一下展示效果吧!(文末配有j ...
- 信息学奥赛一本通 1252:走迷宫 | OpenJudge NOI 2.5 2753:走迷宫
[题目链接] ybt 1252:走迷宫 OpenJudge NOI 2.5 2753:走迷宫 [题目考点] 1. 广搜 迷宫问题 [解题思路] 设结构体类型的结点保存位置以及步数,队列中保存的是该结构 ...
- 【算法】机器人走迷宫破壁解法(适用于走迷宫、最短路径算法)-20200412
标题:机器人走迷宫破壁解法(适用于走迷宫.最短路径算法)-20200412 问题描述: 一块矩形方格,含有障碍和可通行格子,求从某一点到另外一点的最短距离?N*M的矩阵: 其中,1代表障碍,0代表可通 ...
- C语言编一个金山打字通小游戏,js实现金山打字通小游戏
本文实例为大家分享了js实现金山打字通小游戏的具体代码,供大家参考,具体内容如下 字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度 效果 1.页面内容 列 ...
- python一行代码迷宫_通过Python代码实现走迷宫的方法
#用来判断坐标是否合法 def check_valid(mg, x, y): if x >= 0 and x < len(mg) and y >= 0 and y < len( ...
- python走迷宫_Python使用Tkinter实现机器人走迷宫
这本是课程的一个作业研究搜索算法,当时研究了一下Tkinter,然后写了个很简单的机器人走迷宫的界面,并且使用了各种搜索算法来进行搜索,如下图: 使用A*寻找最优路径: 由于时间关系,不分析了,我自己 ...
- c语言递归算法老鼠走迷宫详解,递归算法求老鼠走迷宫(C语言)
/*说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁, 使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径. 解法老鼠的走法有上.左.下.右四个方向,在每前进一格之后就选 ...
- 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...
前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...
- ChatGPT唤醒AI游戏:AIGC持续走深,游戏或成AI最佳抓手
随着人工智能技术的不断发展,AI在游戏行业的应用日益深入.本文将详细探讨ChatGPT在AI游戏领域的应用,以及游戏如何成为AI技术的最佳抓手.让我们一起探讨这个有趣且充满潜力的领域. 一.引言 人工 ...
- HTML+CSS+JS实现 ❤️人物走悬崖小游戏❤️
最新文章
- 操作系统学习笔记:进程同步
- MySQL体系结构和存储引擎概述
- enum 使用规范及技巧(C# 参考)
- java xml格式打包,maven项目打包xml没有被打包解决办法 ,mybatis的xml打包
- access制作封装软件_用Access开发《社工服务管理系统》
- 12 年!Android 系统的漫漫设计路
- Type erroe in tensorflow
- word转化为pdf android,如何将Word转化为PDF?
- pkg-config 详解
- 【台州世通兰陵王系列】服务器的1U、2U、4U是指什么?
- 故障分析 | 使用--force批量导入数据导致部分数据丢失的问题
- mysql数据备份与导入
- 系统学习深度学习(六) --LSTM总结
- 10分钟认识低代码平台
- 程序错误类型及其处理
- 我是如何实现「朋友圈图片评论」的?
- 使用tensorboard显示训练loss曲线和acc曲线图
- 网页调扫描仪扫描并显示
- Windows 10下载安装Java
- Icon之线性图标设计指南
热门文章
- 宠物商店项目mysql_北大青鸟java宠物商店+MySQL数据库
- 衣带渐宽终不悔,为“指针”消得人憔悴(三)
- c语言专业认知实践报告怎么写,c语言实践报告心得范文
- 国产系统银河麒麟(龙芯MIPS)远程访问自研windows程序
- 在odl中怎样实现rpc
- python连接mysql orm_Python通过ORM方式操作MySQL数据库
- 开源crm排名_排名前6位的开源CRM工具
- 2022年P气瓶充装最新解析及P气瓶充装新版试题
- 中国护照可以免签的10个旅游天堂国家(地区)
- 互联网酒店预订系统的业务流程图-2