[VB6 ] 請問VB6- 走迷宮閃爍的問題~
因為課業上的需求,所以做了一個走迷宮的小遊戲,
基本上的執行都沒問題,可是唯一的問題就出在:
我每走一步(每按一次移動鍵)迷宮地圖就會閃爍一次。
因為我對VB的了解和使用還不是很熟悉,不知道要怎麼排解這個問題,
所以想請板上的高手們幫忙,可以教我或提示我應該怎麼修改嗎?
程式碼有點長,不過都在畫迷宮,所以節錄部分貼~
Dim Maze(40, 40) As Integer
Dim ax, ay As Integer
Dim bx, by As Integer
Dim cx, cy As Integer
-------------------------------------------------
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Cls
For y = 0 To ay
Maze(0, y) = "1"
Maze(ax, y) = "1"
Next y
For x = 0 To ax
Maze(x, 0) = "1"
Maze(x, ay) = "1"
Next x
For x = 1 To ax - 1
For y = 1 To ay - 1
Maze(x, y) = 1
For j = 4 To 7
Maze(2, j) = 0
Next
For j = 7 To 10
Maze(3, j) = 0
Next
(省略畫迷宮~)
Next y
Next x
Label1.Caption = "0"
Maze(20, 20) = 2 '起點
bx = 20
by = 20
Maze(37, 37) = 3 '終點
show_maze
End Sub
---------------------------------------------------------
Sub show_maze()
Cls
For y = 0 To ay
For x = 0 To ax
If Maze(x, y) = 1 Then
Print "■"; '地圖呈現的圖樣
ElseIf Maze(x, y) = 2 Then
Print "♂"; '起點
ElseIf Maze(x, y) = 3 Then
Print "㊣"; '終點
Else
Print " ";
End If
Next x
Print
Next y
'Label1.Caption = Label1.Caption & bx & "," & by
End Sub
-----------------------------------------------------
Private Sub Command1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 52 '4
Label1.Caption = Label1.Caption + 1
cx = -1
cy = 0
check_moving
Case 56 '8
Label1.Caption = Label1.Caption + 1
cx = 0
cy = -1
check_moving
Case 54 '6
Label1.Caption = Label1.Caption + 1
cx = 1
cy = 0
check_moving
Case 50 '2
Label1.Caption = Label1.Caption + 1
cx = 0
cy = 1
check_moving
End Select
End Sub
--------------------------------------------------
Private Sub Form_Load()
ax = 39
ay = 39
End Sub
--------------------------------------------------
Sub check_moving()
Dim T As Integer
T = Label1.Caption
nx = bx + cx
ny = by + cy
If nx < 0 Or nx > ax Then Exit Sub
If ny < 0 Or ny > ay Then Exit Sub
If Maze(nx, ny) = 0 Or Maze(nx, ny) = 3 Or Maze(nx, ny) = 4 Then '允許移動
Maze(nx, ny) = 2
Maze(bx, by) = 0
bx = nx
by = ny
Else
'會撞牆,不移動
End If
show_maze
End If
End Sub
--------------------------------------------------
以上。
對不起貼上來的程式碼很多,
希望有人可以幫我解決這個問題~
非常感謝:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.28.23
→
04/12 02:00, , 1F
04/12 02:00, 1F
→
04/12 02:01, , 2F
04/12 02:01, 2F
→
04/12 13:02, , 3F
04/12 13:02, 3F
→
04/12 13:03, , 4F
04/12 13:03, 4F
→
04/12 13:04, , 5F
04/12 13:04, 5F
→
04/12 17:35, , 6F
04/12 17:35, 6F
→
04/12 17:35, , 7F
04/12 17:35, 7F
→
04/12 17:36, , 8F
04/12 17:36, 8F
→
04/12 18:10, , 9F
04/12 18:10, 9F
→
04/12 22:29, , 10F
04/12 22:29, 10F
→
04/12 22:36, , 11F
04/12 22:36, 11F
→
04/14 22:33, , 12F
04/14 22:33, 12F
→
04/15 12:17, , 13F
04/15 12:17, 13F
→
04/15 18:09, , 14F
04/15 18:09, 14F
→
04/15 18:10, , 15F
04/15 18:10, 15F