利用VBA制作一个转盘游戏之一

利用VBA制作一个转盘游戏之一

首页休闲益智转盘停车更新时间:2024-05-11

分享成果,随喜正能量】性子越急智慧越低,性子越稳智慧越深;妻子越贤夫祸越少,丈夫越仁妻子越美;。

《VBA高级应用30例》(10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。本套教程共三册三十个专题,今日内容是第5 个专题“利用VBA制作一个转盘游戏”,今日讲解:利用VBA制作一个转盘游戏之一

应用5 利用VBA制作一个转盘游戏

在实际工作中,我们发现Excel是一个非常严肃和强大的应用程序,但这并不意味着我们不能从中得到乐趣。在本文中,我将给大家讲解如何构建一个Excel文件,使您能够玩幸运轮,同时我们会辅助声音和一些必要游戏基础设施构建!

1 实现转盘游戏的效果

我们的目的是要建立一个游戏,这个游戏是利用转盘旋转,当我们点击开始的时候,转盘会转动,经过一定的时间,转盘停止。指针指向的数值就是我们要提取的结果。如下面的界面:

为了使游戏效果更加逼真,我们还要利用声音效果,在转盘转动的时候会发出转盘转动的声音,停止的时候,声音会停止。

为了让游戏更具有趣味性,我们还可以扩展一下游戏的功能,可以在游戏前指定参与的数值个数,如果这些数值和人名是对应的,那么我们就可以抽取指定人选中的幸运人员了。

为了让游戏具有感染效果,我们还可以增加动画效果让“幸”“运”“大”“转”“盘”五个字的前景色随转盘的转动而变化。

2 实现转盘游戏的思路分析

① 转盘转动的模拟。如何让转盘转起来呢?这其中有一个小把戏,就是让数值在转盘各个位置不断的顺序填入,同时让各个单元格的颜色不断的交替变化,这样就会形成一个转盘转动的效果。

下面我做几个截图给大家看看这一思路,我做了三个截图,相当于视频中的三帧画面,我们可以看到数值是按照固定的顺序在单元格中进行填充的,同时各个单元格的颜色也是在交替的变化中,视觉上画面就如转盘在转动。

② 声音的效果 关于声音效果的实现在我的教程中这是首次给出,我用一个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 方法。

语法:expression.Speak (SpeakDirection, SpeakFormulas)

expression 一个表示 Range 对象的变量。

名称

必需/可选

数据类型

说明

SpeakDirection

可选

Variant

朗读的方向,按行或按列。

SpeakFormulas

可选

Variant

如果为 True,对那些有公式的单元格来说,公式将被发送到“文本到语音”(TTS) 引擎。 如果单元格没有公式,则发送值。 如果为 False(默认值),则始终将值发送到 TTS 引擎。

③ 游戏的公正性设置 我们知道,对于这种游戏而言,乐趣有时候不在于结果,而是对结果的期待。如果结果被赋予了某种了特殊的含义,那么这种乐趣也就没有了。这就是游戏的公正性。为了保证游戏的公正性,我要利用两次排序实现,一是对序号进行排序,无论录入的序号先后,都将按一定的规律从大到小进行排序,然后,我将利用随机数对这些序号进行乱序排序,就是再建立一列随机数,按照随机数大小对这些序号进行排序,造成一种乱序的效果,然后我们将循环所有的序号个数的次数,最后提取出数值。

【待续】

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

分享成果,随喜正能量】 子女越孝父母越安,父母越慈子孙越贤。做人要方,做事需圆;小事糊涂,大事清楚;小胜靠智,大胜靠德;能忍是聪,会让是明;​​。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved