① 转盘转动的模拟。如何让转盘转起来呢?这其中有一个小把戏,就是让数值在转盘各个位置不断的顺序填入,同时让各个单元格的颜色不断的交替变化,这样就会形成一个转盘转动的效果。
下面我做几个截图给大家看看这一思路,我做了三个截图,相当于视频中的三帧画面,我们可以看到数值是按照固定的顺序在单元格中进行填充的,同时各个单元格的颜色也是在交替的变化中,视觉上画面就如转盘在转动。
② 声音的效果 关于声音效果的实现在我的教程中这是首次给出,我用一个API函数sndPlaySound来实现声音的播放。在本讲的实例中我还给出了支持32位和64位的两种写法:
#If VBA7 Then
Private Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If
由于我们只讲VBA,对于API函数我们只是利用,大家只需记住代码即可。在提取出数值后我们还要利用声音播放,这里我们利用的是Range.Speak 方法。
Range.Speak 方法:按行或列的顺序朗读单元格区域。
语法:expression.Speak (SpeakDirection, SpeakFormulas)
expression 一个表示 Range 对象的变量。
③ 游戏的公正性设置 我们知道,对于这种游戏而言,乐趣有时候不在于结果,而是对结果的期待。如果结果被赋予了某种了特殊的含义,那么这种乐趣也就没有了。这就是游戏的公正性。为了保证游戏的公正性,我要利用两次排序实现,一是对序号进行排序,无论录入的序号先后,都将按一定的规律从大到小进行排序,然后,我将利用随机数对这些序号进行乱序排序,就是再建立一列随机数,按照随机数大小对这些序号进行排序,造成一种乱序的效果,然后我们将循环所有的序号个数的次数,最后提取出数值。
【待续】