⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 点灯游戏.htm

📁 VBSCRIPT的源码,相信很多html程序员都会用到,这些源码小小变动一下,可以用在很多地方,尤其在DHTML中!
💻 HTM
字号:
<html>
<head>
<meta name="VI60_DefaultClientScript" Content="VBScript">
<meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<title>点灯游戏</title>
<style>
img{height:50;width:50}
</style>
</head>
<script language="VBS">
<!--
'定义外部变量clicktime,用来记载用户的点击次数
dim clicktime
'clicktime清零
clicktime=0
dim diff
'diff变量表示定时的时间间隔,用分钟表示
diff=20
dim t0
't0变量表示开始计时的时间
t0=0
'定义步数的纪录
dim recordtime
'定义是否检查步数限制的标志变量
dim checkclick
checkclick=false
'定义时间循环句柄tid
dim tid

'游戏初始化过程
sub init
    '初始化灯的图案
    dim i,j
    for i=1 to 5
	for j=1 to 5
	    document.all("light"&i&j).src="back.jpg"
	next 
    next
'初始化点击次数
	clicktime=0
'初始化三个按钮状态及下拉选单、消息框的值
	button1.disabled =false
	button2.disabled =false
	button3.disabled =false
	select1.selectedIndex =0
'将是否点击的标志置否
	checkclick=false
'将时间间隔初始化为20分钟
	diff=20
'如果浏览器不允许cookie,则从一开始便禁用button2
	if window.navigator.cookieEnabled =false then
		button2.disabled=true
	end if
'如果cookie中有纪录
	if instr(1,document.cookie,"record")<>0 then 
		'则读取纪录备用
		recordtime=20'cookievalue("record")
	else 
		'否则重设纪录,设一个很大的整数
		recordtime=40
		document.cookie="record="&recordtime
	end if
end sub

'下面的过程用来改变灯的状态
sub turn(i,j)
dim tmp
'根据参数建立与i行j列相应的屏幕上的图像对象
'此对象命名为tmp
	set tmp=document.all("light"&i&j)
'如果发现在这盏灯是灭的,即相应的图像名称中无light串
	if instr(1,tmp.src,"light")=0 then 'instr(1,tmp.src,"light")=0表示图象文件名不包含light
		'则让它亮,即把表示灯亮的图像赋给图像的src属性
		tmp.src="light.jpg"
	else
		'否则,让它灭,即把表示灯灭的图像赋给图像的src属性
		tmp.src="back.jpg"
	end if
end sub

'下面的函数用来检查是否全部灯都已经亮了,即游戏结束了
function check
	'定义变量all,表示灯亮的盏数
	dim all
	'定义变量tmp,作临时的对象
	dim tmp
	'all清零
	all=0
'循环25盏灯
    for i=1 to 5
	for j=1 to 5
	  	'设置对象为相应的灯
		set src=document.all("light"&i&j)
		'判断这盏灯的状态,如果是亮着的,就把all变量加1
		if instr(1,src.src,"light")<>0 then all=all+1
	next 
    next
'如果25盏灯全部亮了
if all=25 then 
	'游戏结束,check函数返回真值
	check=true 
else 
	'否则,check函数返回假值
	check=false
end if 
end function

'下面的过程处理用户点灯的事件
sub dealclick
  '定义变量src,作为用户点击对象的变量
  dim src
  '定义src_i,src_j
  '如果点击来自25盏灯中的一个,那么,src_i表示它的行数,src_j表示它的列数
   dim src_i,src_j
   '截获用户事件的对象
   set src=window.event.srcElement 
   '判断是否为点击了灯
   if instr(1,src.id,"light")=0 then exit sub
  '如果是,获取灯的行列值src.id是图象位置的名称
  '比如,若单击的是第2行第3列的位置则src.id=light23
	src_i=mid(src.id,6,1)
	src_j=mid(src.id,7,1)
'翻转灯的状态
turn src_i,src_j
	'如果可能,翻转这盏灯上下左右灯的状态
	if src_i-1>0 then 
		turn src_i-1,src_j
	end if
	if src_i+1<6 then 
		turn src_i+1,src_j
	end if
	if src_j-1>0 then 
		turn src_i,src_j-1
	end if
	if src_j+1<6 then 
		turn src_i,src_j+1
	end if
	'将点击数加1
	clicktime=clicktime+1
	'如果限制步数变量为真,且同时点击次数大于纪录
	if checkclick and clicktime>recordtime then 
	'则给出超步数信息
	msgbox "点击次数超过纪录了"
	'重开一局
	call init '初始化
	exit sub
  end if 
	'判断游戏是否结束,如果结束发出恭贺的信息,并给出点击次数
	if check then 
		'如果点击次数小于纪录
		if clicktime<recordtime then 
			'则显示破纪录的信息
			msgbox "您破了纪录,新的纪录为"&clicktime&"次"
			'将纪录记入cookie
			document.cookie="record="&clicktime
			'重开一局
			init
		else
			'否则显示恭喜信息
			msgbox "恭喜您,成功了,共点击了"&clicktime&"次"
			'重开一局
			init
		end if
	end if 
end sub

'察看点击次数的按钮单击事件处理过程
sub button1_onclick
'在游戏过程中,给出单击次数
msgbox "您已经点击了"&clicktime&"次"
end sub

'限定时间按钮单击的事件处理过程
sub button2_onclick
'开启时间限定后就不能随意暂停,除非重开一局,因此将按钮置为不能响应
button2.disabled =true
'获取基准时间
t0=now
'调用计时过程
clockon
end sub

'限定步数的按钮单击的事件处理过程
sub button3_onclick
msgbox "开始限制步数,您的纪录是"&recordtime
'将检查点击次数标志置真
checkclick=true
'开启步数限定后就不能随意暂停,除非重开一局,因此将按钮置为不能响应
button3.disabled =true
end sub 

'计时程序
sub clockon
'定义临时变量t存储当前时间
'定义临时变量d存储当前时间与开始计时时间的差
dim t,d
'获取当前时间
t=now
'计算差值
d=diff*60-Datediff("s",t0,t)
'及时更改文本框中的提示
'如果差值小于等于0,即到点了
if d<=0 then 
'清除计时循环句柄tid
window.clearTimeout(tid)
'给出重开一局的信息
msgbox "到时间了,请您重开一局吧!"
'重开一局
init
else
'计时循环
tid=setTimeout("clockon",1000)
end if 
end sub

'下拉菜单改变时触发的事件处理过程
sub select1_onchange
	'根据玩家不同的选择决定时间间隔
	select case select1.selectedIndex 
	'选择20分钟,则令diff=20
	case 0 
		diff=20
		'选择10分钟,则令diff=10
	case 1
		diff=10
		'选择5分钟,则令diff=5
	case 2
		diff=5
	case 3
		diff=3
	'选择1分钟,则令diff=1
	case 4
		diff=1
	end select
end sub

'重新开始按钮的单击过程
sub button4_onclick
window.clearTimeout(tid)
init
end sub

sub pp_onclick
for i=1 to 5
for j=1 to 5
set tmp=document.all("light"&i&j)
tmp.src="light.jpg"
next 
next
msgbox "您破了纪录,新的纪录为"&clicktime&"次"
end sub
-->
</script>
<body bgcolor="#690096" bgproperties="fixed" onclick="dealclick" onload="init">
<p id=pp align="center">
<font size="7" color="#FFFF00"><strong>点灯游戏</strong></font></p>
<div align="center"><center>

<table border="2" width="100%" height="249">
  <tr>
    <td width="72%" height="243" valign="center" align="middle">
    <img id="light11" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light12" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light13" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light14" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light15" src="back.jpg" WIDTH="146" HEIGHT="150">
    <br>
    <img id="light21" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light22" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light23" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light24" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light25" src="back.jpg" WIDTH="146" HEIGHT="150">
    <br>
    <img id="light31" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light32" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light33" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light34" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light35" src="back.jpg" WIDTH="146" HEIGHT="150">
    <br>
    <img id="light41" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light42" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light43" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light44" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light45" src="back.jpg" WIDTH="146" HEIGHT="150">
    <br>
    <img id="light51" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light52" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light53" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light54" src="back.jpg" WIDTH="146" HEIGHT="150">
    <img id="light55" src="back.jpg" WIDTH="146" HEIGHT="150">
    <br>
    </td>
    <td width="28%" height="243" valign="center">
       <P><font size="5" color=red>规则:</font>
       	  <font  color="#30ff00">
       		每次点亮一盏灯,这盏灯周围(上下左右)的灯都会亮。点击已经亮了的灯同样会熄灭自己及其周围的灯。考考你自己,能不能在最短的时间,最小的步数内将所有的灯点亮。
         </font><br>
         <input type="button" value="点击次数" name=button1 id=button1>
         <INPUT id=button3 name=button3 type=button value=限制步数>
      </P>
       <P><INPUT id=button2 name=button2 style="LEFT: 2px; TOP: 227px" type=button value=限制时间>
          <SELECT id=select1 name=select1 style="HEIGHT: 21px; WIDTH: 74px">
                    <OPTION selected>20分钟
                    <OPTION>10分钟
                    <OPTION>5分钟
                    <OPTION>3分钟
                    <OPTION>1分钟
                    </SELECT>
       </P>
       <P><INPUT id=button4 name=button4 type=button value=重新开始></P>
    </td>
  </tr>
</table>
</center>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -