| Just a little mod to improve shot-block collision physics. before it was random :0: 
 
      Method Update ()
        ' Hit the player (note 'posyonly', 2nd parameter, of PlayerCollide)...
        If PlayerCollide (1, 1) Then Destroy; Return
        ys = ys + Gravity
        x = x + xs
        y = y + ys
        ' Remove if below bottom of screen...
        If y > GraphicsHeight ()
           Destroy
        Else
            ' Check current Shot against all Blocks...
            ' (Notice that this only checks Block objects in the list!)
            For blk:Block = EachIn GravityItemList
                ' Get x offset (rectangles are mid-handled)...
                ox = x - width / 2
                oy = y - height / 2
                ogx = blk.x - blk.width / 2
                ogy = blk.y - blk.width / 2
                ' Check collision...
                If OverLap (ox, oy, ox + width, oy + height, ogx, ogy, ogx + blk.width, ogy + blk.height)
                   ' If Block is already dead (ie. falling), reflect Shot, otherwise
                   ' un-fix block and create explosion...
                   ' Note: ys is current Shot object's y speed...
                   If blk.fixed = False
                      ys = -ys
                   Else
                      blk.fixed = False
                      blk.ys = ys/2
					  blk.xs = xs/2+(blk.x-x)/10
                      blk.angspeed = (blk.x-x)/2
                      ExplosionParticle.Explode ogx, ogy, 4
                   EndIf
                EndIf
                'FlushMem ' FlushMem Crash!
            Next
        EndIf
     End Method(method update of shot type)
 
 |