home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / apit / analog.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  1.7 KB  |  23 lines

  1. 50  CLEAR:SCREEN 2:OUT &H3D9,2:CLS:KEY OFF:DIM NUM(6):XCENT=319:YCENT=99:PI=3.14159:DEF FNANG(TIME)=PI/2-PI*TIME/30-2*PI*(TIME>15):LINE(120,20)-(519,178),1,BF:LINE(XCENT,0)-(0,YCENT),0:LINE(XCENT,0)-(639,YCENT),0:LINE(XCENT,199)-(0,YCENT),0
  2. 180  LINE(XCENT,199)-(639,YCENT),0:PAINT(126,20),0:PAINT(512,175),0:PAINT(512,20),0:PAINT(126,175),0:RADIUS=179:CIRCLE(XCENT,YCENT),RADIUS,0:PAINT(XCENT,YCENT),0:FOR D=1 TO 12:GOSUB 800:XD=XCENT+165*COS(FNANG(D*5))-11+3*(D>9)
  3. 290  YD=YCENT-68*SIN(FNANG(D*5))-3:PUT(XD,YD),NUM:NEXT D:LOCATE 1,1:PRINT"F1. Increment Hour";:LOCATE 2,1:PRINT"F3. Increment Minute";:LOCATE 3,1:PRINT"F5. Increment Second";:LOCATE 1,61:PRINT"F2. Decrement Hour";:LOCATE 2,61
  4. 410  PRINT"F4. Decrement Minute";:LOCATE 3,61:PRINT"F6. Decrement Second";:ON KEY(1)GOSUB 860:ON KEY(2)GOSUB 920:ON KEY(3)GOSUB 980:ON KEY(4)GOSUB 1040:ON KEY(5)GOSUB 1100:ON KEY(6)GOSUB 1160:KEY(1)ON:KEY(2)ON:KEY(3)ON:KEY(4)ON:KEY(5)ON:KEY(6)ON
  5. 570  WHILE NOT YET.TO.THE.END.OF.ALL.TIME...:WHILE T$=TIME$:WEND:T$=TIME$:SECOND2=SECOND:MINUTE2=MINUTE:HOUR2=HOUR:SECOND=VAL(RIGHT$(T$,2)):MINUTE=VAL(MID$(T$,4)):HOUR=(VAL(LEFT$(T$,2))MOD 12)*5+MINUTE/12:LOCATE 24,37:PRINT T$;
  6. 690  CIRCLE(XCENT,YCENT),140,1,-FNANG(SECOND),-FNANG(SECOND):CIRCLE(XCENT,YCENT),140,0,-FNANG(SECOND2),-FNANG(SECOND2):IF MINUTE2=MINUTE THEN 730
  7. 720  CIRCLE(XCENT,YCENT),120,0,-FNANG(MINUTE2),-FNANG(MINUTE2)
  8. 730  CIRCLE(XCENT,YCENT),120,1,-FNANG(MINUTE),-FNANG(MINUTE):IF HOUR2=HOUR THEN 760
  9. 750  CIRCLE(XCENT,YCENT),70,0,-FNANG(HOUR2),-FNANG(HOUR2)
  10. 760  CIRCLE(XCENT,YCENT),70,1,-FNANG(HOUR),-FNANG(HOUR):WEND
  11. 800  LOCATE 1,1:PRINT D;:GET(0,0)-(22,6),NUM:LINE(0,0)-(22,6),BF:RETURN
  12. 860  GOSUB 1230:H=(H+1)MOD 24:GOSUB 1290:RETURN
  13. 920  GOSUB 1230:H=(H+23)MOD 24:GOSUB 1290:RETURN
  14. 980  GOSUB 1230:M=(M+1)MOD 60:GOSUB 1290:RETURN
  15. 1040  TEMP$=MID$(STR$((VAL(MID$(TIME$,4))+59)MOD 60),2):M=(M+59)MOD 60:GOSUB 1290:RETURN
  16. 1100  GOSUB 1230:S=(S+1)MOD 60:GOSUB 1290:RETURN
  17. 1160  GOSUB 1230:S=(S+59)MOD 60:GOSUB 1290:RETURN
  18. 1230  H=VAL(LEFT$(TIME$,2)):M=VAL(MID$(TIME$,4)):S=VAL(RIGHT$(TIME$,2)):RETURN
  19. 1290  CLOCK$=MID$(STR$(S),2):IF S<10 THEN CLOCK$="0"+CLOCK$
  20. 1310  CLOCK$=MID$(STR$(M),2)+":"+CLOCK$:IF M<10 THEN CLOCK$="0"+CLOCK$
  21. 1330  CLOCK$=MID$(STR$(H),2)+":"+CLOCK$:IF H<10 THEN CLOCK$="0"+CLOCK$
  22. 1350  TIME$=CLOCK$:RETURN
  23.