📄 frmrolldice.frm
字号:
VERSION 5.00
Begin VB.Form frmRollDice
Caption = "Fig. 6.18: Simulating rolling six-sided dice"
ClientHeight = 4980
ClientLeft = 2565
ClientTop = 1425
ClientWidth = 5040
LinkTopic = "Form1"
ScaleHeight = 4980
ScaleWidth = 5040
Begin VB.ListBox lstStatistics
Height = 1425
Left = 285
TabIndex = 1
Top = 3450
Width = 4410
End
Begin VB.CommandButton cmdRoll
Caption = "Roll"
Height = 495
Left = 1935
TabIndex = 0
Top = 2790
Width = 1215
End
Begin VB.Image imgDie1
Height = 645
Left = 330
Top = 210
Width = 810
End
Begin VB.Image imgDie4
Height = 645
Left = 3855
Top = 210
Width = 810
End
Begin VB.Image imgDie2
Height = 645
Left = 1515
Top = 210
Width = 810
End
Begin VB.Image imgDie7
Height = 645
Left = 2745
Top = 1065
Width = 810
End
Begin VB.Image imgDie9
Height = 645
Left = 330
Top = 1920
Width = 810
End
Begin VB.Image imgDie10
Height = 645
Left = 1515
Top = 1920
Width = 810
End
Begin VB.Image imgDie11
Height = 645
Left = 2745
Top = 1920
Width = 810
End
Begin VB.Image imgDie12
Height = 645
Left = 3855
Top = 1920
Width = 810
End
Begin VB.Image imgDie8
Height = 645
Left = 3855
Top = 1065
Width = 810
End
Begin VB.Image imgDie3
Height = 645
Left = 2745
Top = 210
Width = 810
End
Begin VB.Image imgDie5
Height = 645
Left = 330
Top = 1065
Width = 810
End
Begin VB.Image imgDie6
Height = 645
Left = 1515
Top = 1065
Width = 810
End
End
Attribute VB_Name = "frmRollDice"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' Fig. 6.18
' Six-sided die simulation
Option Explicit ' General declaration
' Declare module variables
Dim mFace1 As Integer, mFace2 As Integer ' General declaration
Dim mFace3 As Integer, mFace4 As Integer ' General declaration
Dim mFace5 As Integer, mFace6 As Integer ' General declaration
Dim mTotalRolls As Integer ' General declaration
Private Sub cmdRoll_Click()
mTotalRolls = mTotalRolls + 12
Call DisplayDie(imgDie1, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie2, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie3, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie4, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie5, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie6, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie7, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie8, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie9, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie10, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie11, 1 + Int(6 * Rnd()))
Call DisplayDie(imgDie12, 1 + Int(6 * Rnd()))
Call lstStatistics.Clear
Call DisplayStats
End Sub
Private Sub DisplayDie(imgDie As Image, face As Integer)
Select Case face
Case 1
mFace1 = mFace1 + 1
Case 2
mFace2 = mFace2 + 1
Case 3
mFace3 = mFace3 + 1
Case 4
mFace4 = mFace4 + 1
Case 5
mFace5 = mFace5 + 1
Case 6
mFace6 = mFace6 + 1
End Select
imgDie.Picture = LoadPicture("d:\images\common\die" _
& face & ".gif")
End Sub
Private Sub DisplayStats()
lstStatistics.AddItem "Face" & vbTab & "Frequency" & _
vbTab & "Percent"
lstStatistics.AddItem 1 & vbTab & mFace1 & vbTab & vbTab & _
Format$(mFace1 / mTotalRolls, "Percent")
lstStatistics.AddItem 2 & vbTab & mFace2 & vbTab & vbTab & _
Format$(mFace2 / mTotalRolls, "Percent")
lstStatistics.AddItem 3 & vbTab & mFace3 & vbTab & vbTab & _
Format$(mFace3 / mTotalRolls, "Percent")
lstStatistics.AddItem 4 & vbTab & mFace4 & vbTab & vbTab & _
Format$(mFace4 / mTotalRolls, "Percent")
lstStatistics.AddItem 5 & vbTab & mFace5 & vbTab & vbTab & _
Format$(mFace5 / mTotalRolls, "Percent")
lstStatistics.AddItem 6 & vbTab & mFace6 & vbTab & vbTab & _
Format$(mFace6 / mTotalRolls, "Percent")
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -