50 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER...DEC 60 REM MODIFIED BY R WITTEK... 29-APR-81 100 PRINT "PLAY 'GUESS THE ANIMAL'" 150 PRINT "THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT..."; 500 DIM A$(200,50) 510 DIM F$(15) 520 F$="DSK1:ANIMAL.GM" 525 DIM Z8$(50) 530 DIM Z9$(26) 535 PRINT "HAVE YOU ALREADY SAVED AN ANIMAL FILE IN THE SYSTEM BEFORE"; 540 INPUT S$ 541 IF SEG$(S$,1,1)="Y" THEN 550 542 GOTO 1050 550 FILE #3:F$ 560 INPUT #3:N 570 IF END #3 THEN 1000 575 RESTORE #3 580 FOR I = 0 TO N - 1 590 INPUT #3:A$(I) 600 IF END #3 THEN 1000 610 NEXT I 620 CLOSE #3 630 GOTO 1300 1000 CLOSE #3 1050 FOR I=0 TO 3 1060 READ A$(I) 1070 NEXT I 1100 DATA "4","*QDOES IT SWIM*Y2*N3*","*AFISH","*ABIRD" 1300 PRINT "ARE YOU THINKING OF AN ANIMAL"; 1301 INPUT Z9$ 1305 IF Z9$="Y" THEN 1350 1306 IF Z9$="N" THEN 1460 1307 IF Z9$="LIST" THEN 1320 1308 IF Z9$="SAVE" THEN 1310 1309 GOTO 1330 1310 FILEV#1:F$ 1311 REM RESTORE #3 1312 FOR I=0 TO VAL(A$(0)) 1314 PRINT #1:A$(I) 1316 NEXT I 1317 CLOSE #1 1318 GOTO 1300 1320 PRINT "ANIMALS I ALREADY KNOW ARE:" 1322 FOR I=1 TO 200 1324 IF SEG$(A$(I),1,2)<>"*A" THEN 1327 1326 PRINT SEG$(A$(I),3,72) 1327 NEXT I 1328 PRINT 1329 GOTO 1300 1330 PRINT "PLEASE ANSWER 'Y', 'N', 'SAVE', OR 'LIST'" 1340 GOTO 1300 1350 K=1 1375 D=1 1400 IF SEG$(A$(K),D,D)<>"*" THEN 1407 1405 D=D+2 1407 PRINT SEG$(A$(K),D,D); 1408 D=D+1 1410 IF SEG$(A$(K),D,D)<>"*" THEN 1407 1415 INPUT Z9$ 1417 Z9$=SEG$(Z9$,1,1) 1420 IF Z9$="Y" THEN 1424 1422 Z9$="N" 1424 D=D+1 1426 IF SEG$(A$(K),D,D)<>Z9$ THEN 1424 \ D=D+1 1427 X=VAL(SEG$(A$(K),D,D)) \ GOTO 1429 1428 X=(X*10)+VAL(SEG$(A$(K),D,D)) 1429 D=D+1 \ IF SEG$(A$(K),D,D)<> "*" THEN 1428 \K=X 1430 REM PRINT A$(K) 1431 IF LEN (A$(K))<>0 THEN 1440 1432 GOSUB 1400 1433 GOTO 1460 1440 IF SEG$(A$(K),1,2)="*Q" THEN 1375 1442 PRINT "IS IT A "; 1444 PRINT SEG$(A$(K),3,72);\D=D+1 1446 INPUT Z7$ 1448 Z7$=SEG$(Z7$,1,1) 1450 IF Z7$<>"Y" THEN 2000 1460 PRINT "WHY NOT TRY ANOTHER ANIMAL" 1470 GOTO 1300 2000 PRINT "WHAT STRANGE ANIMAL IS THAT?" 2020 INPUT Z9$ 2050 PRINT "PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A "; 2052 PRINT Z9$;" FROM A ";SEG$(A$(K),3,72) 2060 INPUT Z8$ 2100 PRINT "FOR A ";Z9$;" THE ANSWER WOULD BE "; 2110 INPUT Z7$ 2120 Z7$=SEG$(Z7$,1,1) 2130 IF Z7$="Y" THEN 2160 2140 IF Z7$="N" THEN 2180 2150 PRINT "PLEASE ANSWER 'Y' OR 'N'"\GOTO2100 2160 Z6$="N" 2170 GOTO 2200 2180 Z6$="Y" 2200 Z1=VAL (A$(0)) 2220 A$(0)=STR$(Z1+2) 2240 A$(Z1)=A$(K) 2260 A$(Z1+1)="*A"&Z9$ 2280 A$(K)="*Q"&Z8$&"*"&Z7$&STR$(Z1+1)&"*"&Z6$&STR$(Z1)&"*" 2300 GOTO 1300 2310 END