10  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  *******************
20  REM
30  REM            BAGELS: 3 DIGIT NUMBER GUESSING
40  REM
50  REM            36360  (A801)  REV A -- 11/71
60  REM
70  REM ****  CONTRIBUTED PROGRAM  ************************************
1000  REM **PICO-FERMI-BAGELS NUMBER GUESS GAME**  D. RESEK, P. ROWE
1010  REM COPYRIGHT 1971 BY THE REGENTS OF THE UNIV. OF CALIF.
1020  REM PRODUCED AT THE LAWRENCE HALL OF SCIENCE, BERKELEY
1030  DIM A$[10],N$[10],A[3],B[3]
1040  N$="0123456789"
1050  Y=0
1060  T=255
1070  PRINT "WOULD YOU LIKE THE RULES";
1080  INPUT A$
1090  IF A$[1,1]="N" THEN 1150
1100  PRINT '13'10"I AM THINKING OF A THREE DIGIT NUMBER.  YOU CAN GUESS WHAT"
1110  PRINT "NUMBER I HAVE IN MIND AND I WILL TELL YOU:"'10
1120  PRINT "PICO   - ONE DIGIT IS IN THE WRONG PLACE"
1130  PRINT "FERMI  - ONE DIGIT IS IN THE CORRECT PLACE"
1140  PRINT "BAGELS - NO DIGIT IS CORRECT"
1150  FOR I=1 TO 3
1160  A[I]=INT(10*RND(0))
1170  FOR J=1 TO I-1
1180  IF A[I]=A[J] THEN 1160
1190  NEXT J
1200  NEXT I
1210  PRINT '10"OKAY, I HAVE A NUMBER IN MIND."
1220  FOR I=1 TO 20
1230  PRINT '13'10"GUESS #"I":";
1240  ENTER T,C,A$
1250  IF LEN(A$)#3 THEN 1630
1260  FOR J=1 TO 3
1270  FOR C=1 TO 10
1280  IF A$[J,J]=N$[C,C] THEN 1320
1290  NEXT C
1300  PRINT TAB(22)"WHAT?";
1310  GOTO 1230
1320  B[J]=C-1
1330  NEXT J
1340  IF B[1]=B[2] OR B[2]=B[3] OR B[1]=B[3] THEN 1650
1350  C=D=0
1360  FOR J=1 TO 2
1370  IF A[J]#B[J+1] THEN 1390
1380  C=C+1
1390  IF A[J+1]#B[J] THEN 1410
1400  C=C+1
1410  NEXT J
1420  IF A[1]#B[3] THEN 1440
1430  C=C+1
1440  IF A[3]#B[1] THEN 1460
1450  C=C+1
1460  FOR J=1 TO 3
1470  IF A[J]#B[J] THEN 1490
1480  D=D+1
1490  NEXT J
1500  IF D=3 THEN 1680
1510  PRINT TAB(22);
1520  FOR J=1 TO C
1530  PRINT "PICO ";
1540  NEXT J
1550  FOR J=1 TO D
1560  PRINT "FERMI ";
1570  NEXT J
1580  IF C+D THEN 1600
1590  PRINT "BAGELS";
1600  NEXT I
1610  PRINT '13'10'10"OH WELL"
1620  GOTO 1700
1630  PRINT '10'10"TRY GUESSING A THREE DIGIT NUMBER."
1640  GOTO 1230
1650  PRINT '10'10"OH.  I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND"
1660  PRINT "HAS NO TWO DIGITS THE SAME."
1670  GOTO 1230
1680  PRINT '13'10'10'7'7"YOU GOT IT"
1690  Y=Y+1
1700  PRINT '10"AGAIN";
1710  INPUT A$
1720  IF A$[1,1]="Y" THEN 1150
1730  IF Y=0 THEN 1750
1740  PRINT '10'10'10'7'7'7'7"A  "Y"- POINT BAGELS BUFF"
1750  END 
