本文实例讲述了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实现的走迷宫小游戏完整实例相关推荐

  1. python求解迷宫问题,配js实现的走迷宫动画,动起来才有意思~

    前言 继昨天手动实现了走迷宫问题,虽然是实现了,但是看到被我画成乱七八糟的草稿纸,总是觉得不爽,不仔细看,又得把自己给走迷糊了,于是自己使用js实现了一下,效果还不错!先看一下展示效果吧!(文末配有j ...

  2. 信息学奥赛一本通 1252:走迷宫 | OpenJudge NOI 2.5 2753:走迷宫

    [题目链接] ybt 1252:走迷宫 OpenJudge NOI 2.5 2753:走迷宫 [题目考点] 1. 广搜 迷宫问题 [解题思路] 设结构体类型的结点保存位置以及步数,队列中保存的是该结构 ...

  3. 【算法】机器人走迷宫破壁解法(适用于走迷宫、最短路径算法)-20200412

    标题:机器人走迷宫破壁解法(适用于走迷宫.最短路径算法)-20200412 问题描述: 一块矩形方格,含有障碍和可通行格子,求从某一点到另外一点的最短距离?N*M的矩阵: 其中,1代表障碍,0代表可通 ...

  4. C语言编一个金山打字通小游戏,js实现金山打字通小游戏

    本文实例为大家分享了js实现金山打字通小游戏的具体代码,供大家参考,具体内容如下 字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度 效果 1.页面内容 列 ...

  5. python一行代码迷宫_通过Python代码实现走迷宫的方法

    #用来判断坐标是否合法 def check_valid(mg, x, y): if x >= 0 and x < len(mg) and y >= 0 and y < len( ...

  6. python走迷宫_Python使用Tkinter实现机器人走迷宫

    这本是课程的一个作业研究搜索算法,当时研究了一下Tkinter,然后写了个很简单的机器人走迷宫的界面,并且使用了各种搜索算法来进行搜索,如下图: 使用A*寻找最优路径: 由于时间关系,不分析了,我自己 ...

  7. c语言递归算法老鼠走迷宫详解,递归算法求老鼠走迷宫(C语言)

    /*说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁, 使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径. 解法老鼠的走法有上.左.下.右四个方向,在每前进一格之后就选 ...

  8. 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...

    前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...

  9. ChatGPT唤醒AI游戏:AIGC持续走深,游戏或成AI最佳抓手

    随着人工智能技术的不断发展,AI在游戏行业的应用日益深入.本文将详细探讨ChatGPT在AI游戏领域的应用,以及游戏如何成为AI技术的最佳抓手.让我们一起探讨这个有趣且充满潜力的领域. 一.引言 人工 ...

  10. HTML+CSS+JS实现 ❤️人物走悬崖小游戏❤️

最新文章

  1. 操作系统学习笔记:进程同步
  2. MySQL体系结构和存储引擎概述
  3. enum 使用规范及技巧(C# 参考)
  4. java xml格式打包,maven项目打包xml没有被打包解决办法 ,mybatis的xml打包
  5. access制作封装软件_用Access开发《社工服务管理系统》
  6. 12 年!Android 系统的漫漫设计路
  7. Type erroe in tensorflow
  8. word转化为pdf android,如何将Word转化为PDF?
  9. pkg-config 详解
  10. 【台州世通兰陵王系列】服务器的1U、2U、4U是指什么?
  11. 故障分析 | 使用--force批量导入数据导致部分数据丢失的问题
  12. mysql数据备份与导入
  13. 系统学习深度学习(六) --LSTM总结
  14. 10分钟认识低代码平台
  15. 程序错误类型及其处理
  16. 我是如何实现「朋友圈图片评论」的?
  17. 使用tensorboard显示训练loss曲线和acc曲线图
  18. 网页调扫描仪扫描并显示
  19. Windows 10下载安装Java
  20. Icon之线性图标设计指南

热门文章

  1. 宠物商店项目mysql_北大青鸟java宠物商店+MySQL数据库
  2. 衣带渐宽终不悔,为“指针”消得人憔悴(三)
  3. c语言专业认知实践报告怎么写,c语言实践报告心得范文
  4. 国产系统银河麒麟(龙芯MIPS)远程访问自研windows程序
  5. 在odl中怎样实现rpc
  6. python连接mysql orm_Python通过ORM方式操作MySQL数据库
  7. 开源crm排名_排名前6位的开源CRM工具
  8. 2022年P气瓶充装最新解析及P气瓶充装新版试题
  9. 中国护照可以免签的10个旅游天堂国家(地区)
  10. 互联网酒店预订系统的业务流程图-2