1 ! PROGRAM NAME --> C L O C K -- BY BOB HUNTSMAN 10 W1%=10% 15 READ Z9%(K%) FOR K%=1% TO 12%:READ Z8%(K%) FOR K%=1% TO 12%: READ Z9$(K%) FOR K%=1% TO 12% 20 PRINT "THIS IS A CLOCK PROGRAM!!!!!":PRINT 100 RANDOMIZE 105 DIM A$(12%),B$(12%),L$(3%) 107 L$(1%)="NO, THAT'S NOT QUITE RIGHT -- TRY AGAIN!!": L$(2%)="NO, YOU ARE STILL WRONG -- TRY IT AGAIN." 108 L$(3%)="WRONG AGAIN!!!!!!!!!" 110 DIM C$(4%),R%(4%) 115 A$(1%)="ONE":A$(2%)="TWO":A$(3%)="THREE":A$(4%)="FOUR": A$(5%)="FIVE":A$(6%)="SIX" 120 A$(7%)="SEVEN":A$(8%)="EIGHT":A$(9%)="NINE":A$(10%)="TEN": A$(11%)="ELEVEN":A$(12%)="TWELVE" 125 B$(1%)="FIVE":B$(2%)="TEN":B$(3%)="FIFTEEN":B$(4%)="TWENTY": B$(5%)="TWENTY-FIVE":B$(6%)="THIRTY" 130 B$(7%)="THIRTY-FIVE":B$(8%)="FORTY":B$(9%)= "FORTY-FIVE":B$(10%)="FIFTY":B$(11%)="FIFTY-FIVE" 140 DIM Z6%(7%,12%):READ Z6%(K%,L%) FOR K%=0% TO 7% FOR L%=1% TO 12% 145 C%=FNR%(12%):D%=FNR%(12%) 147 GOTO 145 IF C%=D% 150 C1%,C2%=C%:D1%,D2%=D%:R1%=FNR%(12%) 155 IF R%=1% THEN C1%=R1% ELSE D1%=R1% 160 GOTO 150 IF C%=C1% AND D%=D1% 165 R%=FNR%(12%):R1%=FNR%(12%):GOTO 165 IF R%=C% AND R1%=D% 170 IF R%=D% AND R1%=C% GOTO 175 ELSE R%=D%:R1%=C% 175 GOSUB 9125:C$(1%)=FNA$(C%,D%,R%(1%)): C$(2%)=FNA$(C1%,D1%,R%(2%)):C$(3%)=FNA$(R%,R1%,R%(3%)) 177 W2%=K% IF R%(K%)=1% FOR K%=1% TO 3% 180 GOSUB 9125:GOSUB 9195 185 IF R%(X%)=1% THEN PRINT "";FOR K%=1% TO 25%:PRINT:PRINT: PRINT "CORRECT!!":PRINT:PRINT:GOTO 9900 190 T%=T%+1%:PRINT:PRINT:PRINT L$(T%):GOTO 300 IF T%<3% 191 PRINT:PRINT "THE CORRECT ANSWER IS THE ONLY ONE LEFT -- "; CHR$(64%+W%):PRINT:PRINT:GOTO 9900 300 GOSUB 9205:GOTO 185 700 DEF FNJ%(V$) 710 V$=LEFT(V$,8%)+"0" 720 FNJ%=K5% IF DATE$(K5%)=V$ FOR K5%=1% TO 366% 730 FNEND 1400 A$=LEFT(A$,1%):RETURN IF A$="Y" OR A$="N" 1410 PRINT:PRINT:INPUT "PLEASE ANSWER 'YES' OR 'NO'!":PRINT: PRINT:INPUT A$:GOTO 1400 9100 OPEN "KB:" AS FILE 6% 9105 FIELD #6%,1% AS X$ 9110 V9$=SYS(CHR$(3%)):V9$=SYS(CHR$(4%)) 9115 GET #6%:X%=ASCII(X$):IF X%<65% OR X%>68% GOTO 9110 9120 PRINT X$;:V9$=SYS(CHR$(2%)):X%=X%-64%:RETURN 9125 R%(1%)=FNR%(3%) 9130 R%(2%)=FNR%(3%):GOTO 9130 IF R%(2%)=R%(1%) 9135 R%(3%)=FNR%(3%):GOTO 9135 IF R%(3%)=R%(2%) OR R%(3%)=R%(1%) 9140 RETURN 9145 DEF FNR%(V3%) 9150 V4%=INT(1000%*RND(0%)):V4%=V4%-(V4%/V3%)*V3%+1% 9155 FNR%=V4% 9160 FNEND 9165 DEF FNN$(A5%) 9170 A5$=NUM$(A5%):FNN$=MID(A5$,2%,LEN(A5$)-2%) 9175 FNEND 9180 DEF FNA%(A6%) 9185 A6%=0% IF A6%=12%:FNA%=A6%*5% 9190 FNEND 9195 PRINT FNC$(C%,D%):PRINT:PRINT "WHAT TIME DOES THIS CLOCK SAY?": PRINT 9202 T%=0%:W%=K% IF R%(K%)=1% FOR K%=1% TO 3% 9205 FOR K%=1% TO 3%:PRINT CHR$(64%+K%);". ";C$(R%(K%)): NEXT K% 9210 PRINT "D. NONE OF THE ABOVE":PRINT:PRINT:PRINT 9215 GOSUB 9100:RETURN 9220 DEF FNM%(Z%,Z1%)=Z%-(Z%/Z1%)*Z1% 9225 IF A%>6% AND A%<12% THEN B%=B%-1%:B%=12% IF B%=0% 9230 DEF FNS$(V$) 9235 FNS$=V$ 9240 FOR V1%=1% TO LEN(V$):IF RIGHT(V$,V1%)="" THEN FNS$=LEFT(V$,V1%-1%):GOTO 9250 9245 NEXT V1% 9250 FNEND 9255 DEF FNA$(A1%,B1%,A6%) 9260 IF A1%>6% AND A1%<12% THEN B1%=B1%-1%:B1%=12% IF B1%=0% 9265 ON A6% GOTO 9270,9280,9285 9270 A1$=FNN$(FNA%(A1%)):A1$="05" IF A1%=1%:A1$="00" IF A1%=12% 9275 FNA$=FNN$(B1%)+":"+A1$:GOTO 9305 9280 FNA$=A$(B1%)+" "+B$(A1%):GOTO 9305 9285 C1$=B$(A1%)+" PAST ":C1$=B$(12%-A1%)+" TO " IF A1%>6% AND A1%<12% 9290 IF A1%>6% AND A1%<12% THEN B1%=B1%+1%:B1%=1% IF B1%=13% 9295 C1$=C1$+A$(B1%):C1$="HALF PAST "+A$(B1%) IF A1%=6%: C1$=A$(B1%)+" O'CLOCK" IF A1%=12% 9300 FNA$=C1$ 9305 FNEND 9310 RESTORE 9315 DEF FNC$(B5%,L5%) 9325 DIM Z9%(12%),Z8%(12%),Z9$(12%) 9335 FOR Z9%=1% TO 22%:Z8$="" 9340 FOR Z8%=1% TO 22% 9345 FOR Z7%=1% TO 12%:IF Z9%=Z9%(Z7%) AND Z8%=Z8%(Z7%) THEN Z8$=Z8$+Z9$(Z7%):Z8%=Z8%+1%:GOTO 9345 9350 NEXT Z7% 9355 IF (Z9%=10% OR Z9%=11%) AND Z8%=10% THEN Z8$=Z8$+"..": Z8%=Z8%+1%:GOTO 9345 9360 FOR Z7%=0% TO 3%: IF 2%*Z8%=Z6%(Z7%,B5%) AND Z9%=Z6%(Z7%+4%,B5%) THEN Z8$=Z8$+" *":Z8%=Z8%+1%:GOTO 9345 9365 IF 2%*Z8%-1%=Z6%(Z7%,B5%) AND Z9%=Z6%(Z7%+4%,B5%) THEN Z8$=Z8$+"* ":Z8%=Z8%+1%:GOTO 9345 9370 NEXT Z7%:FOR Z7%=1% TO 3%: IF 2%*Z8%=Z6%(Z7%,L5%) AND Z9%=Z6%(Z7%+4%,L5%) THEN Z8$=Z8$+" +":Z8%=Z8%+1%:GOTO 9345 9375 IF 2%*Z8%-1%=Z6%(Z7%,L5%) AND Z9%=Z6%(Z7%+4%,L5%) THEN Z8$=Z8$+"+ ":Z8%=Z8%+1%:GOTO 9345 9380 NEXT Z7%:Z8$=Z8$+" " 9385 NEXT Z8%:PRINT FNS$(Z8$):NEXT Z9% 9387 FNEND 9390 DATA 1,2,6,10,15,19,20,19,15,10,6,2 9395 DATA 10,14,18,19,18,14,10,6,2,1,2,6 9400 DATA "12","1 ","2 ","3 ","4 ","5 "," 6" 9405 DATA " 7"," 8"," 9","10","11" 9900 ! 9945 PRINT:PRINT:INPUT "WOULD YOU LIKE TO DO ANOTHER ONE";A$ 9950 GOSUB 1400:PRINT:PRINT:PRINT:IF A$="Y" GOTO 145 9970 PRINT FOR K%=1% TO 5%:GOTO 32000 32000 CLOSE K% FOR K%=1% TO 12% 32020 DATA 27,25,23,21,3,5,7,9,34,30,26,22,6,7,8,9 32025 DATA 36,31,26,21,10,10,10,10,34,30,26,22,15,14,13,12 32030 DATA 26,24,22,20,18,16,14,12,20,20,20,20,19,17,15,13 32035 DATA 12,14,16,18,18,16,14,12,5,9,13,17,15,14,13,12 32040 DATA 3,8,13,18,10,10,10,10,5,9,13,17,6,7,8,9,12,14,16,18 32045 DATA 3,5,7,9,20,20,20,20,2,4,6,8 32767 END