×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 2756|回复: 15

[vb,vc,delphi] 圆形轨道2球相遇的程序改成方形轨道咋做?

[复制链接]
发表于 2009-10-16 18:26:25 | 显示全部楼层 |阅读模式
RT,就是把轨道改成方形或者椭圆的都行,改变后小球能按新的轨道运动。


代码为:
Dim c1 As Integer
Dim c2 As Integer
Dim v1 As Integer
Dim v2 As Integer
Dim d0 As Integer
Dim d1 As Integer
Dim t As Integer
Dim n As Integer


Private Sub Command1_Click()
  Timer1.Enabled = True

End Sub

Private Sub Command2_Click()
  Shape3.Visible = True
  Shape4.Visible = True
  d0 = Val(Text1.Text)
  d1 = Val(Text2.Text)
  v1 = Val(Text3.Text)
  v2 = Val(Text4.Text)
  c1 = 0
  c2 = (d1 / d0) * 360
  X1 = 5000 + 2250 * Sin(c1 * 3.14 / 180) - 250
  Y1 = 5000 + 2250 * Cos(c1 * 3.14 / 180) - 250
  Shape3.Move X1, Y1
  
  X2 = 5000 + 2250 * Sin(c2 * 3.14 / 180) - 250
  Y2 = 5000 + 2250 * Cos(c2 * 3.14 / 180) - 250
  Shape4.Move X2, Y2
  If Combo2.Text = "顺时针" Then
    Image1.Picture = LoadPicture(App.Path + "\left.bmp")
  Else
    Image1.Picture = LoadPicture(App.Path + "\right.bmp")
  End If
  If Combo3.Text = "顺时针" Then
    Image2.Picture = LoadPicture(App.Path + "\down.bmp")
  Else
    Image2.Picture = LoadPicture(App.Path + "\up.bmp")
  End If
  
  
End Sub

Private Sub Command3_Click()
    Call Command2_Click
    Timer1.Enabled = False
    t = 0
    n = 0
    Text5.Text = ""
    Text6.Text = ""
   
End Sub

Private Sub Command4_Click()
   End
End Sub

Private Sub Form_Load()
  Combo2.AddItem "顺时针"
  Combo2.AddItem "逆时针"
  Combo3.AddItem "顺时针"
  Combo3.AddItem "逆时针"
  
  Combo2.Text = "逆时针"
  Combo3.Text = "逆时针"
  
End Sub

Private Sub Timer1_Timer()
  t = t + 1
  s1 = t * v1
  s2 = t * v2
  
      
  If Combo2.Text = "逆时针" And Combo3.Text = "顺时针" Then
         direc = -1 '反向
         diff = d1   '相距d
  End If
  If Combo2.Text = "顺时针" And Combo3.Text = "逆时针" Then
         direc = -1    '反向
         diff = d0 - d1 '相距轨道长度-d
  End If
  If Combo2.Text = "顺时针" And Combo3.Text = "顺时针" Then
         direc = 1    '同向
         If Text3.Text >= Text4.Text Then '蓝球比红球快
            diff = d0 - d1
         Else
            diff = d1
         End If
  End If
  If Combo2.Text = "逆时针" And Combo3.Text = "逆时针" Then
         direc = 1    '同向
         If Text3.Text >= Text4.Text Then '蓝球比红球快
            diff = d1
         Else
            diff = d0 - d1
         End If
  End If
  
  
  If Combo2.Text = "逆时针" Then '蓝球
    c1 = s1 / d0 * 360
  Else
    c1 = (-1) * s1 / d0 * 360
  End If
  
  If Combo3.Text = "顺时针" Then '红球
    c2 = (d1 - s2) / d0 * 360
    Else
    c2 = (d1 + s2) / d0 * 360
  End If
  
  X1 = 5000 + 2250 * Sin(c1 * 3.14 / 180) - 250
  Y1 = 5000 + 2250 * Cos(c1 * 3.14 / 180) - 250
  Shape3.Move X1, Y1
  
  X2 = 5000 + 2250 * Sin(c2 * 3.14 / 180) - 250
  Y2 = 5000 + 2250 * Cos(c2 * 3.14 / 180) - 250
  Shape4.Move X2, Y2


  If direc = 1 Then '同向
     x = Int(Abs(Abs(s1 - s2) - diff))
  Else
     x = Int(Abs(Abs(s1 + s2) - diff))
  End If
  
  If x Mod d0 = 0 Then
     Shape3.FillColor = vbCyan
     Shape4.FillColor = vbCyan
     n = n + 1
     Text6.Text = t
     Text5.Text = n
     yn = MsgBox("是否继续?", vbYesNo, "已相遇")
     Shape3.FillColor = vbBlue
     Shape4.FillColor = vbRed
     If yn = 7 Then
        Call Command2_Click
        Timer1.Enabled = False
        t = 0
        n = 0
        Text5.Text = ""
        Text6.Text = ""
        Exit Sub
     End If
  End If


End Sub
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=275814
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x
发表于 2017-12-1 10:58:37 | 显示全部楼层
酷素材
很不错。。。
回复 支持 反对

使用道具 举报

发表于 2017-12-1 11:41:01 | 显示全部楼层
顶顶多好
回复 支持 反对

使用道具 举报

发表于 2017-12-1 10:45:37 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

发表于 2017-12-1 11:25:54 | 显示全部楼层
酷素材
LZ真是人才
回复 支持 反对

使用道具 举报

发表于 2017-12-1 11:14:10 | 显示全部楼层
酷素材
果断收藏了
回复 支持 反对

使用道具 举报

发表于 2018-1-12 18:58:17 | 显示全部楼层
很不错。。。
回复 支持 反对

使用道具 举报

发表于 2018-1-12 19:23:29 | 显示全部楼层
顶顶多好
回复 支持 反对

使用道具 举报

发表于 2018-1-12 19:43:25 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

发表于 2018-1-12 19:25:06 | 显示全部楼层
果断收藏了
回复 支持 反对

使用道具 举报

发表于 2018-1-12 19:12:58 | 显示全部楼层
教程网我挺你
回复 支持 反对

使用道具 举报

发表于 2018-3-10 14:17:46 | 显示全部楼层
好帖就是要顶
回复 支持 反对

使用道具 举报

发表于 2018-3-10 13:56:56 | 显示全部楼层
很好哦。。。
回复 支持 反对

使用道具 举报

发表于 2018-3-10 13:55:32 | 显示全部楼层
学习了。。。
回复 支持 反对

使用道具 举报

发表于 2018-3-10 13:37:34 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345