BBS: Inland Empire Archive Date: 02-25-93 (22:35) Number: 380 From: CASEY PEARSON Refer#: NONE To: ALL Recvd: NO Subj: BOOLEAN.BAS Conf: (2) Quik_Bas
This program is for the interest of those logical folks like me <G>. Here is a program that you can use to study, just as I did when I first started programing. It was released by the author into the PD, providing it's used for DEMONSTRATION purposes, otherwise write a letter to the author! WARNING: notice it is COPYRIGHTED! So respect it and use it for the purpose it was intended: LEARNING!!! 1 REM COPYRIGHT 1984, EMERALD VALLEY PUBLISHING CO. 100 REM ********************* 110 REM * THE BOOLEAN BRAIN * 120 REM ********************* 130 REM BY W. K. BALTHROP 140 REM HOME COMPUTER MAGAZINE 150 REM VERSION 4.3.3 160 REM IBM PCjr WITH CARTRIDGE BASIC FROM DOS 2.1 OR 170 REM IBM PC WITH BASICA WITH COLOR GRAPHICS ADAPTER AND 180 REM COLOR MONITOR 190 CLS:SCREEN 1:DIM A(2,10),RM(10,4):RANDOMIZE TIMER:KEY OFF 200 FOR Z=1 TO 9:READ A(1,Z),A(2,Z):NEXT:FOR Z=1 TO 10:READ N$(Z),RM(Z,1),RM(Z, 210 C=0:GOSUB 900:GOSUB 910 220 DIR=1:SC=0:R=1 230 ON DIR GOSUB 260,300,340,380:GOSUB 990:DEF SEG=0:POKE 1050,PEEK(1052) 240 A$=INKEY$:IF A$="" THEN 240 ELSE IF A$="E" THEN DIR=1 ELSE IF A$="W" THEN D 250 IF RM(R,DIR)=R THEN 700 ELSE IF RM(R,DIR)>10 THEN R=RM(R,DIR)-10:GOSUB 910: 260 LOCATE 7,20:PRINT "E";:IF RM(R,1)<11 THEN GOSUB 940 270 IF RM(R,3)<11 THEN GOSUB 950 280 IF RM(R,4)<11 THEN GOSUB 960 290 RETURN 300 LOCATE 7,20:PRINT "W";:IF RM(R,2)<11 THEN GOSUB 940 310 IF RM(R,4)<11 THEN GOSUB 950 320 IF RM(R,3)<11 THEN GOSUB 960 330 RETURN 340 LOCATE 7,20:PRINT "N";:IF RM(R,3)<11 THEN GOSUB 940 350 IF RM(R,2)<11 THEN GOSUB 950 360 IF RM(R,1)<11 THEN GOSUB 960 370 RETURN 380 LOCATE 7,20:PRINT "S";:IF RM(R,4)<11 THEN GOSUB 940 390 IF RM(R,1)<11 THEN GOSUB 950 400 IF RM(R,2)<11 THEN GOSUB 960 410 RETURN 420 G=VAL(A$):IF G=0 THEN G=10 430 IF GT(G)=1 THEN D=0:RETURN 440 IF RM(R,DIR)>10 THEN R=RM(R,DIR):D=1:RETURN 450 ON G GOTO 460,470,480,490,500,510,520,530,540,550 460 SC=SC+1:LINE (10,16)-(24,16),2:GT(1)=1:IF T(1)=2 THEN 560 ELSE IF T(1)=1 AN 470 SC=SC+1:LINE (10,24)-(24,24),2:GT(2)=1:IF T(1)=2 THEN 560 ELSE IF T(1)=1 AN 480 SC=SC+1:LINE (10,56)-(24,56),2:GT(3)=1:IF T(2)=2 THEN 570 ELSE IF T(2)=1 AN 490 SC=SC+1:LINE (10,64)-(24,64),2:GT(4)=1:IF T(2)=2 THEN 570 ELSE IF T(2)=1 AN 500 SC=SC+1:LINE (10,96)-(24,96),2:GT(5)=1:IF T(3)=2 THEN 580 ELSE IF T(3)=1 AN 510 SC=SC+1:LINE (10,104)-(24,104),2:GT(6)=1:IF T(3)=2 THEN 580 ELSE IF T(3)=1 520 SC=SC+1:LINE (10,136)-(24,136),2:GT(7)=1:IF T(4)=2 THEN 590 ELSE IF T(4)=1 530 SC=SC+1:LINE (10,144)-(24,144),2:GT(8)=1:IF T(4)=2 THEN 590 ELSE IF T(4)=1 540 SC=SC+1:LINE (10,176)-(24,176),2:GT(9)=1:IF T(5)=2 THEN 600 ELSE IF T(5)=1 550 SC=SC+1:LINE (10,184)-(24,184),2:GT(10)=1:IF T(5)=2 THEN 600 ELSE IF T(5)=1 560 Y=A(1,1):Z=A(2,1):COL=2:ON T(1) GOSUB 970,980:T(1)=0:GOSUB 730:IF T(6)=2 OR 570 Y=A(1,2):Z=A(2,2):COL=2:ON T(2) GOSUB 970,980:T(2)=0:GOSUB 740:IF T(6)=2 OR 580 Y=A(1,3):Z=A(2,3):COL=2:ON T(3) GOSUB 970,980:T(3)=0:GOSUB 750:IF T(7)=2 OR 590 Y=A(1,4):Z=A(2,4):COL=2:ON T(4) GOSUB 970,980:T(4)=0:GOSUB 760:IF T(7)=2 OR 600 Y=A(1,5):Z=A(2,5):COL=2:ON T(5) GOSUB 970,980:T(5)=0:GOSUB 770:IF T(8)=2 OR 610 Y=A(1,6):Z=A(2,6):COL=2:ON T(6) GOSUB 970,980:T(6)=0:GOSUB 780:IF T(9)=2 OR 620 Y=A(1,7):Z=A(2,7):COL=2:ON T(7) GOSUB 970,980:T(7)=0:GOSUB 790:IF T(8)=2 OR 630 Y=A(1,8):Z=A(2,8):COL=2:ON T(8) GOSUB 970,980:T(8)=0:GOSUB 800:IF T(9)=2 OR 640 Y=A(1,9):Z=A(2,9):COL=2:ON T(9) GOSUB 970,980:T(9)=0:GOSUB 810:FOR TD=1 TO 650 RM(ORM,DIR)=RM(ORM,DIR)+10:RETURN 660 LINE(95,55)-(223,95),0,BF:FOR Z=1 TO 200:X=INT(RND*125)+95:Y=INT(RND*37)+55 670 FOR Z=1 TO 200:SOUND RND*10000+110,1:FOR TD=1 TO 50:NEXT:NEXT:SCORE=INT(ND/ 680 LINE (0,155)-(319,199),0,BF:LOCATE 20,1:PRINT "CONGRATULATIONS -- YOU HAVE 690 FOR TD=1 TO 3000:NEXT:PRINT "YOUR SCORE=";SCORE;:PRINT:PRINT" PLAY AGAIN (Y 700 FOR Z=1 TO 15:FOR Y=1 TO 15:SOUND Y*100+1000,2:NEXT:NEXT 710 CLS:LOCATE 16,1:PRINT "YOU'VE BEEN ZAPPED BY A BAD DISK SECTOR.":PRINT:PRIN 720 A$=INKEY$:IF A$="" THEN 720 ELSE IF A$="Y" THEN RUN ELSE IF A$<>"N" THEN 72 730 DRAW "C=COL;BM56,20R20D16R17":RETURN 740 DRAW "C=COL;BM56,60R20U16R17":RETURN 750 DRAW "C=COL;BM56,100R20D16R17":RETURN 760 DRAW "C=COL;BM56,140R20U16R17":RETURN 770 DRAW "C=COL;BM56,180R90U26R17":RETURN 780 DRAW "C=COL;BM126,40R90D51R17":RETURN 790 DRAW "C=COL;BM126,120R20D26R17":RETURN 800 DRAW "C=COL;BM196,150R20U51R17":RETURN 810 LINE (266,85)-(286,105),COL,BF:RETURN 820 L=0:FOR Z=2 TO 22 STEP 5:L=L+1:IF L=9 THEN LOCATE Z,1:PRINT "9";:LOCATE Z+2 830 NEXT:RETURN 840 ND=ND+1:FOR Z=1 TO 10:GT(Z)=0:NEXT:CLS:DRAW "S8":COL=1:FOR B=1 TO 9:T(B)=IN 850 FOR Z=16 TO 176 STEP 40:LINE (10,Z)-(24,Z),1:LINE (10,Z+8)-(24,Z+8),1:NEXT 860 COL=1:DRAW "S4":GOSUB 730:GOSUB 740:GOSUB 750:GOSUB 760:GOSUB 770:GOSUB 780 870 REM 880 A$=INKEY$:IF A$>="0" AND A$<="9" THEN GOSUB 420:IF D=1 AND R<>10 THEN GOSUB 890 GOTO 880 900 COLOR 0,0:CLS:DRAW "C3BM0,23M79,47M239,47M319,23BM319,143M239,119NU72M79,11 910 DRAW "C3BM143,119U56R32D56BH5P=C;,3BM183,79C3R16D16L16U16BF2D5R12 5L12BD9D3 920 DRAW "C3BM7,140M7,51M47,59M47,129BH3P=C;,3C3BM71,79L16D16R16U16BG D5L12U5R1 930 DRAW "C3BM271,129M271,59M311,51M311,140BM287,119P=C;,3":RETURN 940 PAINT (159,65),2,3:RETURN 950 PAINT (8,52),2,3:RETURN 960 PAINT (310,52),2,3:RETURN 970 DRAW "C=COL;BM=Y;,=Z;S8U2H2LHL9D10R9ERE2U2NR6BL2S4P=COL;,=COL;":RETURN 980 DRAW "C=COL;BM=Y;,=Z;S8H4LHL9FRF2NL4RFD2GLNL4G2LGR9ERE4R4BL6S4P=COL;,=COL;" 990 LOCATE 25,3:PRINT LEFT$(" ",(36- LEN(N$(R)))/2);N$(R);RIGH 1000 DATA 50,20,50,60,50,100,50,140,50,180,120,40,120,120,190,150,260,95 1010 DATA KEYBOARD INTERFACE,5,4,8,7,INPUT PORT,4,3,6,9,VIDEO PROCESSING,2,5,7, ... þ SLMR 2.1a þ My reality checkjust bounced. --- DCQwk/T.A.G. 1.5a * Origin: The Abacus * HST/DS * Potterville MI (1:159/100)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET