永发信息网

求大神用VB编写一个随机弹球。。急急急。。。。

答案:2  悬赏:0  手机版
解决时间 2021-02-09 00:08
创建一个VB程序,利用图片框实现随机弹球(各个方向45度角运动),要求具有暂停功能,并且球初始方向随机产生。
拜托了!
最佳答案
'一个timer1控件,一个picture1控件,在picture1控件中再加入一个shape1控件。单击picture1控件可以暂停或继续
Option Explicit
Const offset = 200
Dim flag As Boolean, u, r
Private Sub Form_Load()
    With Timer1
        .Enabled = False
        .Interval = 30
    End With
    Randomize
    u = Int(Rnd * 2): r = Int(Rnd * 2)
    Print
End Sub
Private Sub Form_Resize()
    With Picture1
        .Top = 10
        .Left = 10
        .Height = Me.ScaleHeight - 2 * .Top
        .Width = Me.ScaleWidth - 2 * .Left
    End With
    With Shape1
        .Width = Picture1.Width / 20
        .Left = (Picture1.Width - .Width) / 2
        .Top = (Picture1.Height - .Height) / 2
        .Shape = 3
        .FillStyle = 0
        .FillColor = vbRed
    End With
End Sub
Private Sub Picture1_Click()
    flag = Not flag
    If flag Then Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
    If Not flag Then
        Timer1.Enabled = False
        Exit Sub
    End If
    With Shape1
        If r = 1 And u = 1 Then '右上
            .Left = .Left + offset
            If .Left + .Width >= Picture1.Width Then
                .Left = Picture1.Width - .Width
                r = 0
            End If
            .Top = .Top - offset
            If .Top <= 0 Then
                .Top = 0
                u = 0
            End If
        End If
        If r = 1 And u = 0 Then '右下
            .Left = .Left + offset
            If .Left + .Width >= Picture1.Width Then
                .Left = Picture1.Width - .Width
                r = 0
            End If
            .Top = .Top + offset
            If .Top + .Height >= Picture1.Height Then
                .Top = Picture1.Height - .Height
                u = 1
            End If
        End If
        If r = 0 And u = 1 Then '左上
            .Left = .Left - offset
            If .Left <= 0 Then
                .Left = 0
                r = 1
            End If
            .Top = .Top - offset
            If .Top <= 0 Then
                .Top = 0
                u = 0
            End If
        End If
        If r = 0 And u = 0 Then '左下
            .Left = .Left - offset
            If .Left <= 0 Then
                .Left = 0
                r = 1
            End If
            .Top = .Top + offset
            If .Top + .Height >= Picture1.Height Then
                .Top = Picture1.Height - .Height
                u = 1
            End If
        End If
    End With
End Sub
全部回答
这个简单,就是 1:无偿懒得做;2:即使写了也可能是无视不采纳,早没积极性了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蚂蚁花呗里面的钱用完了,可以拖多久还?如果
停车场(博奥运福苑西)怎么去啊,我要去那办事
我在无锡办的社保卡,离职后钱已取,之后有一
2013年诺贝尔化学奖的三位获奖者经过长期的实
容合塔北侧停车场地址在什么地方,想过去办事
海滨商务酒店地址有知道的么?有点事想过去
玉溪冬瓜密饯作文1000字
神话KTV-停车场地址有知道的么?有点事想过去
linux mysql 5.6 配置文件在哪
下列同学的话语中体现对父母理解的是A. 只要
诚信房产(鑫安花园北)这个地址在什么地方,我
祥和新区停车场地址在什么地方,想过去办事
天拖北道/简阳路(路口)我想知道这个在什么地
暗黑中兵器栏中什么与六尺棍相配啊?谁知道?
容城县人民医院停车场地址好找么,我有些事要
推荐资讯
出租车三证是哪三证
佳人酒梦梦佳人,笑叹红尘戏太深什么意思
下列各句没有语病的一项是“图书套餐”。A.
锦屏县新化派出所地址在什么地方,我要处理点
闺蜜坊美容美甲地址在什么地方,想过去办事
共享汽车一度上传的证件信息安全吗
采购部职能是什么?
一般在什么时间段喝红糖姜荼好
LoveLive为什么被禁播
新福克斯是独立悬挂吗
淘宝怎样按顺序上传宝贝详情图片
float会精确表示的最大数字是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?