为了显示圆生成的过程,我们修改6-1的代码,实现每隔100毫秒,添加一个随机圆并绘制。完整代码参看
Sub 游戏执行过程(hWndForm As hWnd)
Dim gg As yGDI = hWndForm
Dim 圆心x(99) As Long '数组存储所有圆心的x坐标
Dim 圆心y(99) As Long '数组存储所有圆心的y坐标
Dim 半径(99) As Long '数组存储所有圆的半径
Dim 圆的个数 As Long = 100
Dim 游戏W As Long = DpiScaleI(Form1.ScaleWidth) '游戏区的尺寸
Dim 游戏H As Long = DpiScaleI(Form1.ScaleHeight)
Dim 圆的最小半径 As Long = 5
Dim 圆的最大半径 As Long = 40
'生成圆,把数据保存在数组中
Dim i As Long
For i = 0 To 圆的个数 -1
圆心x(i) = Int(Rnd *游戏W)
圆心y(i) = Int(Rnd *游戏H)
半径(i) = Int(Rnd * (圆的最大半径 - 圆的最小半径 + 1)) + 圆的最小半径
Next
gg.Pen 1, BGR(105, 105, 105) 'GDI的颜色值。
gg.Brush BGR(204, 204, 0) 'GDI的颜色值。
For 圆的个数 = 1 To 100
gg.Cls
For i = 0 To 圆的个数 -1
gg.DrawEllipse 圆心x(i) - 半径(i), 圆心y(i) - 半径(i), 半径(i) * 2, 半径(i) * 2
Next
gg.DrawString 10,10,Str(圆的个数)
gg.Redraw
Sleep 100
Next
End Sub
评论一下?