0
点赞
收藏
分享

微信扫一扫

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?


文章目录

  • ​​1. 案例介绍​​
  • ​​2. 准备工作​​
  • ​​3. 代码汇总​​
  • ​​4. 运行结果​​
  • ​​5. 后记​​

1. 案例介绍

这个案例是我在看*《计算机是怎样跑起来的》—— 矢泽久雄[日]*看到的一个小案例,使用 Visual Basic Scripting Edition 编写的 “剪刀石头布” 小游戏。

VBScript 是 BASIC 语言的一个版本,可以很方便地在目前的 Win 系列操作系统上运行。

玩家可以和计算机进行五轮的石头剪刀布游戏,比赛结束后,会显示玩家获胜的次数。

2. 准备工作

除了代码和 Win 系列电脑,我们什么都不用准备!

之所以想把这个小案例写进来,是因为它真的非常有意思,得益于操作系统上的组件,我们什么都不用准备(当然代码还是要写的),就能够在我们的电脑上运行。

用于执行 VBScript 程序的 WSH 已作为标准组件,被集成进 Windows 98/Me/2000/XP 操作系统。

3. 代码汇总

以下就是来自于书上的代码示例程序,鉴于可能出现的中文编码错误,我已经将出现的中文改为了英文。我们可以在电脑上将下面程序拷贝到记事本中,然后保存为 .vbs 格式,双击运行即可。

' 初始化表示手势的变量
Dim gesture(2)
gesture(0) = " stone "
gesture(1) = " scissors "
gesture(2) = " cloth "

' 初始化对玩家获胜次数计数的变量
wins = 0

' 初始化随机数种子

Randomize

' 显示程序启动信息

MsgBox "Stone & Scissors & Cloth Game. Ver.1.00 by H.Yazawa"

' 进行五轮比试

For i = 1 To 5
' 输入玩家的手势
user = Cint(InputBox(" 0:Stone, 1:Scissors, 2:Cloth "))

' 用随机数决定计算机的手势
computer = Cint(Rnd * 2)

' 生成提示双方出的手势的字符串
s = " Player: " & gesture(user) & " ,Computer: " & gesture(computer)

' 判定胜负,显示结果
If user = computer Then
MsgBox s & " ...draw! "
ElseIF computer = (user + 1) Mod 3 Then
MsgBox s & " ...player Win! "
wins = wins + 1
Else
MsgBox s & " ...computer Win! "
End If
Next

' 显示玩家的获胜次数
MsgBox " Player wins: " & wins

程序很简单,先是定义变量,然后是五轮循环判断,如果玩家获胜,那么玩家获胜次数加 1,最终统计输出玩家获胜次数。

4. 运行结果

欢迎界面:我们要感谢作者 H.Yazawa。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_microsoft

程序运行界面,告诉我们石头剪刀布分别对应的数字,我们将数字输入到输入框中,然后点击确定即可。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_初始化_02

程序会判断电脑获胜还是玩家获胜。此为玩家获胜的提示。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_microsoft_03

此为电脑获胜的提示。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_microsoft_04

此为平局的提示。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_小游戏_05

最后会打印输出玩家获胜的次数。

【案例】 今天玩点不一样的,剪刀石头布(VBScript 版)?_随机数_06

5. 后记

关于如何统计剪刀石头布的胜负,观察下表,我们可以发现如下规律,首先如果二者不相等,(对应数字+1)mod 3 等于另一个人的结果,那么就说明我获胜,否则失败。

石头:0、剪刀:1、布:2。

0

1

2

0

-

x

o

1

o

-

x

2

x

o

-

以上就是我们这次关于 VBScript 的尝鲜,如果感兴趣的话,以后咱们可以写如何使用 Python 实现剪刀石头布的小游戏,希望你们喜欢,如果有什么问题,也可以私聊我。


举报

相关推荐

0 条评论