今天在看失泽久雄先生著写的《计算机是怎样跑起来的》时,其中有一段使用VBScript编写的石头剪刀布游戏。由于自己是个小白,从来没听说过这种不是特别热门的脚本语言,一看用windows系统的记事本写的代码,保存后,竟然后缀名一改成.VBS就可以在Windows 98版本以上的Windows系统中运行,像这样
于是颇有兴致的实现了一番,并在网上学习了一些VBScript的语法,对书中的这个小程序做了进一步的优化。
由于是在windows系统自带的笔记本中进行编写,所以敲代码的时候非常容易出错,不过好在你可以双击.vbs的文件,如果语法什么的有错误,它会替你检查并报错。
书中小程序的源代码
优化VBScript编写的石头剪刀布游戏代码实现
'初始化表示手势的变量
Dim gesture(2)
gesture(0) = "石头"
gesture(1) = "剪刀"
gesture(2) = "布"
'初始化对玩家获胜次数计数的变量
wins = 0
'初始化随机数种子
Randomize
'显示程序启动信息
MsgBox "破产版石头剪刀布游戏 Version-2.0 by HelloStars"
'进行五轮比试
Dim Count:Count = 5
While Count <> 0
Count=5
For i = 1 to 5
'输入玩家的手势
user = InputBox("游戏共进行5次,请输入手势所代表的数字(0:石头、1:剪刀、2:布)")
'先判断玩家输入的手势是否超过选择的范围
If not (IsNUmeric(user)) Then
msgbox"您输入的不是数字,请重新开始游戏"
Exit For
Elseif user>=3 or user <0 Then
msgbox"您输入的数字超出范围,请重新开始游戏"
Exit For
Else
'用随机数决定计算机的手势
dim max,min
max=2
min=0
computer = (Int((max-min+1)*Rnd+min))
'生成提示双方出的手势的字符串
s = "玩家:" & gesture(user) & "计算机:" & gesture(computer)
End If
'判定胜负,显示结果
If CInt(user) = computer Then
MsgBox s & "---平局!"
ElseIf computer = (user + 1) Mod 3 Then
MsgBox s & "---玩家获胜!"
wins = wins + 1
Else
MsgBox s & "---计算机获胜!"
End If
Count = Count-1
Next
Wend
'显示玩家的获胜次数
MsgBox "玩家获胜次数:" & wins
结果如下:有兴趣的朋友可以自己动手实践一下,