js智力小游戏

js智力小游戏
<style>
    #board {cursor: default}
    #board TD {width: 25px; height: 25px; }
  </style>
<script language="JavaScript">
    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 = "yellow"
        el._background = "yellow"
      } 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=="yellow")
            on++
          else
            off ++
        }
        document.all.on.innerText = on
      if (off!=0)
        document.all.off.innerText = off
      else
        document.all.off.innerText = "你赢了!"
      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 = "yellow"
      }
    }

    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"><font color="#0000FF">在方格上点击,你可以将下面的方格全部填成黄色吗?</font></p>

<p align="center"><font color="#0000FF">快开动你智慧脑筋,看看有什么技巧与规律。</font></p>

<table border="1" width="100%">
  <tr>
    <td width="50%"><div align="right"><table ID="score" border="0" width="284">
      <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>
    </table>
    </div></td>
    <td width="50%"><div align="left"><table width="204">
      <tr>
        <td width="54">大小: </td>
        <td width="41"><input ID="gameSize" TYPE="text" VALUE="10" SIZE="2"></td>
        <td width="97"><input ONCLICK="newGame()" TYPE="button" VALUE="开始游戏"></td>
      </tr>
    </table>
    </div></td>
  </tr>
</table>

<p align="center">
<script language="JavaScript">

    document.write(buildBoard())

</script></p>

时间: 2024-07-30 13:48:00

js智力小游戏的相关文章

UVa 10344:23 out of 5, 智力小游戏:算23点

题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=108&page=show_problem&problem=1285 类型: 回溯 原题: Your task is to write a program that can decide whether you can find an arithmetic expression consisting of f

JavaScript制作颜色反转小游戏_javascript技巧

游戏规则: 单击方块,被单击的方块及相邻方块变色,当所有蓝色方块变为橙色时,完成任务,进入下一级. <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame Remove this

JavaScript实现Fly Bird小游戏_javascript技巧

本教程为大家分享了Fly Bird小游戏的制作流程,供大家参考,具体内容如下 1.分析页面结构,理清需求和功能 游戏有三个界面,分别是开始界面,游戏界面和游戏结束界面. 1.1 开始界面 start.gif 游戏的大背景 上下移动的游戏标题和翅膀摆动的小鸟 start 按钮,点击进入游戏界面 一直移动的地面 1.2 游戏界面 play.gif 显示越过障碍数量的计分器 移动的障碍物,分别是上管道和下管道 点击游戏界面,小鸟向上飞起,然后在重力作用下下坠, 当小鸟和管道碰撞后,结束界面弹出,同时小

js猜数字小游戏的简单实现代码

这篇文章介绍了js猜数字小游戏的简单实现代码,很好玩的游戏哦,可以看看你的智商 是否惊人额   复制代码 代码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xh

js实现俄罗斯方块小游戏分享

 这篇文章主要介绍了js实现俄罗斯方块小游戏分享,,需要的朋友可以参考下 代码如下: <!doctype html><html><head><style type="text/css"> body { background:#000; font:25px/25px 宋体;} #box { float:left;width:252px;border:#999 20px ridge;color:#9f9;text-shadow:2px 3px

js仿3366小游戏选字游戏_javascript技巧

本文实例为大家分享了js仿3366小游戏中"你是色盲吗"游戏,大家先来挑战一下 游戏目标: 按画面中出现的文字的颜色来选择颜色,千万不要被颜色的困局打扰,眼睛一定要放亮哦,游戏开始时会有10分,每答对一题得一分,总共有10分,时间用完游戏会结束.操作说明: 鼠标点击选择颜色 1.效果图: 原图: 模仿: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &

JS小游戏之仙剑翻牌源码详解_javascript技巧

本文实例讲述了JS小游戏的仙剑翻牌源码,是一款非常优秀的游戏源码.分享给大家供大家参考.具体如下: 一.游戏介绍: 这是一个翻牌配对游戏,共十关. 1.游戏随机从42张牌中抽取9张进行游戏,每组为2张相同的牌,共18张牌. 2.连续翻到两张相同的为胜利,当9组全部翻到则过关.如不是翻到连续两张相同的,则需要重新翻. 3.游戏共有10关,在规定时间内通过为挑战成功. 4.如果某关在规定时间内没有通过,则会从当前关继续游戏. 5.游戏中的卡牌图片与音乐均为大宇公司所有. 6.需要支持html5的浏览

纯js和css完成贪吃蛇小游戏demo_javascript技巧

本文实例为大家分享了js贪吃蛇小游戏demo,纯js和css完成,供大家参考,具体内容如下 <!doctype html> <html> <meta charset="utf-8"> <head> <style> *{ margin: 0; padding:0; } .content{ position: absolute; width: 500px; height: 500px; background-color: #212

js H5 canvas投篮小游戏_javascript技巧

本文实例为大家分享了H5 canvas投篮小游戏实现代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body onload="init(19,'mylegend',820,500,main,LEvent.INIT)"> <div