📄 点灯游戏.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 + -