|
| 1 | +10 REM DISPLAY CLOCK WITH MINUTE, |
| 2 | +11 REM HOUR, AND SECONDS HAND |
| 3 | +20 REM JERRY STRATTON |
| 4 | +30 REM HOBOES.COM/COCO |
| 5 | +40 XC = 128 |
| 6 | +50 YC = 96 |
| 7 | +60 SE = 0 |
| 8 | +70 CLS |
| 9 | +80 MO$="C" |
| 10 | +110 PRINT " ENTER THE HOUR AND MINUTE TO" |
| 11 | +111 PRINT " START THE CLOCK AT. ONCE THE" |
| 12 | +112 PRINT " CLOCK CIRCLE FORMS, PRESS ANY" |
| 13 | +113 PRINT " KEY TO START THE CLOCK." |
| 14 | +120 PRINT |
| 15 | +130 INPUT "HOUR:MINUTE"; HO, MI:IF HO < 0 OR MI < 0 OR HO > 23 OR MI > 59 THEN 130 |
| 16 | +140 IF HO >= 12 THEN HO=HO-12 |
| 17 | +150 IF MO$ = "H" THEN PMODE 4,1:COLOR 2,1:DE = 297 |
| 18 | +160 REM COLORS ARE ORANGE(0), |
| 19 | +161 REM WHITE(1), GREEN(2), |
| 20 | +162 REM MAGENTA(3) |
| 21 | +170 IF MO$ = "C" THEN PMODE 1,1:COLOR 3:DE = 303 |
| 22 | +180 REM SWITCH TO GRAPHICS SCREEN |
| 23 | +190 PCLS |
| 24 | +200 SCREEN 1,1 |
| 25 | +210 CIRCLE(XC,YC),YC-1 |
| 26 | +220 CIRCLE(XC,YC),YC-2 |
| 27 | +230 CIRCLE(XC,YC),YC-3 |
| 28 | +240 FT = 1 |
| 29 | +250 COLOR 2 |
| 30 | +260 A$=INKEY$:IF A$ = "" THEN 260 |
| 31 | +270 REM SECOND HAND |
| 32 | +280 LINE(XC,YC)-(SX,SY),PRESET |
| 33 | +290 LE = 88 |
| 34 | +300 DG = SE |
| 35 | +310 GOSUB 1000 |
| 36 | +320 SX = X |
| 37 | +330 SY = Y |
| 38 | +340 LINE(XC,YC)-(SX,SY),PSET |
| 39 | +350 REM MINUTE HAND |
| 40 | +360 IF SE = 0 OR SE-1 = MI THEN LINE(XC,YC)-(MX,MY),PRESET:LE = 77:DG = MI:GOSUB 1000:MX = X:MY = Y:LINE(XC,YC)-(MX,MY),PSET |
| 41 | +370 REM HOUR HAND |
| 42 | +380 IF SE = 0 AND MI = 0 OR SE-1 = HO*5 OR FT = 1 THEN LINE(XC,YC)-(HX, HY),PRESET:LE = 55:DG = HO*5:GOSUB 1000:HX = X:HY = Y:LINE(XC,YC)-(HX,HY),PSET |
| 43 | +390 CIRCLE(XC,YC),8 |
| 44 | +400 FOR I = 1 TO DE:NEXT I |
| 45 | +410 SE=SE+1 |
| 46 | +420 IF SE = 60 THEN SE=0:MI=MI+1 |
| 47 | +430 IF MI = 60 THEN MI=0:HO=HO+1 |
| 48 | +440 IF HO = 12 THEN HO=0 |
| 49 | +450 FT = 0 |
| 50 | +460 GOTO 270 |
| 51 | +470 END |
| 52 | +1000 REM ENDPOINT USING LENGTH |
| 53 | +1001 REM AND DEGREES |
| 54 | +1010 REM ADJUST CLOCK SECONDS TO |
| 55 | +1011 REM RADIANS |
| 56 | +1020 DG=DG*6 |
| 57 | +1030 DG=DG-90 |
| 58 | +1040 RA = DG/57.29577951 |
| 59 | +1050 REM CALCULATE CARTESIAN X |
| 60 | +1051 REM AND Y FROM POLAR |
| 61 | +1052 REM COORDINATES |
| 62 | +1060 X = LE * COS(RA) + XC |
| 63 | +1070 Y = LE * SIN(RA) + YC |
| 64 | +1080 RETURN |
0 commit comments