home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
hard.hdv
/
HARD
/
TWOLINERS
/
ANIMALS
(
.txt
)
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS
UTF-8
Wrap
Applesoft BASIC Source Code
|
1983-09-15
|
4.5 KB
|
183 lines
|
[FC] Applesoft BASIC Program (0x0801)
100 REM ANIMALS PROGRAM
110 REM
120 ONERR GOTO 1460
130 GOTO 980: REM INITILIZE
140 REM
150 REM PLAY THE GAME!
160 REM
170 CUR = 1
180 PRINT OP$
190 PRINT RF$;CUR
200 INPUT N$: IF LEFT$(N$,1) = "!" THEN 350
210 INPUT RP: INPUT WP
220 REM
230 REM NOW HAVE QUESTION TO ASK.
240 REM RP POINTS AT 'YES' RECORD
250 REM WP POINTS AT 'NO' RECORD
260 REM
270 PRINT CL$
280 PRINT : PRINT N$;: INPUT "?";A$
290 GOSUB 900: IF YN = 0 THEN 280
300 PREV = CUR
310 IF A$ = "Y" THEN CUR = RP
320 IF A$ = "N" THEN CUR = WP
330 GOTO 180
340 REM
350 REM FOUND AN ANIMAL, IS IT CORRECT?
360 REM
370 R$ = A$: REM REMEMBER THE ANSWER
380 PRINT CL$: REM CLOSE THE FILE
390 N$ = RIGHT$(N$, LEN(N$) -1)
400 A$ = "AEIOU": PRINT "IS THE ANIMAL YOU'RE THINKING OF A";
410 FOR VWL = 1 TO 5
420 IF MID$ (A$,VWL,VWL) = LEFT$(N$,1) THEN VWL = 5: PRINT "N";
430 NEXT VWL
440 PRINT : PRINT N$;: INPUT A$
450 GOSUB 900: IF YN = 0 THEN 400
460 IF A$ = "Y" THEN 800
470 REM
480 REM I DON'T KNOW WHAT ANIMAL IT IS, ASK HIM
490 REM
500 PRINT : PRINT : PRINT "ALL RIGHT, I GIVE UP. WHAT ANIMAL WERE"
510 PRINT "YOU THINKING OF";
520 INPUT ANIM$
530 PRINT : PRINT "PLEASE TYPE A QUESTION THAT WOULD"
540 PRINT "DISTINGUISH BETWEEN A ";N$: PRINT "AND A ";ANIM$;
550 INPUT ":";Q$:
560 IF RIGHT$(Q$,1) = "?" THEN Q$ = LEFT$(Q$, LEN(Q$) -1)
570 PRINT : PRINT "WHAT WOULD THE CORRECT ANSWER FOR A"
580 PRINT ANIM$;" BE";: INPUT A$
590 GOSUB 900: IF YN = 0 THEN 570
600 REM
610 REM UPDATE HEADER RECORD.
620 REM
630 PRINT OP$
640 PRINT RF$;0: INPUT CNT,LAST:CNT = CNT +1:LAST = LAST +2:
650 PRINT WF$;0: PRINT CNT;",";LAST
660 PRINT RF$;PREV: INPUT N$: INPUT OC: INPUT OW
670 PRINT WF$;PREV: PRINT N$
680 IF R$ = "N" THEN 700
690 PRINT LAST -1: PRINT OW: GOTO 710
700 PRINT OC: PRINT LAST -1
710 PRINT WF$;LAST -1: PRINT Q$
720 IF A$ = "Y" THEN 740
730 PRINT CUR: PRINT LAST: GOTO 750
740 PRINT LAST: PRINT CUR
750 PRINT WF$;LAST
760 PRINT "!" +ANIM$
770 PRINT CL$
780 PRINT "I NOW KNOW ";CNT;" ANIMALS!<CTRL-0x07>": GOTO 850
790 REM
800 REM I GOT IT RIGHT!!!
810 REM
820 FOR L = 1 TO 10: PRINT : NEXT L
830 PRINT "I GOT IT RIGHT!!!<CTRL-0x07><CTRL-0x07><CTRL-0x07><CTRL-0x07>"
840 REM
850 PRINT : INPUT "WANT TO PLAY AGAIN? ";A$
860 GOSUB 900: IF YN = 0 THEN 850
870 IF A$ = "Y" THEN 170
880 END
890 REM
900 REM CHECK FOR YES OR NO RESPONSE
910 YN = 0
920 IF LEN(A$) = 0 THEN RETURN
930 A$ = LEFT$(A$,1)
940 IF A$ = "Y" OR A$ = "y" THEN YN = 1:A$ = "Y"
950 IF A$ = "N" OR A$ = "n" THEN YN = 1:A$ = "N"
960 RETURN
970 REM
980 REM INITILIZATION SECTION
990 REM
1000 D$ = CHR$(4): HOME : TEXT
1010 RF$ = D$ +"READ ANIMALSFILE,R"
1020 WF$ = D$ +"WRITE ANIMALSFILE,R"
1030 CL$ = D$ +"CLOSE ANIMALSFILE"
1040 OP$ = D$ +"OPEN ANIMALSFILE,L80"
1050 PRINT
1060 PRINT "* NOTE<CTRL-0x07>: YOUR DISKETTE MAY NOT BE"
1070 PRINT "WRITE PROTECTED IN ORDER TO PLAY THIS": PRINT "GAME!"
1080 VTAB 5: PRINT " **** ANIMAL LEARNING GAME ****"
1090 PRINT
1100 PRINT "DO YOU WANT INSTRUCTIONS (Y OR N)";: INPUT A$: HOME
1110 IF LEN(A$) = 0 THEN 170
1120 GOSUB 900: IF A$ = "N" OR A$ = "n" THEN 170
1130 PRINT : PRINT "INSTRUCTIONS:": PRINT
1140 PRINT "YOU WILL THINK OF AN ANIMAL, AND I WILL"
1150 PRINT "TRY TO GUESS WHAT ANIMAL YOU ARE"
1160 PRINT "THINKING OF. I WILL DO THIS BY ASKING"
1170 PRINT "YOU A SERIES OF QUESTIONS ABOUT YOUR"
1180 PRINT "ANIMAL, TO WHICH YOU RESPOND EITHER"
1190 PRINT "YES OR NO. (ACTUALLY, A SIMPLE 'Y' OR"
1200 PRINT "'N' RESPONSE IS SUFFICIENT)"
1210 PRINT "IF I DO NOT GUESS WHAT YOUR ANIMAL IS,"
1220 PRINT "I WILL ASK YOU A FEW QUESTIONS SO THAT"
1230 PRINT "NEXT TIME I WILL KNOW WHAT YOUR ANIMAL"
1240 PRINT "IS.": PRINT
1250 PRINT "DO YOU WANT TO START A NEW GAME"
1260 PRINT "I.E. FORGET ALL PREVIOUS ANIMALS"
1270 INPUT "ANSWER 'YES' OR 'NO' ";A$: IF LEN(A$) = 0 THEN 170
1280 GOSUB 910: IF YN = 0 THEN GOTO 1270
1290 IF A$ = "N" OR A$ = "n" THEN 170
1300 REM
1310 REM CREATE A NEW DATA FILE
1320 REM
1330 PRINT OP$
1340 PRINT WF$;0
1350 PRINT "2,4"
1360 PRINT WF$;1
1370 PRINT "DOES IT LIVE IN THE WATER": PRINT 2: PRINT 3
1380 PRINT WF$;2
1390 PRINT "!FROG"
1400 PRINT WF$;3
1410 PRINT "!MOOSE"
1420 PRINT CL$
1430 GOTO 170
1440 REM
1450 REM ONERR PROCESSING ROUTINE
1460 REM
1470 ER = PEEK(222)
1480 IF ER = 255 THEN 1580
1490 IF ER = 7 THEN PRINT CL$: GOTO 1310: REM CREATE A NEW FILE
1500 IF ER = 3 THEN PRINT "NO DEVICE CONNECTED"
1510 IF ER = 2 THEN PRINT CL$: GOTO 1310: REM CREATE A NEW FILE
1520 IF ER = 6 THEN PRINT "DISK NOT FOUND"
1530 IF ER = 4 THEN PRINT "YOUR DISK IS WRITE PROTECTED"
1540 IF ER = 9 THEN PRINT "YOUR DISK IS FULL"
1550 IF ER = 10 THEN PRINT "YOUR ANIMALSFILE IS LOCKED"
1560 IF ER = 176 THEN PRINT "INPUT TOO LONG"
1570 INPUT "HIT 'RETURN' TO CONTINUE";A$
1580 HOME : REM END THE PROGRAM
1590 IF ER = 255 THEN PRINT "PLAYER PRESSED CONTROL-C"
1600 PRINT "PROGRAM ANIMALS FINISHED"
1610 PRINT CL$: END
1620 REM ***************************
1630 REM * *
1640 REM * ANIMALS *
1650 REM * PROGRAM THAT LEARNS *
1660 REM * ABOUT VARIOUS ANIMALS *
1670 REM * FROM THE USER. *
1680 REM * *
1690 REM * COPYRIGHT 1978 BY *
1700 REM * APPLE COMPUTER INC. *
1710 REM * *
1720 REM * UPDATED: OCTOBER 1983 *
1730 REM *************BY WHS********
1740 REM
1750 REM
1760 REM BASICALLY, THIS PROGRAM
1770 REM ILLUSTRATES THE USE OF A
1780 REM BINARY TREE STRUCTURE. SINCE
1790 REM THE ANSWER TO A QUESTION MUST
1800 REM EITHER BE A YES OR NO, WE
1810 REM WILL TRAVERSE THE TREE EITHER
1820 REM LEFT OR RIGHT. IF WE DO NOT
1830 REM GUESS THE ANIMAL CORRECTLY,
1840 REM WE SIMPLY GET THE NEW ANIMAL
1850 REM AND A QUESTION TO DISTINGUISH
1860 REM IT FROM OTHER ANIMALS, AND
1870 REM UPDATE THE TREE STRUCTURE.
1880 REM
1890 REM ORIGINAL PROGRAM IDEA:
1900 REM WHO KNOWS?
1910 REM
1920 REM COPYRIGHT 1978 APPLE COMPUTER INC.