关于密码锁的疑问
[这个贴子最后由kooboo0在 2003/08/21 11:49am 第 2 次编辑]
密码=91742,
3,5,6,8,0什么时候输入都是错误的,所以Script3,Script5,Script6,Script8,Script0将a赋值为0,将b赋值为1,以后无论如何运算(
预先设定的运算模式)都不会正确。其实这个程序a,b,c的为变量,通过程序设计者设定的运算模式(这叫算法?!),符合条件者显示正确,不符合条件者显示错误,因为我没有编程基础,起初看这个程序时不知从何入手,慢慢看多了开始有点头绪了,是不是这个程序编写是从Script9(因为密码第一个数字为9)开始?不知道这样理解对不对,其他的还未十分明白,继续看,呵呵~另外还有一个问题就是这个程序的a,b,c的初值都是是0吗,好像我没有发现程序中声明变量,难道程序开始时自动运行Reset ?
Script1
WavePlay("1","") **播放1.Wav
RunScript("display _star") **运行display _star脚本
if (b=1) then **如果b=1,那么返回
Return()
end **结束
if (a=1) then
a=a+1
end
if (a<>2) then **如果a不等于2,那么a赋值为0,B赋值为1
a=0
b=1
end
Script2
if (a<4) then
WavePlay("2","")
end
RunScript("display _star")
if (b=1) then
Return()
end
if (a=4) then
a=a+1
Show("Congratulation !")
WavePlay("acessed","")
c=7
end
if (a<>5) then
a=0
b=1
end
Script3
WavePlay("3","")
a=0
b=1
RunScript("display _star")
Script4
WavePlay("4","")
RunScript("display _star")
if (b=1) then
Return()
end
if (a=3) then
a=a+1
end
if (a<>4) then
a=0
b=1
end
Script5
WavePlay("5","")
a=0
b=1
RunScript("display _star")
Script6
WavePlay("6","")
a=0
b=1
RunScript("display _star")
Script7
WavePlay("7","")
RunScript("display _star")
if (b=1) then
Return()
end
if (a=2) then
a=a+1
end
if (a<>3) then
a=0
b=1
end
Script8
WavePlay("8","")
RunScript("display _star")
a=0
b=1
Script9
WavePlay("9","")
RunScript("display _star")
if (b=1) then
Return()
end
if (a=0) then
a=a+1
end
if (a<>1) then
a=0
b=1
end
Script0
WavePlay("0","")
RunScript("display _star")
a=0
b=1
Reset
a=0
b=0
c=0
Hide("Congratulation !")
Hide("Wrong Password !")
Hide("All_Stars")
Show("Locked")
Hide("Unlocked")
Display_star
c=c+1
if (c=1) then
Show("Star_01")
end
if (c=2) then
Show("Star_02")
end
if (c=3) then
Show("Star_03")
end
if (c=4) then
Show("Star_04")
end
if (c=5) then
Show("Star_05")
end
if (c=6) then
Show("Wrong Password !")
end