前两天拜读失泽久雄先生所著写的《计算机是怎样跑起来的》,当时看书中的代码用VBS语言写的一个石头剪刀布游戏特别好玩,于是手敲了一遍,并做了些改进——石头剪刀布小游戏。结果后来给一个朋友看,发现有bug,于是又在网上查了些资料,做了一些改进,此次带来石头剪刀布3.0破产版。
以下为代码实现,纯属无聊,没有妹子聊天的朋友可以试一试,用Windows自带的笔记本把下面的代码粘过去,文档后缀名改成 .VBS就可以运行了。
终极破产版石头剪刀布
'初始化表示手势的变量
Dim gesture(2),t1,t2
gesture(0) = "石头、"
gesture(1) = "剪刀、"
gesture(2) = "布、"
'记录游戏开始时间
t1=timer()
'初始化对玩家获胜次数计数的变量
wins = 0
'初始化随机数种子
Randomize
'显示程序启动信息
MsgBox "破产版石头剪刀布游戏 Version-3.0 by HelloStars"
'进行五轮比试
Dim Count:Count = 5
While Count <> 0
Count=5
For i = 1 to 5
'输入玩家的手势
user = InputBox("游戏共进行5次,请输入手势所代表的数字(0:石头、1:剪刀、2:布)"& vbcrlf &"点击取消将退出游戏","石头剪刀布小游戏3.0 by HelloStars","请输入")
'退出程序
If user ="" Then
WScript.Quit
'先判断玩家输入的手势是否超过选择的范围
ElseIf not (IsNUmeric(user)) Then
msgbox"您输入的不是数字,请重新开始"
Exit For
ElseIf user>=3 or user <0 Then
msgbox"您输入的数字超出范围,请重新开始"
Exit For
Else
'用随机数决定计算机的手势
computer = Cint(Rnd * 2)
'生成提示双方出的手势的字符串
s = "玩家:" & gesture(user) & "计算机:" & gesture(computer)
End If
Count = Count-1
Next
Wend
'显示玩家的游戏时间
t2=timer()
runtime=round((t2-t1),2)
MsgBox "你玩了"&runtime&"秒"
'显示玩家的获胜次数
MsgBox "你的获胜次数:" & wins
Sub Hello()'创建方法
'判定胜负,显示结果
If CInt(user) = computer Then
MsgBox s & "---平局!"
ElseIf computer = (Cint(user) + 1) Mod 3 Then
MsgBox s & "---oh my god!你赢了!"
wins = wins + 1
Else
MsgBox s & "---计算机获胜!"
End If
End Sub