340 IF RIGHT$(STR$(X),1)="9" OR RIGHT$(STR$(Y),1)="9" OR RIGHT$(STR$(Z),1)="9" THEN AN=1:RETURN ELSE RETURN
360 R=FNR(99):S=R+1:T=R:RETURN
370 R=FNR(100):S=R:T=FNR(100):RETURN
380 IF X=Y OR Y=Z OR X=Z THEN AN=1:RETURN ELSE RETURN
400 R=FNR(40):S=R:T=R*S:RETURN
410 IF FNR(2)=1 THEN GOSUB 20:R=N:GOSUB 20:S=N:GOSUB 20:T=N:RETURN
411 GOSUB 30:R=N:GOSUB 30:S=N:GOSUB 30:T=N:RETURN
420 IF X/2=INT(X/2) AND Y/2=INT(Y/2) AND Z/2=INT(Z/2) THEN AN=1:RETURN
422 IF X/2<>INT(X/2) AND Y/2<>INT(Y/2) AND Z/2<>INT(Z/2) THEN AN=1:RETURN ELSE RETURN
460 R=FNR(10):S=FNR(10):T=(R+S)*(R+S):RETURN
470 R=FNR(80):S=R+FNR(10):T=S+FNR(10):RETURN
480 IF Z>Y AND Z>X THEN AN=1:RETURN ELSE RETURN
500 GOSUB 20:R=N:S=R+1:T=S+1:RETURN
510 GOSUB 20:S=N:R=FNR(100):T=FNR(100):RETURN
520 IF X/2=INT(X/2) OR Y/2=INT(Y/2) OR Z/2=INT(Z/2) THEN AN=1:RETURN ELSE RETURN
540 R=FNR(9)*1000:S=R+1:T=S+1:RETURN
550 N=FNR(10)*10:I=FNR(3):K1=FNR(9)*10+FNR(9):K2=FNR(9)*10+FNR(9):ON I GOTO 52,53,51
560 IF X/10=INT(X/10) AND Y/10<>INT(Y/10) AND Z/10<>INT(Z/10) THEN AN=1:RETURN
561 IF Y/10=INT(Y/10) AND X/10<>INT(X/10) AND Z/10<>INT(Z/10) THEN AN=1:RETURN
562 IF Z/10=INT(Z/10) AND X/10<>INT(X/10) AND Y/10<>INT(Y/10) THEN AN=1:RETURN ELSE RETURN
580 R=FNR(100):S=R:T=S:RETURN
590 GOSUB 20:R=N:GOSUB 20:S=N:T=(R+S)/2:RETURN
600 IF (X+Y)/2=Z THEN AN=1:RETURN ELSE RETURN
620 K=(FNR(40)+8)*13:V$=STR$(K)+STR$(K):K=VAL(V$):I=FNR(3):K1=(FNR(20)+9)*12:V$=STR$(K1)+STR$(K1):K1=VAL(V$):K2=(FNR(20)+9)*12:V$=STR$(K2)+STR$(K2):K2=VAL(V$):ON I GOTO 622,623,621
621 R=K:S=K1:T=K2:RETURN
622 S=K:R=K1:T=K2:RETURN
623 T=K:R=K1:S=K2:RETURN
625 N=FNR(9)*13:K1=FNR(100):K2=FNR(100):GOTO 51
630 IF X/13=INT(X/13) OR Y/13=INT(Y/13) OR Z/13=INT(Z/13) THEN AN=1:RETURN ELSE RETURN
830 IF X<0 THEN RETURN ELSE VW#=SQR(X):IF VW#*VW#=X THEN AN=1:RETURN ELSE RETURN
850 RETURN
4000 LINE (24,64)-(305,168),0,BF:LOCATE 10,10:PRINT"THE RECAP PAD IS FULL.":LOCATE 13,5:PRINT"Any entry made after this will":LOCATE 15,5:PRINT"start a new pad. If you need the":LOCATE 17,5:PRINT"notes for later, recap one more":LOCATE 19,5
4010 PRINT"time and take notes.":GOSUB 10000:RETURN
8010 B=IC-5:FOR I=1 TO 5:LOCATE 9+I+I,3:PRINT TAB(4+NOT(Z1(B+I)<0))Z1(B+I)TAB(14+NOT(Z2(B+I)<0))Z2(B+I)TAB(24+NOT(Z3(B+I)<0))Z3(B+I)TAB(34);:IF Z4(B+I)=1 THEN PRINT"Yes"; ELSE PRINT "No ";
8020 NEXT I:LOCATE 21,4:PRINT STRING$(34,32);:RETURN
8500 GOSUB 8700:FOR I=1 TO 900:NEXT:PUT (54,30),SMILE%,PSET:RETURN
8600 PUT (52,20),LOOK,PSET:FOR I=1 TO 1700:NEXT:PUT (52,20),EYES,PSET:FOR I=1 TO 1200:NEXT:GOSUB 23000:RETURN
8700 GOSUB 8600:PUT(52,20),WINK%,PSET:FOR I=1 TO 1400:NEXT:PUT (52,20),EYES,PSET:RETURN
10000 LOCATE 25,3:PRINT EL$;
10010 LOCATE 25,9:PRINT"Press ENTER to continue.";
15010 LOCATE 3,18:PRINT"So we meet at last! If":LOCATE 4,18:PRINT"you want to take my":LOCATE 5,18:PRINT"throne, you must solve":LOCATE 6,18:PRINT"three final number":LOCATE 7,18:PRINT"riddles.":LOCATE 9,18
15015 PRINT"They are extremely":LOCATE 10,18:PRINT"tricky!"
15016 DEF SEG=PL%:LIM%=PEEK(0):POKE 0,LIM%:DEF SEG
15020 GOSUB 5010:IF ENOUGHMEMORY THEN GET (10,0)-(116,197),GUARD
15264 Z1(IC)=X:Z2(IC)=Y:Z3(IC)=Z:Z4(IC)=RW:PO=PO+2:R$="":IF WH=HN THEN GOSUB 29000
15270 IF IC=90 THEN EM=1:GOSUB 4000:GOTO 15075
15290 ZZ=FRE(H$):GOTO 15080
16000 EFL=1:CLS:PRINT CHR$(7):LOCATE 10,4:PRINT"Please make sure that the diskette":PRINT:PRINT" is inserted properly and that disk":PRINT:PRINT" drive door is closed.":GOSUB 10000:RESUME 29400
19000 IF IC=0 THEN LOCATE 25,3:PRINT EL$;:LOCATE 25,11:PRINT"You have no entry!";:GOSUB 10205:GOSUB 10120:RETURN
19005 IF SA=1 THEN SA=0:GOTO 19020
19010 IF IC<6 THEN LOCATE 25,3:PRINT EL$;:LOCATE 25,8:PRINT"All entries are displayed.";:GOSUB 10205:GOSUB 10120:RETURN
19020 GOSUB 10160:PO=11
19030 LOCATE 25,3:PRINT EL$;:FOR I=1 TO IC:LOCATE PO,3:PRINT TAB(4+NOT(Z1(I)<0))Z1(I)TAB(14+NOT(Z2(I)<0))Z2(I)TAB(24+NOT(Z3(I)<0))Z3(I)TAB(34);:IF Z4(I)=1 THEN PRINT"Yes"; ELSE PRINT"No ";
19040 LC=LC+1:IF LC=6 THEN IF I<IC THEN GOSUB 10010:GOSUB 10160:LC=0:PO=9
19045 IF LC=6 THEN IF I=IC THEN GOSUB 10010:GOSUB 10160:KZ=1:LC=0:XPO=4:PO=11:RETURN
19050 PO=PO+2:NEXT I:GOSUB 10010:IF PO>21 THEN GOSUB 10160
20011 IF KI<>0 THEN GOSUB 5010:GOTO 20031 ELSE LOCATE 3,18:PRINT"I will present you":LOCATE 4,18:PRINT"with three numbers":LOCATE 5,18:PRINT"at a time. You must":LOCATE 6,18
20012 PRINT"say whether or not":LOCATE 7,18:PRINT"each group fits the":LOCATE 8,18:PRINT"rule.":LOCATE 10,18:PRINT"When you answer five":LOCATE 11,18:PRINT"questions correctly":LOCATE 12,18:PRINT"you pass the quiz":LOCATE 13,18
20013 PRINT"and win a crown."
20015 LOCATE 15,18:PRINT"When you pass three":LOCATE 16,18:PRINT"quizzes, I will":LOCATE 17,18
20016 PRINT"surrender my throne":LOCATE 18,18:PRINT"to you!"
20030 G2=1:GG=0:GOSUB 5010:GOSUB 13500
20031 G2=1:GG=0:QU$="on":WH=0:IC=0:DN=FNR(5)
20041 R1=R:ON RU GOSUB 50,90,120,170,210,240,290,330,370,410,470,510,550,590,625,650,700,740,780,820:IF R=R1 THEN 20041
20042 IF DN=RC+1 THEN 20050
20043 IF FNR(4)=2 THEN 20050
20044 GOTO 21000
20050 ON RU GOSUB 20062,20060,20064,20064,20066,20072,20074,20076,20078,20080,780,411,411,780,20084,411,411,780,470,20066
20055 GOTO 21000
20060 R=FNR(15)*5:S=FNR(100):T=R+10:RETURN
20062 GOSUB 30:R=N:S=R+4:T=S+4:RETURN
20064 R=FNR(30):S=FNR(30):T=R+S:RETURN
20065 R=FNR(40):S=R+FNR(10):T=S+FNR(10):RETURN
20066 N=FNR(10):IF N<>5 THEN S=N*N:R=S-2:T=S+2:RETURN ELSE RETURN
21020 GG=2:LOCATE 9,20:PRINT"Do these numbers fit":LOCATE 10,20:PRINT"the rule? ";:GOSUB 14000
21050 IF AN=1 AND AN$="Y" THEN 21300
21060 IF AN=2 AND AN$="N" THEN 21300
21100 LOCATE 13,20:PLAY NO$:PRINT"Wrong. You will have":LOCATE 14,20:PRINT"to try again.":IF L%<4 THEN KI=0
21105 GOSUB 13500:RC=0:RES=L:GOTO 27999
21300 PLAY YES$:IF RC<4 THEN LOCATE 13,20:PRINT"Right!":LOCATE 14,20:PRINT"You may continue the":LOCATE 15,20:PRINT"challenge...";:GOSUB 13500:RC=RC+1:GOTO 20041
21310 LOCATE 12,22:PRINT"Right! You have":LOCATE 13,22:PRINT"passed the quiz":LOCATE 14,22
21311 PRINT"and won a crown.";:KI=KI+1:PO=15:XPO=26:GOSUB 13500
21320 RC=0:GOSUB 10170:GOSUB 10200
21325 IF KI=3 THEN SR=SR+1:GOTO 21400
21330 ON KI GOSUB 8600,8700,0:GOSUB 10200:LOCATE 3,20:PRINT"You're pretty smart,":LOCATE 4,20:PRINT"but you still must":LOCATE 5,20:PRINT"pass ";:PRINT J$((3-KI)+4);" more riddle";:IF KI<>2 THEN PRINT"s";
21331 LOCATE 6,20:PRINT"before you become":LOCATE 7,20:PRINT"the new ruler."
21340 FL=0:GOSUB 13500:GOTO 15060
21400 GOSUB 8500:LOCATE 3,21:PRINT"Congratulations Your":LOCATE 4,21:PRINT"Highness! You have":LOCATE 5,21:PRINT"made it to the top.":GOSUB 10200:LOCATE 7,21:PRINT"This time...";
21410 PLAY FANFARE$:DEF SEG=PL%:POKE 0,L%:DEF SEG:GOSUB 13500
21420 GOSUB 10170:GOTO 29400
22000 PUT (XPO*8+2,PO*8),PRIZE,PSET:RETURN
23000 IF KI=1 THEN PO=11:XPO=26:GOSUB 22000:RETURN
23010 IF KI=2 THEN PO=14:XPO=21:GOSUB 22000:XPO=XPO+10:GOSUB 22000:RETURN
27999 IF GG=3 AND ENOUGHMEMORY THEN CLS:GOSUB 5000:PUT (10,0),GUARD:GOSUB 5010 ELSE IF GG=3 THEN GOSUB 29600:GOSUB 5010 ELSE GOSUB 10170
28000 LOCATE 4,18:PRINT"Would you like:":LOCATE 6,18:PRINT"1. Same level,":LOCATE 7,21:PRINT"same rule":LOCATE 9,18:PRINT"2. Same level,":LOCATE 10,21:PRINT"different rule, or":LOCATE 12,18:PRINT"3. Return to the menu":G2=0
29512 IF MEM%>80 THEN ENOUGHMEMORY=1 ELSE ENOUGHMEMORY=0
29520 DIM Z1(92),Z2(92),Z3(92),Z4(92):IF ENOUGHMEMORY THEN DIM DIS(2520),GUARD(2822)
29525 DIM PRIZE(112),EYES(12),LOOK(12),WINK%(12),SMILE%(10)
29530 REM def seg=0:poke &h6c,84:poke &h6d,0:poke &h6e,0:poke &h6f,0:poke 84,&hcf:def seg:def seg=&h40:if peek (&h6b)<>&ha5 then 30000
29535 DEF SEG=&HF000:JR=(PEEK(&HFFFE)=&HFD)
29536 DEF SEG=0:PL%=INT((((PEEK(&H510)+256*PEEK(&H511))*16+VARPTR(#2))/16)+1):DEF SEG
29537 DEF SEG=&H40:MOFF%=PEEK(4)+256*PEEK(5):MSEG%=PEEK(6)+256*PEEK(7):DEF SEG
29540 DEF FNR(N)=1+INT(RND*N)
29545 EL$=STRING$(37,32)
29550 J$(1)="Just between you and me...":J$(2)="I shouldn't tell you this, but":J$(3)="Psst...Don't tell anyone, but":J$(4)="Shhh...Our secret...":J$(5)="one":J$(6)="two":GOTO 15000
30000 CLS:LOCATE 6,2,0:PRINT"Unauthorized copying of this diskette":PRINT:PRINT" is unlawful.":PRINT:PRINT" Violators will be prosecuted to the":PRINT:PRINT" full extent of the law."