VisualFreeBasic游戏趣味编程_4.7_按键切换效果

2026-1-21 / 0 评论 / 77 阅读

利用do循环和IsKeyPress()函数,可以实现每次按键后,重新生成随机颜色。另外,利用Randomize()函数对随机函数初始化,避免每次运行的随机颜色都一样。

Sub 游戏执行过程(hWndForm As hWnd)
   Dim gg As yGDI = hWndForm
   gg.Cls BGR(180, 180, 180) 'GDI的颜色值。
   gg.Pen 0, 0 '设置线条为没有
   Dim i As Long, j As Long, 度 As Long
   Do
      Randomize
      Dim h      As Long     = int(Rnd * 18) * 10
      Dim color1 As COLORREF = HSBtoRGB_Gdi(HSB(h, 90, 80, 255))
      Dim color2 As COLORREF = HSBtoRGB_Gdi(HSB(h + 180, 90, 80, 255))
      For j = 110 To 30 Step -25
         For i = 0 To 350 Step 18
            画扇形(gg, 120, 120, j, i + 3 + 度, i + 0 + 度, BGR(0, 0, 0))
            画扇形(gg, 120, 120, j, i + 8 + 度, i + 3 + 度, color1)
            画扇形(gg, 120, 120, j, i + 13 + 度, i + 8 + 度, BGR(255, 255, 255))
            画扇形(gg, 120, 120, j, i + 18 + 度, i + 13 + 度, color2)
         Next
         度 += 9
      Next
      gg.Redraw 
      Do
         If IsKeyPress(VK_SPACE) Then  Exit Do'按下了空格键"
         Sleep 100
      Loop
   Loop

End Sub

练习题4-4:gg.DrawLine (x1, y1, x2, y2)可以画一条直线,(x1,y1)、(x2,y2)为直线两个端点的坐标。尝试绘制图4-15所示的围棋棋盘。

练习题4-5:利用画线函数和循环语句,尝试绘制图4-16所示的错觉图片。其错觉原理和“旋转蛇”错觉原理一样,第1行、第3行图片好像在向左移动,第2行、第4行图片好像在向右移动。

评论一下?

OωO
取消