0 DATA" O clock",3,"" 10 DATAONE MINIT PAST,2,One minute past 20 DATATOO,1,Two 30 DATAThree,1,"" 40 DATAFour,1,"" 50 DATAFive,1,"" 60 DATASix,1,"" 70 DATASeven,1,"" 80 DATAEIHT,1,Eight 90 DATANine,1,"" 100 DATATen,1,"" 110 DATAEleven,1,"" 120 DATATwelve,1,"" 130 DATAThirteen,1,"" 140 DATAFourteen,1,"" 150 DATACWORTER PAST,2,Quarter past 160 DATASixteen,1,"" 170 DATASeventeen,1,"" 180 DATAEIHTEEN,1,Eighteen 190 DATANIYNTEEN,1,Nineteen 200 DATATwenty,1,"" 210 DATATwenty one,1,"" 220 DATATWENTY TOO,1,Twenty two 230 DATATwenty three,1,"" 240 DATATwenty four,1,"" 250 DATATwenty five,1,"" 260 DATATwenty six,1,"" 270 DATATwenty seven,1,"" 280 DATATWENTY EYT,1,Twenty eight 290 DATATwenty nine,1,"" 300 DATAHARF PAST,2,Half past 310 DATATwenty nine,4,"" 320 DATATWENTY EYT,4,Twenty eight 330 DATATwenty seven,4,"" 340 DATATwenty six,4,"" 350 DATATwenty five,4,"" 360 DATATwenty four,4,"" 370 DATATwenty three,4,"" 380 DATATWENTY TOO,4,Twenty two 390 DATATwenty one,4,"" 400 DATATwenty,4,"" 410 DATANIYNTEEN,4,Nineteen 420 DATAEIHTEEN,4,Eighteen 430 DATASeventeen,4,"" 440 DATASixteen,4,"" 450 DATACWORTER TOO,5,Quarter to 460 DATAFourteen,4,"" 470 DATAThirteen,4,"" 480 DATATwelve,4,"" 490 DATAEleven,4,"" 500 DATATen,4,"" 510 DATANine,4,"" 520 DATAEIHT,4,Eight 530 DATASeven,4,"" 540 DATASix,4,"" 550 DATAFive,4,"" 560 DATAFour,4,"" 570 DATAThree,4,"" 580 DATATOO,4,Two 590 DATAONE MINIT TO,5,One minute to 600 DATA"" 610 MODE0+128:VDU19,0,4;0;19,1,3;0;23;8202;0;0;0;:S%=1 620 ONERROR S%=0 630 IF S%=1:*/SPEECH 640 ONERROR:CLG 650 PRINTTAB(0,1)"TELL THE TIME BY C.J.RICHARDSON."''"Select 1 - 5"''"1. I say the time."'"2. I say the time in five minutes."'"3. You say the time." 660 PRINT"4. Stop the clock at your time."'"5. Real clock."''"Press ESCAPE to return here.":REPEAT:V%=VALGET$:UNTILV%>0ANDV%<6 670 OX%=650:OY%=500:HX%=OX%:HY%=OY%:MX%=OX%:MY%=OY%:R%=400:U%=-1 680 IF V%<>3:REPEAT:INPUT''"What start hour is it? Enter 1 - 12 and press RETURN. "H%:UNTILH%>0ANDH%<13:REPEAT:INPUT "What start minute is it? Enter 0 - 59 and press RETURN. "M%:UNTILM%>-1ANDM%<60:TIME=(H%*360000)+(M%*6000) 690 CLS:MOVE650,900 700 FOR T%=0 TO 360 STEP 10 710 X%=R%*SIN(RAD(T%))+OX% 720 Y%=R%*COS(RAD(T%))+OY% 730 DRAW X%,Y% 740 NEXT 750 VDU5 760 R%=450:FOR T%=0 TO 360 STEP 30 770 X%=R%*SIN(RAD(T%))+OX% 780 Y%=R%*COS(RAD(T%))+OY% 790 MOVE X%,Y% 800 IF T%<>0 PRINTSTR$(T%DIV30) 810 NEXT:MOVEOX%-6,OY%+12:PRINT"*" 820 VDU4 830 PROCh:PROCm 840 REPEAT:IF V%<>4:*FX21 850 IF U%=-1PROCP 860 IFV%=1ORV%=4:M%=M%+1 870 IFV%=2:M%=M%+5 880 IFV%=3:M%=RND(60):H%=RND(11) 890 IFV%=5:J%=TIME:U%=M%:M%=(J% DIV6000)MOD60:D%=(J% DIV100)MOD60:PRINTTAB(7,1)STR$H%;":";STRING$(2-LEN(STR$M%),"0");STR$M%;":";STR$D%;" ":IF U%<>M% U%=-1:IFM%=0H%=H%+1 900 IFM%>59M%=M%-60:H%=H%+1 910 IF H%=13H%=1ELSE IF H%=0 H%=12 920 IF U%=-1PROCm:PROCh:VDU5:MOVEOX%-6,OY%+12:PRINT"*":VDU4 930 UNTILFALSE 940 DEFPROCP:H$=STR$(H%) 950 RESTORE M%*10:READ M$,Z%,A$:IFA$=""A$=M$ 960 IFZ%=1:M$=M$+" MINITS PAST ":A$=A$+" minutes past" 970 IFZ%=2:REM Q PAST H PAST 980 IFZ%=3:REM ON HOUR 990 IFZ%=4:M$=M$+" MINITS TO ":A$=A$+" minutes to" 1000 IF Z%>3:H$=STR$(VAL(H$)+1):IFH$="13"H$="1" 1010 L$="" 1020 IF H$="12"H$=" twelve" 1030 IF H$="11"H$=" eleven" 1040 IF H$="10"H$=" ten" 1050 IFH$="9"H$=" nine" 1060 IFH$="8"H$=" eight":L$=" EIHT" 1070 IFH$="7"H$=" seven" 1080 IFH$="6"H$=" six" 1090 IFH$="5"H$=" five" 1100 IFH$="4"H$=" four" 1110 IFH$="3"H$=" three" 1120 IFH$="2"H$=" two":L$=" TOO" 1130 IFH$="1"H$=" one" 1140 IFZ%<>3IF L$=""M$=M$+H$:A$=A$+H$ ELSE IF Z%<>3 M$=M$+L$:A$=A$+H$ 1150 IFZ%=3IFL$=""M$=H$+M$ ELSE IF Z%=3 M$=L$+M$ 1160 IFZ%=3A$=CHR$(ASC(MID$(H$,2,1))-32)+MID$(H$,3)+A$ 1170 PRINTTAB(0,0)SPC99 1180 IFV%=3:PRINTTAB(25,0)"Say the time, then press a key":REPEATUNTILGET:PRINTTAB(0,0)SPC80 1190 IF V%=4 IF INKEY0<>-1F%=1 ELSE F%=0 1200 IF F%=1 OR V%<>4 PRINTTAB(0,0)A$TAB(7)STR$H%;":";STRING$(2-LEN(STR$M%),"0");STR$M%;:IF S%=1:OSCLI"*SAY "+M$:TIME=TIME+328 1210 IFV%=5ENDPROC 1220 IFV%=4IF F%=0PRINTTAB(25,0);"Press a key to stop the clock" 1230 IF V%<>4 OR F%=1 PRINTTAB(35,0)"Press a key":REPEATUNTILGET 1240 ENDPROC 1250 DEFPROCh 1260 R%=200:MOVE OX%,OY%:PLOT7,HX%,HY% 1270 HX%=R%*SIN(RAD(H%*(30)+M%DIV2))+OX% 1280 HY%=R%*COS(RAD(H%*(30)+M%DIV2))+OY% 1290 MOVEOX%,OY%:DRAWHX%,HY% 1300 ENDPROC 1310 DEFPROCm 1320 R%=350:MOVE OX%,OY%:PLOT7,MX%,MY% 1330 MX%=R%*SIN(RAD(M%*6))+OX% 1340 MY%=R%*COS(RAD(M%*6))+OY% 1350 MOVE OX%,OY%:DRAWMX%,MY% 1360 ENDPROC