Module1.bas
上传用户:tashmp
上传日期:2010-04-03
资源大小:882k
文件大小:5k
源码类别:

其他游戏

开发平台:

Visual Basic

  1. Attribute VB_Name = "Module1"
  2. Public Runway As Integer '标明蛇移动的方向 初始化为 0(左)
  3. Public p  As Integer
  4. Public p1 As Integer
  5. Public Runstep As Integer '蛇头的宽度
  6. Public maxlong As Integer '蛇的长度 初始化为3
  7. Public Type str_snake_point '记录蛇的位置
  8. x As Integer
  9. y As Integer
  10. End Type
  11. Public snake_init(0 To 3) As str_snake_point  '初始化记录蛇的位置
  12. Public snake_point As str_snake_point  '记录蛇移动时的坐标
  13. '该动态数组保存蛇暂停时的位置
  14. 'Public snake_stopX() As Integer
  15. 'Public snake_stopY() As Integer
  16. 'Public snake_stop() As str_snake_point '该动态数组保存蛇暂停时的位置
  17. Public m_game As Integer '标明游戏关数
  18. Public score As Integer '分数的记录
  19. Public time1 As Integer
  20. Public Sub init_game() '初始化游戏
  21. 'Timer1.Enabled = True
  22. 'Timer2.Enabled = True
  23. 'ReDim snake_stopX(0 To maxlong)
  24. ' ReDim snake_stopY(0 To maxlong)
  25.   ' MsgBox Str(LBound(snake_stopX))
  26. ' MsgBox Str(UBound(snake_stopX))
  27.  
  28. Dim i As Integer
  29. 'ReDim sanke_stop(0 To  maxlong)
  30. For i = 0 To maxlong Step 1
  31. If i >= 4 Then '把加载的控件卸载
  32. Unload Form1.Shape1(i)
  33. End If
  34.  If i <= 3 Then
  35. Form1.Shape1(i).Left = snake_init(i).x
  36. Form1.Shape1(i).Top = snake_init(i).y
  37. 'snake_stop(i).x = Form1.Shape1(i).Left
  38. 'snake_stop(i).y = Form1.Shape1(i).Top
  39. End If
  40. Next i
  41. maxlong = 3
  42. p = 0
  43. p1 = 0
  44. Runway = 0
  45. 'm_game = 1 '初始化为第一关
  46. Screen.MousePointer = 99
  47. 'MsgBox App.Path + "ANIMAL"
  48. Screen.MouseIcon = LoadPicture(App.Path + "ANIMAL.ico")
  49. End Sub
  50. '蛇的移动
  51.  Public Sub move_snake()
  52.  Dim tempx As Integer
  53.  Dim tempy As Integer '两个变量记录 要移动接点的坐标
  54. Dim i As Integer
  55. For i = 1 To maxlong Step 1
  56. tempx = Form1.Shape1(i).Left
  57. tempy = Form1.Shape1(i).Top
  58. Form1.Shape1(i).Left = snake_point.x
  59. Form1.Shape1(i).Top = snake_point.y
  60. snake_point.x = tempx
  61. snake_point.y = tempy
  62. 'snake_stopX(i) = tempx
  63. 'snake_stopY(i) = tempy
  64. Next i
  65.  End Sub
  66. '判断游戏是否结束
  67. Public Sub vore_game()
  68. Dim i As Integer
  69. '游戏当蛇碰到边界 结束
  70. '蛇碰到自己      结束
  71. If Form1.Shape1(0).Left <= Form1.Line1.X1 + 50 Then
  72. '碰到左边界
  73. Form1.Timer1.Enabled = False
  74. Form1.Timer2.Enabled = False
  75. Form1.Timer3.Enabled = True
  76. End If
  77. If Form1.Shape1(0).Left + Form1.Shape1(i).Width > Form1.Line1.X2 Then
  78. '碰到右边界
  79. Form1.Timer1.Enabled = False
  80. Form1.Timer2.Enabled = False
  81. Form1.Timer3.Enabled = True
  82. End If
  83. If Form1.Shape1(0).Top < Form1.Line2.Y1 Then
  84. '碰到上边界
  85. Form1.Timer1.Enabled = False
  86. Form1.Timer2.Enabled = False
  87. Form1.Timer3.Enabled = True
  88. End If
  89. If Form1.Shape1(0).Top + Form1.Shape1(0).Height > Form1.Line2.Y2 Then
  90. '碰到下边界
  91. Form1.Timer1.Enabled = False
  92. Form1.Timer2.Enabled = False
  93. Form1.Timer3.Enabled = True
  94. End If
  95. For i = 1 To maxlong Step 1
  96. If Form1.Shape1(0).Left = Form1.Shape1(i).Left And _
  97.    Form1.Shape1(0).Top = Form1.Shape1(i).Top Then
  98.    Form1.Timer1.Enabled = False
  99.    Form1.Timer2.Enabled = False
  100.    Form1.Timer3.Enabled = True
  101. End If
  102. Next i
  103. ' If game = 1 Then
  104. 'If Form1.Shape1(0).Left < Form1.Line5.X1 And _
  105.  '  Form1.Shape1(0).Left + Form1.Shape1(0).Width > Form1.Line5.X1 And _
  106.   ' Form1.Shape1(0).Top > Form1.Line5.Y1 And _
  107.   ' Form1.Shape1(0).Top < Form1.Line5.Y2 Then
  108.   ' Form1.Timer1.Enabled = False
  109.   ' Form1.Timer2.Enabled = False
  110.   ' Form1.Timer3.Enabled = True
  111.   ' End If
  112.   'End If
  113.  End Sub
  114. Public Sub group_snake()
  115. 'Set frm = Form1
  116. If Form1.Shape2.Left > Form1.Shape1(i).Left And _
  117.    Form1.Shape2.Left < Form1.Shape1(i).Left + Form1.Shape1(0).Width And _
  118.    Form1.Shape2.Top > Form1.Shape1(i).Top And _
  119.    Form1.Shape2.Top < Form1.Shape1(i).Top + Form1.Shape1(i).Height Then
  120.  
  121. '向左吃食物(满足上面条件 既吃到食物)
  122.  Form1.Shape2.Visible = False '
  123.  maxlong = maxlong + 1 '蛇身加1
  124.  Load Form1.Shape1(maxlong) '加载一个数组控件
  125.  '初始化位置
  126.  Form1.Shape1(maxlong).Left = Form1.Shape1(maxlong - 1).Left + Form1.Shape1(maxlong - 1).Width
  127.  Form1.Shape1(maxlong).Top = Form1.Shape1(maxlong - 1).Top + Form1.Shape1(maxlong - 1).Height
  128.  Randomize
  129.  Form1.Shape1(maxlong).FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  130.  Form1.Shape1(maxlong).Shape = 0
  131.  Form1.Shape1(maxlong).Visible = True
  132.  score = score + 10
  133.  Form1.Labelscore.Caption = score
  134.  
  135.    End If
  136.    If score = 200 Then
  137.    m_game = m_game + 1
  138.    Form1.Timer1.Enabled = False
  139.    Form1.Timer2.Enabled = False
  140.    MsgBox "恭喜你闯过第" & m_game - 1 & "关" & "按回车键 开始下一关!!", 64
  141.    
  142.    score = 0
  143.    Call init_game
  144.   time1 = Form1.Timer1.Interval - m_game * 15
  145.   Form1.Timer2.Interval = Form1.Timer2.Interval - m_game * 400
  146.    If time1 <= 0 Then
  147.    MsgBox "高手 你闯过了所有的关数 "
  148.     time1 = 200
  149.    Form1.Timer1.Enabled = False
  150.    Form1.Timer2.Enabled = False
  151.    End If
  152.    Form1.Timer1.Interval = time1
  153.    
  154.    
  155.  Form1.Labelscore.Caption = score
  156.     Form1.Timer1.Enabled = True
  157.    Form1.Timer2.Enabled = True
  158.    End If
  159.    
  160. End Sub
  161. '停止游戏
  162. Public Sub stop_game()
  163. Form1.Timer1.Enabled = False
  164. Form1.Timer2.Enabled = False
  165. End Sub
  166. '解除暂停
  167. Public Sub start_game()
  168. Form1.Timer1.Enabled = True
  169. Form1.Timer2.Enabled = True
  170. End Sub