home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / general / clock.amos / clock.amosSourceCode
Encoding:
AMOS Source Code  |  1991-06-22  |  1.4 KB  |  50 lines

  1. Screen Open 1,640,250,16,Hires
  2. Cls 0
  3. Ink 4
  4. Circle 320,100,83
  5. CLOCK_HANDS["hi",80,12,33,320,100]
  6. '
  7. '
  8. '      Format of procedure CLOCK_HANDS:    Version 2!!!
  9. '
  10. 'CLOCK_HANDS[Resolution,Size of hands,Minutes,Hours,Centre X pt,Centre Y pt] 
  11. '
  12. '  where Resolution = "hi" or "lo" 
  13. '        Minutes    = 0 to 59
  14. '        Hours      = 0 to 59  (eg. 15 will point to 3 on clock) 
  15. '        
  16. '
  17. Procedure CLOCK_HANDS[RES$,SIZE,M1NUTES,HOURS,MIDX,MIDY]
  18.    Dim X(4),Y(4)
  19.    WIDTH=1
  20.    Degree 
  21.    If Upper$(RES$)="HI" Then WIDTH=2
  22.    '
  23.    '    colour of minute hand 
  24.    '
  25.    Ink 1
  26.    '
  27.    ANGLE=M1NUTES*6
  28.    '
  29.    '    draw minute hand
  30.    '
  31.    X(1)=MIDX+WIDTH*2*Cos(ANGLE) : Y(1)=MIDY+2*Sin(ANGLE)
  32.    X(2)=MIDX+WIDTH*2*Cos(ANGLE-180) : Y(2)=MIDY+2*Sin(ANGLE-180)
  33.    X(3)=X(2)+WIDTH*SIZE*Cos(ANGLE-90) : Y(3)=Y(2)+SIZE*Sin(ANGLE-90)
  34.    X(4)=X(1)+WIDTH*SIZE*Cos(ANGLE-90) : Y(4)=Y(1)+SIZE*Sin(ANGLE-90)
  35.    Polygon X(1),Y(1) To X(2),Y(2) To X(3),Y(3) To X(4),Y(4) To X(1),Y(1)
  36.    '
  37.    '     colour of hour hand
  38.    '
  39.    Ink 2
  40.    '
  41.    ANGLE=HOURS*6 : R#=0.65
  42.    '
  43.    '     draw hour hand 
  44.    '
  45.    X(1)=MIDX+WIDTH*2*Cos(ANGLE) : Y(1)=MIDY+2*Sin(ANGLE)
  46.    X(2)=MIDX+WIDTH*2*Cos(ANGLE-180) : Y(2)=MIDY+2*Sin(ANGLE-180)
  47.    X(3)=X(2)+WIDTH*R#*SIZE*Cos(ANGLE-90) : Y(3)=Y(2)+SIZE*R#*Sin(ANGLE-90)
  48.    X(4)=X(1)+WIDTH*R#*SIZE*Cos(ANGLE-90) : Y(4)=Y(1)+SIZE*R#*Sin(ANGLE-90)
  49.    Polygon X(1),Y(1) To X(2),Y(2) To X(3),Y(3) To X(4),Y(4) To X(1),Y(1)
  50. End Proc