diff --git a/dec/BINGO.BAS b/dec/BINGO.BAS new file mode 100644 index 0000000..14a36fe --- /dev/null +++ b/dec/BINGO.BAS @@ -0,0 +1,191 @@ +100 RANDOMIZE +120 PRINT"YOU ARE NOW GOING TO PLAY A COMPUTERIZED VERSION OF BINGO--" +180 LET F=1 +190 DIM B(10,10) +200 DIM L(75) +210 MAT READ A$(5) +220 DATA B, I, N, G, O +235 REM THIS SEQUENCE GENERATES THE CARD NUMBERS (LINES 240-430) +240 FOR K1=1 TO 75 +250 LET L(K1)=0 +260 NEXT K1 +270 PRINT" "," HERE'S "; +280 IF F>1 THEN 310 +290 PRINT"YOUR CARD" +300 GOTO 320 +310 PRINT"MY CARD" +320 LET M=16 +330 LET G=F+4 +340 FOR Y=F TO G +350 FOR X=F TO G +360 LET R=INT(M*RND) +370 IF R0 THEN 360 +390 LET B(X,Y)=R +400 LET L(R)=1 +410 NEXT X +420 LET M=M+15 +430 NEXT Y +435 REM THIS SEQUENCE PRINTS THE CARD (LINES 440-670) +440 PRINT +450 PRINT"--B--","--I--","--N--","--G--","--O--" +460 FOR X=F TO G +470 PRINT +480 PRINT +490 PRINT +500 FOR Y=F TO G +510 IF B(X,Y)=B(F+2,F+2) THEN 540 +520 PRINT B(X,Y), +530 GOTO 550 +540 PRINT"FREE", +550 NEXT Y +560 NEXT X +570 PRINT +580 PRINT +590 PRINT +600 PRINT"-------------------------------------------------------------------- +610 PRINT" [TEAR OFF AFTER MACHINE AUTOMATICALLY ADVANCES PAPER]" +620 FOR K9=1 TO 9 +630 PRINT +640 NEXT K9 +650 IF F=6 THEN 680 +660 LET F=6 +670 GOTO 240 +680 PRINT +690 PRINT"NOW WE'RE ALL SET TO PLAY THE GAME. USE A PENCIL TO MARK OFF" +700 PRINT"THE NUMBERS ON YOUR CARD AS THEY ARE CALLED." +710 PRINT" (PLEASE PLAY MY CARD AS WELL AS YOUR OWN)" +720 PRINT"***DON'T GET SMART. I'LL BE PLAYING BOTH YOUR CARD AND MINE" +730 PRINT " UP HERE IN BOSTON. (SO THERE--)" +740 PRINT +750 PRINT "ARE YOU READY"; +760 INPUT R$ +770 IF R$<>"NO" THEN 820 +780 PRINT +790 PRINT"*********:HURRY UP:*********" +800 GOTO 740 +810 REM +820 FOR K1=1 TO 75 +830 LET L(K1)=0 +840 NEXT K1 +850 PRINT +860 LET B(3,3)=0 +870 LET B(8,8)=0 +875 REM THIS SEQUENCE GENERATES THE BINGO NUMBERS (LINES 880-1100) +880 LET U=INT(75*RND)+1 +910 IF L(U)<>0 THEN 880 +920 LET L(U)=1 +930 PRINT +940 IF RND > .5 THEN 970 +950 PRINT"THE NUMBER COMES UP:", +960 GOTO 980 +970 PRINT"THE NEXT ONE IS:", +980 PRINT A$(INT((U-1)/15)+1);U +1105 REM THIS IS THE "NUMBER ON CARD?" SEQUENCE (LINES 1110-1260) +1110 FOR Y=1 TO 10 +1120 FOR X=1 TO 10 +1130 IF B(X,Y)=U THEN 1250 +1140 NEXT X +1150 NEXT Y +1160 LET F=1 +1170 GOSUB 1270 +1180 LET F=6 +1190 GOSUB 1270 +1200 IF V=0 THEN 1230 +1210 IF W=1 THEN 1980 +1220 GOTO 2050 +1230 IF W=0 THEN 880 +1240 GOTO 2120 +1250 LET B(X,Y)=0 +1260 GOTO 1140 +1265 REM THIS IS THE BINGO DETERMINING SEQUENCE (LINES 1270-1950) +1266 +1267 REM THIS IS THE VERTICAL CHECK FOR BINGO*** (LINES 1270-1430) +1270 LET G=F+4 +1280 FOR Y=F TO G +1290 FOR X=F TO G +1300 IF B(X,Y)<>0 THEN 1430 +1310 IF X0 THEN 1610 +1490 IF Y0 THEN 1770 +1650 LET X=X+1 +1660 LET Y=Y+1 +1670 IF Y0 THEN 1950 +1810 LET X=X-1 +1820 LET Y=Y+1 +1830 IF Y1THENPRINT"S"; +55 IFV=5THENPRINT" - YOU WIN":GOTO20 +60 PRINTW-V"COW";:IFW<>V+1THENPRINT"S"; +65 IFJ=0THENLETA=1:GOTO200 +68 GOSUB400 +70 PRINT" - MY GUESS IS "; +75 FORI=0TO4:PRINTCHR$(D(J,I)+48);:NEXTI +80 PRINT" MY SCORE";:INPUTB(J),C(J):LETC(J)=C(J)+B(J) +81 IFB(J)>-1THENIFB(J)<6THENIFC(J)<6THENIFC(J)-B(J)>-1GOTO83 +82 PRINT" - RIDICULOUS!!";:GOTO 70 +83 IFB(J)=4THENIFC(J)=5GOTO82 +85 IFB(J)=5THENPRINT" - I WIN - MY NUMBER WAS";:GOTO100 +90 GOTO35 +100 FORI=0TO4:PRINTCHR$(D(0,I)+48);:NEXTI +110 GOTO20 +150 PRINT:PRINT"YOU HAVE GIVEN ME IMPOSSIBLE SCORES - GAME SPOILED" + :GOTO 5 +170 PRINT"REPEATED DIGITS NOT ALLOWED":GOTO35 +200 FORP=0TO4 +210 LETD(A,P)=INT(10*RND(1)) +220 FORI=0TOP-1:IFD(A,I)=D(A,P)GOTO210 +230 NEXTI +240 NEXTP +250 IFA=0GGOTO30 +260 LETJ=1:GOTO70 +300 LETV=0:LETW=0 +310 FORI=0TOP:IFD(A,I)=G(I)THENLETV=V+1 +320 FORK=0TO4:IFD(A,K)=G(I)THENLETW=W+1 +330 NEXTK +340 NEXTI +350 RETURN +400 LETP=0 +405 LETG(P)=D(J,P) +410 FORI=0TOP-1:IFG(I)=G(P)GOTO430 +415 NEXTI +420 FORA=1TOJ:GOSUB300 +425 IFV<=B(A)THENIFW<=C(A)THENIF4-P>=C(A)-WTHENIF4-P>=B(A)-VGOTO448 +430 LETG(P)=G(P)+3:IFG(P)>9THENLETG(P)=G(P)-10 +432 IFP=0THENIFG(P)=D(1,0)GOTO150 +435 IFG(P)<>D(J,P)GOTO410 +440 LETP=P-1:IFP<0THENGOTO150 +445 GOTO430 +448 NEXTA +450 LETP=P+1:IFP<5GOTO405 +455 LETJ=J+1 +460 FORI=0TO4:LETD(J,I)=G(I):NEXTI +465 RETURN +500 PRINT:PRINT:PRINT" BRADFORD UNIVERSITY BULLS AND COW GAME +" +510 GOTO10 +999 END diff --git a/port/BINGO.BAS b/port/BINGO.BAS new file mode 100644 index 0000000..04bfc68 --- /dev/null +++ b/port/BINGO.BAS @@ -0,0 +1,191 @@ + 100 RANDOMIZE + 120 PRINT"YOU ARE NOW GOING TO PLAY A COMPUTERIZED VERSION OF BINGO--" + 180 LET F=1 + 190 DIM B(10,10),A(5) + 200 DIM L(75) + 210 FOR I=1 TO 5\READ A(I)\NEXT I + 220 DATA 66, 73, 78, 71, 79 + 235 REM THIS SEQUENCE GENERATES THE CARD NUMBERS (LINES 240-430) + 240 FOR K1=1 TO 75 + 250 LET L(K1)=0 + 260 NEXT K1 + 270 PRINT" "," HERE'S "; + 280 IF F>1 THEN 310 + 290 PRINT"YOUR CARD" + 300 GOTO 320 + 310 PRINT"MY CARD" + 320 LET M=16 + 330 LET G=F+4 + 340 FOR Y=F TO G + 350 FOR X=F TO G + 360 LET R=INT(M*RND(1)) + 370 IF R0 THEN 360 + 390 LET B(X,Y)=R + 400 LET L(R)=1 + 410 NEXT X + 420 LET M=M+15 + 430 NEXT Y + 435 REM THIS SEQUENCE PRINTS THE CARD (LINES 440-670) + 440 PRINT + 450 PRINT"--B--","--I--","--N--","--G--","--O--" + 460 FOR X=F TO G + 470 PRINT + 480 PRINT + 490 PRINT + 500 FOR Y=F TO G + 510 IF B(X,Y)=B(F+2,F+2) THEN 540 + 520 PRINT B(X,Y), + 530 GOTO 550 + 540 PRINT"FREE", + 550 NEXT Y + 560 NEXT X + 570 PRINT + 580 PRINT + 590 PRINT + 600 PRINT"--------------------------------------------------------------------" + 610 PRINT" [TEAR OFF AFTER MACHINE AUTOMATICALLY ADVANCES PAPER]" + 620 FOR K9=1 TO 9 + 630 PRINT + 640 NEXT K9 + 650 IF F=6 THEN 680 + 660 LET F=6 + 670 GOTO 240 + 680 PRINT + 690 PRINT"NOW WE'RE ALL SET TO PLAY THE GAME. USE A PENCIL TO MARK OFF" + 700 PRINT"THE NUMBERS ON YOUR CARD AS THEY ARE CALLED." + 710 PRINT" (PLEASE PLAY MY CARD AS WELL AS YOUR OWN)" + 720 PRINT"***DON'T GET SMART. I'LL BE PLAYING BOTH YOUR CARD AND MINE" + 730 PRINT " UP HERE IN BOSTON. (SO THERE--)" + 740 PRINT + 750 PRINT "ARE YOU READY"; + 760 INPUT R$ + 770 IF R$<>"NO" THEN 820 + 780 PRINT + 790 PRINT"*********:HURRY UP:*********" + 800 GOTO 740 + 810 REM + 820 FOR K1=1 TO 75 + 830 LET L(K1)=0 + 840 NEXT K1 + 850 PRINT + 860 LET B(3,3)=0 + 870 LET B(8,8)=0 + 875 REM THIS SEQUENCE GENERATES THE BINGO NUMBERS (LINES 880-1100) + 880 LET U=INT(75*RND(1))+1 + 910 IF L(U)<>0 THEN 880 + 920 LET L(U)=1 + 930 PRINT + 940 IF RND(1) > .5 THEN 970 + 950 PRINT"THE NUMBER COMES UP:", + 960 GOTO 980 + 970 PRINT"THE NEXT ONE IS:", + 980 PRINT CHR$(A(INT((U-1)/15)+1));U +1105 REM THIS IS THE "NUMBER ON CARD?" SEQUENCE (LINES 1110-1260) +1110 FOR Y=1 TO 10 +1120 FOR X=1 TO 10 +1130 IF B(X,Y)=U THEN 1250 +1140 NEXT X +1150 NEXT Y +1160 LET F=1 +1170 GOSUB 1270 +1180 LET F=6 +1190 GOSUB 1270 +1200 IF V=0 THEN 1230 +1210 IF W=1 THEN 1980 +1220 GOTO 2010 +1230 IF W=0 THEN 880 +1240 GOTO 2020 +1250 LET B(X,Y)=0 +1260 GOTO 1140 +1265 REM THIS IS THE BINGO DETERMINING SEQUENCE (LINES 1270-1950) +1266 ' +1267 REM THIS IS THE VERTICAL CHECK FOR BINGO*** (LINES 1270-1430) +1270 LET G=F+4 +1280 FOR Y=F TO G +1290 FOR X=F TO G +1300 IF B(X,Y)<>0 THEN 1430 +1310 IF X0 THEN 1610 +1490 IF Y0 THEN 1770 +1650 LET X=X+1 +1660 LET Y=Y+1 +1670 IF Y0 THEN 1950 +1810 LET X=X-1 +1820 LET Y=Y+1 +1830 IF Y