From 56d27496747676900d1710c04b92d4472bb897ed Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Thu, 25 Apr 2024 11:56:02 +0800 Subject: [PATCH] Add BAGLES --- dec/BAGLES.BAS | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ port/BAGLES.BAS | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 dec/BAGLES.BAS create mode 100644 port/BAGLES.BAS diff --git a/dec/BAGLES.BAS b/dec/BAGLES.BAS new file mode 100644 index 0000000..9b30585 --- /dev/null +++ b/dec/BAGLES.BAS @@ -0,0 +1,77 @@ +5 REM *** BAGLES NUMBER GUESSING GAME +10 REM *** ORIGINAL SOURCE UNKNOWN BUT SUSPECTED TO BE LAWRENCE HALL +15 REM *** OF SCIENCE, U.C. BERKELEY. MODIFIED FOR TIMESHARED-8 +20 REM *** BY STUDENTS OF LEXINGTON HIGH SCHOOL, MA AND MODIFIED FOR +25 REM *** RSTS/E BY DAVE AHL OF DIGITAL 11/45 GROUP +30 DIM A1(6),A(3),B(3) +40 RANDOMIZE:Y=0:T=255 +70 INPUT "GAME OF BAGLES. WOULD YOU LIKE THE RULES (YES OR NO)";A$ +90 IF A$="NO" THEN 150 +100 PRINT:PRINT "I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS" +110 PRINT "MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:" +120 PRINT " PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION" +130 PRINT " FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION" +140 PRINT " BAGELS - NO DIGITS CORRECT" +150 FOR I=1 TO 3 +160 A(I)=INT(10*RND) +170 FOR J=1 TO I-1 +180 IF A(I)=A(J) THEN 160 +190 NEXT J +200 NEXT I +210 PRINT:PRINT "O.K. I HAVE A NUMBER IN MIND." +220 FOR I=1 TO 20 +230 PRINT "GUESS #"I; +240 INPUT A$ +250 CHANGE A$ TO A1 +255 IF A1(0)<>3 THEN 630 +260 FOR J=1 TO 3 +270 IF A1(J)<48 THEN 300 +280 IF A1(J)>57 THEN 300 +285 B(J)=A1(J)-48 +290 NEXT J +295 GOTO 320 +300 PRINT "WHAT?" +310 GOTO 230 +320 IF B(1)=B(2) THEN 650 +330 IF B(2)=B(3) THEN 650 +340 IF B(3)=B(1) THEN 650 +350 C=0:D=0 +360 FOR J=1 TO 2 +370 IF A(J)<>B(J+1) THEN 390 +380 C=C+1 +390 IF A(J+1)<>B(J) THEN 410 +400 C=C+1 +410 NEXT J +420 IF A(1)<>B(3) THEN 440 +430 C=C+1 +440 IF A(3)<>B(1) THEN 460 +450 C=C+1 +460 FOR J=1 TO 3 +470 IF A(J)<>B(J) THEN 490 +480 D=D+1 +490 NEXT J +500 IF D=3 THEN 680 +520 FOR J=1 TO C +530 PRINT "PICO "; +540 NEXT J +550 FOR J=1 TO D +560 PRINT "FERMI "; +570 NEXT J +580 IF C+D<>0 THEN 600 +590 PRINT "BAGELS"; +600 PRINT +605 NEXT I +610 PRINT "OH WELL" +615 PRINT "THAT'S 20 GUESSES. MY NUMBER WAS"100*A(1)+10*A(2)+A(3) +620 GOTO 700 +630 PRINT "TRY GUESSING A THREE-DIGIT NUMBER.":GOTO 230 +650 PRINT "OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN" +660 PRINT "MIND HAS NO TWO DIGITS THE SAME.":GOTO 230 +680 PRINT "YOU GOT IT!!!":PRINT +690 Y=Y+1 +700 INPUT "PLAY AGAIN (YES OR NO)";A$ +720 IF A$="YES" THEN 150 +730 IF Y=0 THEN 750 +740 PRINT:PRINT "A"Y"- POINT BAGELS BUFF!!" +750 PRINT "HOPE YOU HAD FUN. BYE." +999 END diff --git a/port/BAGLES.BAS b/port/BAGLES.BAS new file mode 100644 index 0000000..d22efb8 --- /dev/null +++ b/port/BAGLES.BAS @@ -0,0 +1,78 @@ + 5 REM *** BAGLES NUMBER GUESSING GAME + 10 REM *** ORIGINAL SOURCE UNKNOWN BUT SUSPECTED TO BE LAWRENCE HALL + 15 REM *** OF SCIENCE, U.C. BERKELEY. MODIFIED FOR TIMESHARED-8 + 20 REM *** BY STUDENTS OF LEXINGTON HIGH SCHOOL, MA AND MODIFIED FOR + 25 REM *** RSTS/E BY DAVE AHL OF DIGITAL 11/45 GROUP + 27 REM *** QUICK PORT TO EDUSYSTEM 50 BY RENAUD FIVET + 30 DIM A1(6),A(3),B(3) + 40 RANDOMIZE\ Y=0 + 70 PRINT "GAME OF BAGLES. WOULD YOU LIKE THE RULES (YES OR NO)";\ INPUT A$ + 90 IF A$="NO" THEN 150 + 100 PRINT\ PRINT "I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS" + 110 PRINT "MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:" + 120 PRINT " PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION" + 130 PRINT " FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION" + 140 PRINT " BAGELS - NO DIGITS CORRECT" + 150 FOR I=1 TO 3 + 160 A(I)=INT(10*RND(1)) + 170 FOR J=1 TO I-1 + 180 IF A(I)=A(J) THEN 160 + 190 NEXT J + 200 NEXT I + 210 PRINT\ PRINT "O.K. I HAVE A NUMBER IN MIND." + 220 FOR I=1 TO 20 + 230 PRINT "GUESS #"I; + 240 INPUT A$ + 250 CHANGE A$ TO A1 + 255 IF A1(0)<>3 THEN 630 + 260 FOR J=1 TO 3 + 270 IF A1(J)<48 THEN 300 + 280 IF A1(J)>57 THEN 300 + 285 B(J)=A1(J)-48 + 290 NEXT J + 295 GOTO 320 + 300 PRINT "WHAT?" + 310 GOTO 230 + 320 IF B(1)=B(2) THEN 650 + 330 IF B(2)=B(3) THEN 650 + 340 IF B(3)=B(1) THEN 650 + 350 C=0\ D=0 + 360 FOR J=1 TO 2 + 370 IF A(J)<>B(J+1) THEN 390 + 380 C=C+1 + 390 IF A(J+1)<>B(J) THEN 410 + 400 C=C+1 + 410 NEXT J + 420 IF A(1)<>B(3) THEN 440 + 430 C=C+1 + 440 IF A(3)<>B(1) THEN 460 + 450 C=C+1 + 460 FOR J=1 TO 3 + 470 IF A(J)<>B(J) THEN 490 + 480 D=D+1 + 490 NEXT J + 500 IF D=3 THEN 680 + 520 FOR J=1 TO C + 530 PRINT "PICO "; + 540 NEXT J + 550 FOR J=1 TO D + 560 PRINT "FERMI "; + 570 NEXT J + 580 IF C+D<>0 THEN 600 + 590 PRINT "BAGELS"; + 600 PRINT + 605 NEXT I + 610 PRINT "OH WELL" + 615 PRINT "THAT'S 20 GUESSES. MY NUMBER WAS"100*A(1)+10*A(2)+A(3) + 620 GOTO 700 + 630 PRINT "TRY GUESSING A THREE-DIGIT NUMBER."\ GOTO 230 + 650 PRINT "OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN" + 660 PRINT "MIND HAS NO TWO DIGITS THE SAME."\ GOTO 230 + 680 PRINT "YOU GOT IT!!!"\ PRINT + 690 Y=Y+1 + 700 PRINT "PLAY AGAIN (YES OR NO)";\ INPUT A$ + 720 IF A$="YES" THEN 150 + 730 IF Y=0 THEN 750 + 740 PRINT\ PRINT "A"Y"- POINT BAGELS BUFF!!" + 750 PRINT "HOPE YOU HAD FUN. BYE." + 999 END