本节讲解如何利用数组记录生成100个随机圆

首先定义3个数组存储所有圆的圆心坐标、半径:
Dim 圆心x(99) As Long '数组存储所有圆心的x坐标
Dim 圆心y(99) As Long '数组存储所有圆心的y坐标
Dim 半径(99) As Long '数组存储所有圆的半径
设定圆的个数=100,在for循环中随机生成圆心坐标、半径,并存储在数组中:
'生成圆,把数据保存在数组中
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 i = 0 To 圆的个数 -1
gg.DrawEllipse 圆心x(i) -半径(i), 圆心y(i)-半径(i),半径(i)*2,半径(i)*2
Next
完整代码参看
Sub 游戏执行过程(hWndForm As hWnd)
Dim gg As yGDI = hWndForm
Dim pi As Single = 3.1415926 / 180
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 i = 0 To 圆的个数 -1
gg.DrawEllipse 圆心x(i) -半径(i), 圆心y(i)-半径(i),半径(i)*2,半径(i)*2
Next
End Sub
评论一下?