46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
10 GRAPHICS 7:DEG
|
|
20 PRINT "Please enter current time (HH,MM):"
|
|
30 INPUT HH,MM:GRAPHICS 7+16
|
|
40 FPS=60:REM SYSTEM CAN BE EITHER NTSC OR PAL
|
|
50 IF PEEK(53268)=1 THEN FPS=50
|
|
60 MINUTE=60*FPS
|
|
70 XC=80:YC=40:R=35:RF=38
|
|
80 GOSUB 800
|
|
90 SETCOLOR 0,3,10:SETCOLOR 4,8,2:SETCOLOR 2,13,14
|
|
100 POKE 19,0:POKE 20,0:SS=0:REM RESET FOR NEXT MINUTE
|
|
200 COLOR 0:IF SS>0 THEN 230
|
|
210 PLOT XC,YC:DRAWTO HX,HY
|
|
220 PLOT XC,YC:DRAWTO MX,MY
|
|
230 PLOT XC,YC:DRAWTO SX,SY
|
|
240 GOSUB 500
|
|
250 COLOR 2
|
|
260 PLOT XC,YC:DRAWTO HX,HY
|
|
270 PLOT XC,YC:DRAWTO MX,MY
|
|
280 COLOR 1
|
|
290 PLOT XC,YC:DRAWTO SX,SY
|
|
300 JIFFIES=256*PEEK(19)+PEEK(20)
|
|
310 NSEC=INT(JIFFIES/FPS):IF NSEC=60 THEN GOSUB 400:GOTO 100
|
|
320 IF NSEC>SS THEN SS=NSEC:GOTO 2OO
|
|
330 GOTO 300
|
|
400 REM INCREASE MINUTE AND HOUR
|
|
410 MM=MM+1
|
|
420 IF MM=60 THEN MM=0:HH=HH+1
|
|
430 IF HH=24 THEN HH=0
|
|
440 REM DISABLE SCREEN SAVER/ATTRACT MODE
|
|
450 POKE 77,0
|
|
460 RETURN
|
|
500 IF SS>0 THEN 550:REM CALCULATE X AND Y POSITIONS OF HANDS
|
|
510 HX=XC+R*SIN(30*HH+MM/2)*0.5
|
|
520 HY=YC-R*COS(30*HH+MM/2)*0.5
|
|
530 MX=XC+R*SIN(6*MM)
|
|
540 MY=YC-R*COS(6*MM)
|
|
550 SX=XC+R*SIN(6*SS)
|
|
560 SY=YC-R*COS(6*SS)
|
|
570 RETURN
|
|
800 REM DRAW CLOCK FACE
|
|
810 COLOR 3
|
|
820 FOR I=30 TO 360 STEP 30
|
|
830 PLOT XC+RF*SIN(I),YC-RF*COS(I)
|
|
840 NEXT I
|
|
850 RETURN
|