VB掷筛子

VB掷筛子,第1张

自行制作界面,做一个标签,设置大一点的字体,再做2个按钮,再加入一个姿者定时器控件。复制以迹差薯下代码,就庆姿行了。

Dim a(6) As Integer, n As Integer

Private Sub Command1_Click()’掷

Timer1.Enabled = True

End Sub

Private Sub Command2_Click()‘统计

Print "点数", "次数"

For i = 1 To 6

Print i, a(i)

Next i

End Sub

Private Sub Form_Load()

Timer1.Interval = 20

End Sub

Private Sub Timer1_Timer()

x = Int(6 * Rnd) + 1

Label1.Caption = x

n = n + 1

If n = 30 Then

n = 0

Timer1.Enabled = False

a(x) = a(x) + 1

End If

End Sub

这段代码可以用数学中的复合命题辅助理解,该段代码中的if

i<>2

or

i<>4

then

可以理解为“或命题”(举丛p

or

q),在或命题,只要p或者q有一个是真的正伍樱,那么命题“p

or

q”就是真命题,要想“p

or

q”成为假命题,必须p和q都为假才行。再看这段代码:

For

i

=

0

To

6

If

i

<>

2

Or

i

<>

4

Then

Shape2(i).FillColor

=

&H0&

End

If

Next

i

在区间[0,6]中,任意橘贺一个整数只要满足“

i

<>

2

Or

i

<>

4

”这个或命题就可以继续执行代码,这样的整数有多少?有7个,0到6都是(把2和4拿出来看,2=2,不满足或命题的一个条件,但是满足另外一个,即2不等于4,同理,4也是如此)。

这段代码的if

then

语句部分可以改成i不等于任何整数,比如改成“if

i<>1

or

i<>5

then”或者“if

i<>3

or

i<>6

then”等等,这样改动不会影响程序运行。所以我认为这段代码中加入“if

then”语句是多余的(加了不会影响程序运行),不如直接写成:

For

i

=

0

To

6

Shape2(i).FillColor

=

&H0&

Next

i

Private Sub Command1_Click()

Dim a(1 To 空差6), n, i

Randomize

For i = 1 To 200

n = Int(Rnd * 6) + 1

a(n) = a(n) + 1

Next

Text1 = "掷骰子200次结果:" & vbCrLf

For i = 1 To 6

Text1 = Text1 & "掷" & i & "点" & 誉亏旅a(i) & "次" 庆凳& vbCrLf

Next

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12486093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存