JS打造的点灯小游戏

  类似于模方游戏的网页小游戏代码,游戏玩法:在方格上点击,你可以将下面的方格全部填成蓝色吗?快开动你智慧脑筋,看看有什么技巧与规律。

<HTML>
<HEAD>
<TITLE>接触角测定仪</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
<!--
.STYLE1 {
    font-family: "微软雅黑";
    font-size: 30px;
    color: #990000;
}
.STYLE2 {
    font-family: "微软雅黑";
    font-size: 30px;
    color: #FF0066;
}
-->
</style>
</HEAD>
<BODY>
<SCRIPT>
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
}
</SCRIPT>
<SCRIPT>
function addList(url,desc) {
if ((navigator.appName=="Netscape") || (parseInt(navigator.appVersion)>=4)) {
var w=window.open("","_IDHTML_LIST_","top=0,left=0,width=475,height=150,history=no,menubar=no,status=no,resizable=no")
var d=w.document
if (!w._init) {
d.open()
d.write("<TITLE>Loading...</TITLE><EM>Loading...</EM>")
d.close()
d.location.replace("/assist/listing.asp?url="+escape(url)+"&desc="+escape(desc))
w.opener=self
window.status="Personal Assistant (Adding): " + desc
} else {
window.status=w.addOption(url,desc)
w.focus()
}
}
else
alert("Your browser does not support the personal assistant.")
return false
}
</SCRIPT>

<STYLE>#board {
    CURSOR: default
}
#board TD {
    WIDTH: 25px; HEIGHT: 25px
}
</STYLE>

<SCRIPT>
    var size=10
    var moves = 0
    var off = size*2
    var on = 0
    var current = null
    function doOver() {
      if ((event.srcElement.tagName=="TD") && (current!=event.srcElement)) {
        if (current!=null)
          current.style.backgroundColor = current._background
        event.srcElement._background = event.srcElement.style.backgroundColor
        event.srcElement.style.backgroundColor = "lightgrey"
        current = event.srcElement
      }
    }

    function setColor(el) {
      if ((el._background=="") || (el._background==null)) {
        el.style.backgroundColor = "blue"
        el._background = "blue"
      } else {
        el.style.backgroundColor = ""
        el._background = ""
      }
    }

    function countLights() {
      off = 0; on = 0
      for (var x=0; x < size; x++)
        for (var y=0; y < size; y++) {
          var p = board.rows[x].cells[y]
          if (p._background=="blue")
            on++
          else
            off ++
        }
        document.all.on.innerText = on
      if (off!=0)
        document.all.off.innerText = off
      else
        document.all.off.innerText = "You Win!"
      return (off==0)
    }

    function doClick() {
      setColor(current)
      var cellIdx = current.cellIndex
      var rowIdx = current.parentElement.rowIndex
      if (rowIdx>0)
        setColor(board.rows[rowIdx-1].cells[cellIdx])
      if (rowIdx<size-1)
        setColor(board.rows[rowIdx+1].cells[cellIdx])
      if (cellIdx>0)
        setColor(board.rows[rowIdx].cells[cellIdx-1])
      if (cellIdx<size-1)
        setColor(board.rows[rowIdx].cells[cellIdx+1])
      moves++
      document.all.moves.innerText = moves
      win = countLights()
      if (win) {
        board.onclick = null
        board.onmouseover = null
        current.style.background = "blue"
      }
    }
function buildBoard() {
var str = "<TABLE ID=board ONSELECTSTART=\"return false\" ONCLICK=\"doClick()\" ONMOUSEOVER=\"doOver()\" cellspacing=0 cellpadding=0 border=5>"
      for (var x=0; x < size; x++) {
        str+="<TR>"
        for (var y=0; y < size; y++) {
          str+="<TD> </TD>"
        }
        str+="</TR>"
      }
      str+="</TABLE>"
      return str
    }
function newGame() {
      size = document.all.gameSize.value
      if (size<3)
        size=3
      if (size>15)
        size=15
      document.all.gameSize.value = size
      document.all.board.outerHTML = buildBoard()
      moves=0
      document.all.moves.innerText = moves
      countLights()

    }
</SCRIPT>
<P align=center><BIG><span class="STYLE1">在方格上点击,你可以将下面的方格全部填成蓝色吗<STRONG><BIG><BIG>?</BIG></BIG></STRONG></span></BIG></P>
<P align=center class="STYLE2">快开动你智慧脑筋,看看有什么技巧与规律。</P>
<TABLE width="100%" border=1>
  <TBODY>
  <TR>
    <TD width="50%">
      <DIV align=right>
      <TABLE id=score width=284 border=0>
        <TBODY>
        <TR>
          <TD width=52>移动: </TD>
          <TD id=moves width=33>0</TD>
          <TD width=42>灯灭:</TD>
          <TD id=off width=36>25</TD>
          <TD width=46>灯亮:</TD>
          <TD id=on width=39>0</TD></TR></TBODY></TABLE></DIV></TD>
    <TD width="50%">
      <DIV align=left>
      <TABLE width=204>
        <TBODY>
        <TR>
          <TD width=54>大小: </TD>
          <TD width=41><INPUT id=gameSize size=2 value=10></TD>
          <TD
        width=97><INPUT onclick=newGame() type=button value=开始游戏></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE>
<P align=center>
<SCRIPT>
    document.write(buildBoard())
  </SCRIPT>
</P>
</BODY>
</HTML>

JS打造的点灯小游戏,布布扣,bubuko.com

时间: 2024-08-02 19:05:53

JS打造的点灯小游戏的相关文章

原生JS实现的h5小游戏-植物大战僵尸

代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结合面向对象的编程思想进行开发,在实现时使用了部分es6语法,对于es6语法不太熟悉的小伙伴可以先查阅相关资料了解一下. 如有需要,可根据自己的需求修改源码样式.源码配置属性代码,实现个性化定制. 以下为文件目录结构示意图,核心代码在js文件夹下的四个common.js.main.js.game.js

css3+jquery+js做的翻翻乐小游戏

主要是为了练习一下css3的3D翻转功能,就做了这么个小游戏,做的比较粗糙,但是效果看的见. 主要用到的css3代码如下: html结构: 1 <div class="container"> 2 <div class="side"> 3 4 <div class="front"> 5 <!-- 正面 --> 6 </div> 7 8 <div class="back&qu

点灯小游戏

今天闲时,写了个点灯的小游戏,所谓点灯游戏,就是在一个多行多列并排多盏灯的格子里,任意点击一个灯都会将自己及周围的灯的亮暗状态发生变化,当灯全部要点亮后即赢了. 下面是几个比较关键的代码: 1.在:- (void)viewDidLoad:里实现游戏的基本布局,用一个for循环即可,其中定义了两个属性 NSInteger level 和 NSInteger number,分别设置的是每行灯的个数和总共灯的个数,可根据不同关进行改变. 2.下面是UIButton点击时改变自身即周围灯的亮暗状态的方法

IOS点灯小游戏

学习iOSUI阶段第三天掌握了一些视图相关的技巧,于是想到做个小app来巩固一下. 晚上没事就做了这个点灯的小游戏. 关于点灯游戏的相关信息参考百度百科. 一下是我的实现步骤: 第一步:素材准备 准备好两张图片作为游戏中灯的两种状态,一张名为red.jpg(代表灯灭),另一张为:blue.jpg(代表灯亮). 第二步:制作游戏布局 游戏布局是一个N*N的正方形,我使用了UIButton 作为灯来通过循环进行了一个N*N的游戏布局. 刚开始想到了用两层for循环来进行布局,但是仔细思考后发现用一层

JS实现找色块小游戏

之前用WPF的方式做了个简单的小游戏,找不同色块,WPF可以实现,JS更加Easy,于是又用JS做了一个,逻辑差不多,只是代码的实现方式有所不同 先上效果 关键代码如下 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; chars

来点福利,看二维数组如何打造推箱子小游戏

C语言学好,通杀C++.这就是方向之一. 前面看过的读者,是不是觉得很鸡肋的知识,全是基本的运用,可是呢?还是看不出能干吗. 那么下面就用二维数组打造,推箱子小游戏.首先,得问问,有何思路? 光写没有用,没到一部分内容觉得可以了,最好先打印下看看效果,要不然写到都不知道自己有没有写错! 效果如图: 打印这部成功后,可以继续了,没有成功者,仔细检查,错误超出一百以上那肯定是头文件的问题. 这步很关键,没有定位,很难移动,几乎全是报错 这步也能首先打印初始化的坐标. 既然定位坐标的情况已经做好,是不

使用前端原生 js,贪吃蛇小游戏

好久好久,真的是好久好久没来写过了,因为最近有点小忙.不过即使是忙,也也还是写了两个小游戏,其中一个就是这个,贪吃蛇啦. 算是一个小练手了,这个是在有点太简单了,只是第一次写这种小游戏,还是零零星星花了三五天时间,下面就是这个小游戏的gif小动画,比较简单,对比过网上其他用来写出来练手的贪吃蛇作品,这个在颜值还是功能上,都还是不错的,霍霍. 这里讲解一下功能: 空格控制开始和暂停. 方向键控制移动方向. Q 键加速,再按一次恢复常规速度(在加速状态时,按下或者方向键,或者吃到了白色小食物,速度自

js制作贪吃蛇小游戏

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #map{ width: 800px; height: 800px; background-color: black; position: relative; } </style> <

js实现点气球小游戏

二话不说直接贴代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>点气球</title> </head> <body> <!-- 实现功能: js生成div 在页面上向上移动 已不同的速度 点击气球 气球爆炸消失 1.js生成div标签 并初始化 1 一次生成10个 2