
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
二、获取随机数
微软提供的Rnd函数将返回一个在(0,1)之间的随机数,然而,在我们得到一个随机数之前,建议先发出一个"Randomize Timer"命令,timer函数返回午夜0点以来时间所经历过的秒数,Randomize命令设置了一个随机数产生器的种子,不要研究其背后的深邃的原理,只要明白这个命令可以使我们每一次都可以得到一个不同的随机数就可以了。这也意味着每次星星的图案都不一样。为了进一步说明上面的意思,可以试着使用一个实际的数字代替’Timer’,然后研究一下星星的图案,可以发现每次运行程序星星的图案都是一样的。
让我们现在试着绘制包含一些星星的图案。首先开始一个新的工程,在窗体上分别放置一个图片框和一个命令按钮,在按钮的click事件中添加以下代码:
| Private Sub Command1_Click() Randomize Timer Picture1.ScaleMode = vbPixels For starx = 0 To Picture1.ScaleWidth For stary = 0 To Picture1.ScaleHeight If Rnd < 0.005 Then SetPixelV Picture1.hdc, starx, stary, vbYellow End If Next Next End Sub |
| object.Line [Step] (x1, y1)-[Step] (x2, y2), [color], [B[F]] |
| Picture1.Line (0, Picture1.ScaleHeight - 30)- (Picture1.ScaleWidth, Picture1.ScaleHeight), _ vbWhite, BF |
| Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Const VK_DOWN = &H28 |
| If GetAsyncKeyState(VK_DOWN) <> 0 Then ’ Do thrust stuff Beep End If |
尽管上述代码不长,但它给出了一个基本思路。