主题:高手帮忙.........................
xakir
[专家分:0] 发布于 2009-06-29 18:45:00
我在写一个 坦克游戏 但是 射中目标 地方 怎么写 不知道了
代码我上传好了
大家帮忙...
回复列表 (共4个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2009-06-29 21:40:00
'说明:
'1、变量和对象,尽量使用有意义的、容易理解的字符串来表示;
'2、程序书写要使用缩进格式凸显提逻辑结构
'3、写程序要养成填写注解的习惯
'4、合理使用不同的流程控制语句
'5、不变的数值尽量使用常量,而不直接使用数值,利于同意修改调试
'6、注意if……then……else……endif的使用,不要产生then与else之间没有语句的情况
Private Enum 方向
上
下
左
右
End Enum
Dim 坦克方向 As 方向
Private Sub Command1_Click()
子弹.Visible = True
目标.Left = 1440
子弹.Left = 1440
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
MsgBox 子弹.Left
If 子弹.Left = 目标.Left Then MsgBox "tng?"
End Sub
Private Sub Form_Load()
Command1.Caption = "重新开始"
Command2.Caption = "是干啥用的?"
坦克方向 = 上
End Sub
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 32 '空格发射,并开始计时
子弹.Visible = True
子弹.Left = 坦克.Left + (坦克.Width - 子弹.Width) / 2
子弹.Top = 坦克.Top + (坦克.Height - 子弹.Height) / 2
Timer1.Enabled = True
Case 37 '左箭头,向左走
坦克方向 = 左
If 坦克.Left > 0 Then '没有到左边界
坦克.Picture = LoadPicture(App.Path & "\ong.jpg")
坦克.Left = 坦克.Left - 100
End If
Case 40 '下箭头,向下走
坦克方向 = 下
If 坦克.Top < Picture1.Height - 坦克.Height Then '没有到下边界
坦克.Picture = LoadPicture(App.Path & "\as.jpg")
坦克.Top = 坦克.Top + 100
End If
Case 38 '上箭头
坦克方向 = 上
If 坦克.Top > 0 Then '没有到上边界
坦克.Picture = LoadPicture(App.Path & "\us.jpg")
坦克.Top = 坦克.Top - 100
End If
Case 39 '右箭头,向右走
坦克方向 = 右
If 坦克.Left < Picture1.Width - 坦克.Width Then '没有到右边界
坦克.Picture = LoadPicture(App.Path & "\sol.jpg")
坦克.Left = 坦克.Left + 100
End If
End Select
End Sub
Private Sub Timer1_Timer()
Select Case 坦克方向
Case 上
子弹.Top = 子弹.Top - 20
Case 下
子弹.Top = 子弹.Top + 20
Case 左
子弹.Left = 子弹.Left - 20
Case 右
子弹.Left = 子弹.Left + 20
End Select
If Abs(子弹.Left - 目标.Left) < 20 And Abs(子弹.Top - 目标.Top) < 20 Then 击中
End Sub
Private Sub 击中()
子弹.Visible = False
目标.Visible = False
End Sub
板凳
xakir [专家分:0] 发布于 2009-06-30 10:43:00
谢谢你 ...
3 楼
xakir [专家分:0] 发布于 2009-06-30 11:11:00
但是击中目标 不起作用....
4 楼
xakir [专家分:0] 发布于 2009-06-30 11:22:00
好了。
解决了
我来回复