Microsoft Small Basic
Program Listing: TKV488
'Program AnalogClock.sb
'Written by Glennium
GraphicsWindow.Show()
GraphicsWindow.Width=500
GraphicsWindow.Height=500
Iter = Program.Directory 'Iter is Latin for Route, PATH, Journey, or Way.
DrawTicks()
SecondHand = Shapes.AddImage(Iter + "\SH.png")
MinuteHand = Shapes.AddImage(Iter + "\MH.png")
HourHand = Shapes.AddImage(Iter + "\HH.png")
Shapes.Move(SecondHand, -45 , 245)
Shapes.Move(MinuteHand, -45 , 245)
Shapes.Move(HourHand, -45 , 245)
Start:
Time1 = Clock.Hour
Time2 = Clock.Minute
Time3 = Clock.Second
If Time1 >= 12 Then
Time1 = Time1 - 12
EndIf
Time1 = Time1 * 30 + Time2 * 6 / 12 ' 30 degrees for each hour
Time2 = Time2 * 6 ' 6 degrees for each minute
Time3 = Time3 * 6 ' and second
Shapes.Rotate(HourHand, Time1 - 90)
Shapes.Rotate(MinuteHand, Time2 - 90)
Shapes.Rotate(SecondHand, Time3 - 90)
Goto Start
'------------------------------------------------------------------
Sub DrawTicks
GraphicsWindow.DrawEllipse(0,0,500,500)
GraphicsWindow.DrawLine(375,34,365,51) '1
GraphicsWindow.DrawLine(466,125,449,135) '2
GraphicsWindow.DrawLine(250,500,250,470) '3
GraphicsWindow.DrawLine(467,375,449,365) '4
GraphicsWindow.DrawLine(375,467,365,449) '5
GraphicsWindow.DrawLine(0,250,30,250) '6
GraphicsWindow.DrawLine(125,467,135,449) '7
GraphicsWindow.DrawLine(33,375,51,365) '8
GraphicsWindow.DrawLine(470,250,500,250) '9
GraphicsWindow.DrawLine(33,125,51,135) '10
GraphicsWindow.DrawLine(125,33,135,51) '11
GraphicsWindow.DrawLine(250,0,250,30) '12
EndSub