Microsoft Small Basic

Program Listing: MJS319
GraphicsWindow.MouseDown = onmousedown

X = 0
Y = 0
nX = 0
nY = 0
MD = 0

GraphicsWindow.Height = 100
GraphicsWindow.Width = 100

For Ax = 0 to 100 Step 20
For Ay = 0 To 100 Step 20
GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()
T[Ax+","+Ay] = Shapes.AddRectangle(10, 10)
Shapes.Move(T[Ax+","+Ay], Ax, Ay)
EndFor
endfor

Sub OnMouseDown
If MD = 0 Then
MD = 1
OnMouseMove()
MD = 0
EndIf
EndSub

Sub OnMouseMove
For nX = 0 to 10
For nY = 0 to 10
For Ax = 0 to 100 Step 20
For Ay = 0 To 100 Step 20
Tx = T[Ax+","+Ay]
Shapes.Move(Tx, nX - X + shapes.getleft(Tx), nY - Y + shapes.gettop(Tx))
EndFor
endfor
X = nX
Y = nY
Program.Delay(25)
endFor
EndFor
EndSub