VisualFreeBasic游戏趣味编程_6.2_每次增加一个随机圆

2026-1-22 / 0 评论 / 47 阅读

为了显示圆生成的过程,我们修改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

评论一下?

OωO
取消