IMD 1.16: 29/05/2007 18:35:01 FOGCPM.064 еееееееееееееее--FOGCPM064MENU BASMENU DOCAWARI BASBIO-FF BAS" CHECKERSBAS(CRAPS BASCRAZY-8 BAS5CUBE BAS# !DCHARGE BAS "#DIAMOND BAS$DICE BAS%DIGITS BAS&'(EVENWIN1BAS)*+EVENWIN2BAS,-./FLIPFLOPBAS01FOOTBAL1BAS<23456789FOOTBAL2BAS::;<=>?@AFURTRADRBAS2BCDEFGHGAMMON BASЂIJKLMNOPQRSTUVWXGAMMON BASYZ[-06-00 86 ЋGOLF BAS2\]^_`abGOMOKO BAScdeGUESS BAS fgGUNNER BAShiHAMURABIBAS(jklmnHANGMAN BASopqrHELLO BASstuvHEXAPAWNBAS.wxyz{|HI-Q BAS }~ЂHOCKEY BASEЃ‚ѓ„…†‡€‰HORSRACEBASЉ‹ЊЌ-CPM064 DOCЏђ‘’ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееThis is the disk name. ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее100 REM -- MENU program by Jim Woolley, FOG Diak Librarian, 8/82 110 CLEAR 120 DEFINT I-N 130 DIM PROG$(41) 140 FMT$="##. &" 150 INPUT"Press for MENU",NBR 160 PRINT CHR$(26); 170 RESTORE 180 I=0 190 WHILE PROG$(I)<>"NOMOREDATA" 200 I=I+1:READ PROG$(I) 210 WEND 220 LAST=I-1:ILAST=LAST 230 IF ILAST>19 THEN ILAST=20 240 FOR I=1 TO ILAST 250 PRINT USING FMT$;I;PROG$(I); 260 J=20+I 270 IF J>LAST THEN PRINT ELSE PRINT TAB(25);:PRINT USING FMT$;J;PROG$(J) 280 NEXT I 290 PRINT 300 INPUT"Enter program number (0 to quit): ",NBR 310 IF NBR=0 THEN END 320 IF NBR<1 OR NBR>LAST THEN 300 330 RUN PROG$(NBR) 340 REM -- Enter program filenames as DATA statements 350 DATA CRAPS,CUBE,DIAMOND,DICE,DIGITS,EVENWIN1,EVENWIN2 360 DATA FLIPFLOP,FOOTBAL1,FOOTBAL2,FURTRADR,GOLF,GOMOKO,GUESS 370 DATA GUNNER,HAMURABI,HANGMAN,HELLO,HI-Q,HOCKEY,HORSRACE 998 REM -- Next line must be last DATA statement 999 DATA NOMOREDATA ATA GUNNER,HAMURABI,HANGMAN,HELLO,HI-Q,HOCKEY,HORSRACE 998 REM -- Next lineThe following MBASIC source code games can be run from the MBASIC menu program: MENU.BAS. CRAPS.BAS CUBE.BAS DIAMOND.BAS DICE.BAS DIGITS.BAS EVENWIN1.BAS EVENWIN2.BAS FLIPFLOP.BAS FOOTBAL1.BAS FOOTBAL2.BAS FURTRADR.BAS GOLF.BAS GOMOKO.BAS GUESS.BAS GUNNER.BAS HAMURABI.BAS HANGMAN.BAS HELLO.BAS HI-Q.BAS HOCKEY.BAS HORSRACE To run, place MBASIC in drive A and this disk in drive B. At the A> prompt, type B: At the B> prompt, type A:MBASIC MENU If necessary, the MENU can be restarted. Following the Ok prompt, type RUN "MENU" The quotation marks are required. ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее5 PRINT TAB(24);"AWARI" 7 PRINT TAB(5);"CREATIVE COMPUTING, MORRISTOWN N.J." 10 DATA 0 15 DIM B(13),G(13),F(50):READ N 16 INPUT "WOULD YOU LIKE THE RULES (YES=1)";Z 17 IF Z=1 GOTO 900 18 Z=0 20 PRINT:PRINT:E=0 25 FOR I=0 TO 12:B(I)=3:NEXT I 30 C=0:F(N)=0:B(13)=0:B(6)=0 35 GOSUB 500 40 PRINT "YOUR MOVE";:GOSUB 110 45 IF E=0 THEN 80 50 IF M=H THEN GOSUB 100 55 IF E=0 THEN 80 60 PRINT "MY MOVE IS ";:GOSUB 800 65 IF E=0 THEN 80 70 IF M=H THEN PRINT ",";:GOSUB 800 75 IF E>0 THEN 35 80 PRINT:PRINT"GAME OVER" 85 D=B(6)-B(13):IF D<0 THEN PRINT "I WIN BY";-D;"POINTS":GOTO 920 90 N=N+1:IF D=0 THEN PRINT "DRAWN GAME":GOTO 920 95 PRINT "YOU WIN BY";D;"POINTS":GOTO 920 100 PRINT "AGAIN; 110 INPUT M:IF M<7 THEN IF M>0 THEN M=M-1:GOTO 130 120 PRINT "ILLEGAL MOVE":GOTO 100 130 IF B(M)=0 THEN 120 140 H=6:GOSUB 200 150 GOTO 500 200 K=M:GOSUB 600 205 E=0:IF K>6 THEN K=K-7 210 C=C+1:IF C<9 THEN F(N)=F(N)*6+K 215 FOR I=0 TO 5:IF B(I)<>0 THEN 230 220 NEXT I 225 RETURN 230 FOR I=7 TO 12:IF B(I)<>0 THEN E=1 231 NEXT I 232 RETURN 235 GOTO 220 500 PRINT:PRINT" "; 505 FOR I=12 TO 7 STEP -1:GOSUB 580 510 NEXT I 515 PRINT:I=13:GOSUB 580 520 PRINT " ";:PRINT B(6):PRINT " "; 525 FOR I=0 TO 5:GOSUB 580 530 NEXT I 535 PRINT:PRINT:RETURN 580 IF B(I)<10 THEN PRINT " "; 585 PRINT B(I);:RETURN 600 P=B(M):B(M)=0 605 FOR P=P TO 1 STEP -1:M=M+1:IF M>13 THEN M=M-14 610 B(M)=B(M)+1:NEXT P 615 IF B(M)=1 THEN IF M<>6 THEN IF M<>13 THEN IF B(12-M)<>0 THEN 625 620 RETURN 625 B(H)=B(H)+B(12-M)+1:B(M)=0:B(12-M)=0:RETURN 800 D=-99:H=13 805 FOR I=0 TO 13:G(I)=B(I):NEXT I 810 FOR J=7 TO 12:IF B(J)=0 THEN 885 815 G=0:M=J:GOSUB 600 820 FOR I=0 TO 5:IF B(I)=0 THEN 845 825 L=B(I)+I:R=0 830 IF L>13 THEN L=L-14:R=1:GOTO 830 835 IF B(L)=0 THEN IF L<>6 THEN IF L<>13 THEN R=B(12-L)+R 840 IF R>Q THEN Q=R 845 NEXT I 850 Q=B(13)-B(6)-Q:IF C>8 THEN 875 855 K=J:IF K>6 THEN K=K-7 860 FOR I=0 TO N-1:IF F(N)*6+K=INT(F(I)/6^(7-C)+.1) THEN Q=Q-2 870 NEXT I 875 FOR I=0 TO 13:B(I)=G(I):NEXT I 880 IF Q>=D THEN A=J:D=Q 885 NEXT J 890 M=A:PRINT CHR$(42+M);:GOTO 200 895 FOR I=0 TO N-1:PRINTB(I):NEXT I 896 GOTO 999 900 PRINT "Awari is an ancient African game played with a" 901 PRINT "board divided into 6 pits on each side. There" 902 PRINT "are 2 special home pits at the ends. 3 stones" 903 PRINT "are in each of the 12 pits. A move is made by" 904 PRINT "taking all stones from any (non-empty) pit on" 905 PRINT "your side. Starting from the pit to the right" 906 PRINT "of this one, stones are 'sown' 1 in each pit" 907 PRINT "(counterclockwise). A turn consists of 1 or 2" 908 PRINT "moves. If your last stone is sown in your own" 909 PRINT "home, take a second move.":PRINT " " 910 PRINT "If the last stone sown lands in an empty pit," 911 PRINT "provided that the opposite pit isn't empty, all" 912 PRINT "stones in the opposite pit and the last stone" 913 PRINT "sown are captured and moved to the players home" 914 PRINT "(right end).":PRINT " " 915 PRINT "When either side is empty, the game ends. The" 916 PRINT "player with the most stones wins.":PRINT " " 917 PRINT "To make a move type in the number of your pit (1-6)." 918 INPUT "(ENTER ANY NUMBER TO CONTINUE)";Z 919 GOTO 18 920 INPUT "ANOTHER GAME (NO = 1)";Z 921 IF Z=1 THEN 999 922 Z=0:GOTO 16 999 END R ANY NUMBER TO CONTINUE)";Z 919 GOTO 18 920 INPUT "ANOTHER GAME (NO = 1)";Z taking all stones from any (non-empty) pit on" 905 PRINT "your side. Starting from the pit to the right" 906 PRINT "of this one, stones are 'sown' 1 in each pit" 907 PRINT "(counterclockwise). A turn consists of 1 or 2" 908 PRINT "moves. If your last stone is sown in your own" 909 PRINT "home, take a second move.":PRINT " " 910 PRINT "If the last stone sown lands in an empty pit," 911 PRINT "provided that the opposite pit isn't empty, all" 912 PRINT "stones in the opposite pit and the last stone" 913 PRINT "sown are captured and moved to the players home" 914 PRINT "(right end).":PRINT " " 915 PRINT "When either s10 'COPYRIGHT [C] 1977 BY W.A.BURTON. ALL RIGHTS RESERVED 20 DIM A(12), M$(12) 30 DATA 1,31,59,90,120,151,181,212,243,273,304,334 40 FOR I=1 TO 12: READ A(I): NEXT 50 PI=3.14159:P1=1:P2=0:QP=0 60 INPUT" INSTRUCTIONS (Y OR N)";Z$ 70 IF Z$="Y"THEN GOSUB 660 80 INPUT"FOR HOW MANY DAYS DO YOU WANT THIS CHART";DL 90 INPUT"STARTING DATE OF YOUR ANALYSIS ";M,D,Y 100 INPUT"WHAT IS THE DAY OF YOUR BIRTH ";MB,DB,YB 110 INPUT"WHAT IS YOUR NAME "; A$ 120 DEF FNI(X)=INT(25*SIN(2*PI*X/33)+.5) 130 DEF FNE(X)=INT(25*SIN(2*PI*X/28)+.5) 140 DEF FNP(X)=INT(25*SIN(2*PI*X/23)+.5) 150 T=INT(D+365.25*Y+A(M)+.01*M-.03) 160 TB=INT(DB+365.25*YB+A(MB)+.01*MB-.03) 170 X=T-TB 180 RB=TB-1-INT((TB-1)/7)*7 190 DATA MON,TUE,WED,THU,FRI,SAT,SUN 200 FOR I=0 TO 6:READ D$(I):NEXT 210 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 220 FOR I=1 TO 12:READ M$(I):NEXT 230 GOSUB 1090 240 R=T-1-INT((T-1)/7)*7 250 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(V),2)) 260 LPRINT"STARTING DATE: ";D$(R)", ";M$(M)STR$(D);", 19"; 270 LPRINT RIGHT$(STR$(Y),2), 280 LPRINT"BIRTH DATE: "D$(RB)", "M$(MB)STR$(DB)", 19"; 290 LPRINT RIGHT$(STR$(YB),2) 300 GOSUB 1110 310 LPRINT D$(R)D;M$(M);TAB(10)":"; 320 C$=":" 330 F(0)=42:F$(0)=C$ 340 F(1)=42+FNI(X):F$(1)="I" 350 F(2)=42+FNE(X):F$(2)="E" 360 F(3)=42+FNP(X):F$(3)="P" 370 FOR I=0 TO 2 380 FOR J=I+1 TO 3 390 IF F(I)":"THEN GOSUB 820 470 NEXT 480 FOR I=0 TO 3 490 LPRINT TAB(F(I));F$(I); 500 NEXT 510 LPRINT:X=X+1 520 IF P2>52 THEN 880 530 P2=P2+1 540 IF Z=DL THEN 640 550 R=R+1:IF R=7 THEN R=0 560 D=D+1:IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30:GOTO 600 570 IF M=2 AND Y/4=INT(Y/4) THEN L=29:GOTO 600 580 IF M=2 THEN L=28:GOTO 600 590 L=31 600 IF D>L THEN D=D-L:M=M+1:GOTO 620 610 LPRINT D$(R);D;TAB(10)":";:Z=Z+1:GOTO 330 620 IF M=13 THEN M=1:Z=Z+1:GOTO 310 630 Z=Z+1:GOTO 310 640 QP=2:GOTO 880 650 END 660 PRINT"ENTER DATES AS FOLLOWS: MM,DD,YY - IGNORE LEADING ZEROS" 670 PRINT"EXAMPLE: ENTER PEARL HARBOR DAY AS - 12,7,41" 680 PRINT 690 PRINT"FOR FURTHER INFO TYPE 'GOTO 940', OTHERWISE 'GOTO 80'" 700 END 710 LPRINT 720 LPRINT"TO DETERMINE WHICH DAYS ARE CRITICAL FOR YOU, EXAMINE THE" 730 LPRINT"THREE CURVES (P,E, AND I); WHENEVER A CURVE CROSSES THE CRITICAL" 740 LPRINT"LINE I.E. GOES FROM 'UP' TO 'DOWN' OR VICE-VERSA, THEN THAT" 750 LPRINT"WILL BE ONE OF YOUR CRITICAL DAYS." 760 LPRINT 770 LPRINT" I=INTELLECTUAL 33 DAY CYCLE" 780 LPRINT" E=EMOTIONAL 28 DAY CYCLE" 790 LPRINT" P=PHYSICAL 23 DAY CYCLE" 800 LPRINT 810 GOTO 650 820 FOR WB=0 TO 3 830 IF F$(WB)=":"THEN F$(WB)="" 840 NEXT 850 RETURN 860 FOR I=1 TO 72:LPRINT"-";:NEXT 870 LPRINT:RETURN 880 P1=P1+1:P2=0 890 LPRINT CHR$(12) 900 FOR LI=1 TO 100:WL=WL+1:NEXT 910 GOSUB 1090 920 GOSUB 1110 930 IF QP>1 THEN 710 ELSE 540 940 PRINT"THIS PROGRAM IS PRESENTLY CONFIGURED TO OPERATE WITH 8-1/2 BY" 950 PRINT"11 INCH PAPER IN A HARDCOPY PRINTER EQUIPPED WITH AUTOMATIC TOP" 960 PRINT"OF FORM OPTION. TO USE THIS FEATURE PROPERLY, YOU MUST REPLY" 970 PRINT"TO ALL OF THE INPUT PROMPTS, HOWEVER !! WHEN YOU HAVE TYPED IN" 980 PRINT"'YOUR NAME' -DO NOT- HIT CARRIAGE RETURN. MANUALLY ADVANCE THE" 990 PRINT"PAPER IN YOUR PRINTER SO THAT THE PRINTHEAD IS ABOUT 3/4 INCH" 1000 PRINT"FROM TOP OF PAPER. THEN SET TOP OF FORM IN YOUR PRINTER, THEN" 1010 PRINT"HIT CARRIAGE RETURN.":PRINT 1020 PRINT"TO RE-CONFIGURE THIS PROGRAM FOR PRINTERS OR TELETYPES WITH NO" 1030 PRINT"TOP OF FORM OPTION, OR CRT'S: LINES 520 - 530 WILL HAVE TO BE" 1040 PRINT"MODIFIED; ALSO THE ROUTINE AT 880 WILL HAVE TO BE CHANGED. IN" 1050 PRINT"PARTICULAR THE COMMAND 'PRINT CHR$(12)' IN LINE 890 MUST BE" 1060 PRINT"CHANGED (USUALLY TO 'PRINT' STATEMENTS IN FOR-NEXT LOOP).":PRINT 1070 PRINT"TO RUN PROGRAM, TYPE 'GOTO 80'.......":PRINT:PRINT 1080 END 1090 LPRINT"BIORHYTHM ANALYSIS FOR ";A$;:LPRINT TAB(60)"PAGE ";P1 1100 IF QP>1 THEN 710 ELSE RETURN 1110 GOSUB 860 1120 LPRINT TAB(20)"DOWN",TAB(38)"CRITICAL",TAB(61)"UP" 1130 GOSUB 860 1140 RETURN >1 THEN 710 ELSE RETURN 1110 GOSUB 860 1120 LPRINT TAB(20)"DOWN",TAB(38)"CRITICAL",TAB(61)E TYPED IN" 980 PRINT"'YOUR NAME' -DO NOT- HIT CARRIAGE RETURN. MANUALLY ADVANCE THE" 990 PRINT"PAPER IN YOUR PRINTER SO THAT THE PRINTHEAD IS ABOUT 3/4 INCH" 1000 PRINT"FROM TOP OF PAPER. THEN SET TOP OF FORM IN YOUR PRINTER, THEN" 1010 PRINT"HIT CARRIAGE RETURN.":PRINT 1020 PRINT"TO RE-CONFIGURE THIS PROGRAM FOR PRINTERS OR TELETYPES WITH NO" 1030 PRINT"TOP OF FORM OPTION, OR CRT'S: LINES 520 - 530 WILL HAVE TO BE" 1040 PRINT"MODIFIED; ALSO THE ROUTINE AT 880 WILL HAVE TO BE CHANGED. IN" 1050 PRINT"PARTICULAR THE COMMAND 'PRINT CHR$(12)' IN LINE 890 MUST BE" 1060 PRINT"CHANGED (USUALLY TO 'PRINT' STATEMENTS IN FOR-NEXT LOOP).":PRINT 1070 PRINT"TO RUN PROGRAM, TYPE 'GOTO 80'.......":PRINT:PRINT 1080 END 1090 LPRINT"BIORHYTHM ANALYSIS FOR ";A$;:L100 REM REVISED 22 NOV 1981 ****CHECKERS***** 110 PRINT CHR$(26); 120 PRINT"I CAN PLAY CHECKERS WITH YOU. I AM X." 130 PRINT"AND YOU ARE O. THE COMPUTER WILL GO FIRST,-NOTE: SQUARES" 140 PRINT"ARE IN THE FORM-(X,Y) AND SQ. 1,1 IS THE BOTTOM LEFT!" 150 PRINT"DO NOT ATTEMPT A DOUBLE JUMP ON YOUR PIECE MIGHT JUST " 160 PRINT"DISAPPEAR(SAME FOR A TRIPLE!)" 170 PRINT" WAIT FOR THE COMP. TO MOVE!!!!!" 180 G=-1 190 L=-1 200 DIM R(50),M(50) 210 REM ODD(X) 220 DEF FND(X)=X-2*INT(X/2) 230 DIM S(10,10) 240 DATA 1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,15 250 FOR X=1 TO 8 260 FOR Y=1 TO 8 270 READ J 280 IF J=15 THEN 310 290 S(X,Y)=J 300 GOTO 330 310 RESTORE 320 READ S(X,Y) 330 NEXT Y 340 NEXT X 350 REM 360 L=1 370 REM 380 FOR X2=1 TO 8 390 FOR Y2=1 TO 8 400 S9=S(X2,Y2) 410 IF S9>=0 THEN 460 420 IF S9=-2 THEN 450 430 GOSUB 530 440 GOTO 460 450 GOSUB 850 460 NEXT Y2 470 NEXT X2 480 IF L=1 THEN 500 490 RETURN 500 PRINT  510 GOSUB 1380 520 GOTO 350 530 REM 540 U=X2-1 550 IF U<1 THEN 680 560 REM 570 V=Y2-1 580 IF V<1 THEN 830 590 IF S(U,V)<>0 THEN 610 600 GOSUB 1100 610 IF S(U,V)<=0 THEN 680 620 U=X2-2 630 IF U<1 THEN 680 640 V=V-1 650 IF V<1 THEN 680 660 IF S(U,V)<>0 THEN 680 670 GOSUB 1100 680 REM 690 U=X2+1 700 IF U>8 THEN 840 710 REM 720 V=Y2-1 730 IF V<1 THEN 840 740 IF S(U,V)<>0 THEN 760 750 GOSUB 1100 760 IF S(U,V)<=0 THEN 840 770 U=X2+2 780 IF U>8 THEN 840 790 V=V-1 800 IF V<1 THEN 840 810 IF S(U,V)<>0 THEN 840 820 GOSUB 1100 830 REM WHERE DID I GO ?? 840 RETURN 850 REM KING MOVES 860 FOR A=-1 TO 1 STEP 2 870 FOR B=-1 TO 1 STEP 2 880 U=X2+A 890 V=Y2+B 900 IF U<1 THEN 1060 910 IF U>8 THEN 1060 920 IF V<1 THEN 1060 930 IF V>8 THEN 1060 940 IF S(U,V)<>0 THEN 970 950 GOSUB 1100 960 GOTO 1060 970 IF S(U,V)=G THEN 1060 980 IF S(U,V)=2*G THEN 1060 990 U=U+A 1000 IF U<1 THEN 1060 1010  IF U>8 THEN 1060 1020 IF V<1 THEN 1060 1030 IF V>8 THEN 1060 1040 IF S(U,V)<>0 THEN 1060 1050 GOSUB 1100 1060 NEXT B 1070 NEXT A 1080 RETURN 1090 REM 1100 REM EVAL. SECTION 1110 P=P+1 1120 IF V<>1 THEN 1140 1130 Q=Q+2 1140 IF V<>8 THEN 1160 1150 Q=Q-2 1160 REM 1170 IF U<>1 THEN 1190 1180 Q=Q+1 1190 IF U<>8 THEN 1210 1200 Q=Q+1 1210 FOR C=-1 TO 1 STEP 2 1220 IF U+C<1 THEN 1260 1230 IF U+C>8 THEN 1260 1240 IF S(U+C,V+G)<1 THEN 1260 1250 Q=Q-1 1260 REM 1270 IF U-C>8 THEN 1330 1280 IF U-C<1 THEN 1330 1290 IF S(U-C,V-G)<1 THEN 1310 1300 Q=Q+5 1310 REM 1320 REM 1330 NEXT C 1340 R(P)=Q 1350 M(P)=X2*10+Y2+V/10+U/100 1360 Q=0 1370 RETURN 1380 IF P=0 THEN 2290 1390 J1=-10 1400 J2=1 1410 FOR F=1 TO P 1420 IF R(F)<=J1 THEN 1450 1430 J1=R(F) 1440 J2=F 1450 NEXT F 1460 X2=INT (M(J2)/10) 1470 Y2=INT (M(J2)-X2*10) 1480 V=INT ((M(J2)- INT (M(J2)))*10) 1490 U=INT ((M(J2)-X2*10-Y2-V/10)*100+.5) 1500 PRINT"I MOVE FROM ";X2;Y2,"TO ";U;V 1510 F=0 1520 P2=P 1530 P=0 1540 K=0 1550 IF V<>1 THEN 1580 1560 S(U,V)=2*G 1570 GOTO 1590 1580 S(U,V)=S(X2,Y2) 1590 S(X2,Y2)=0 1600 IF ABS (X2-U)<>2 THEN 1620 1610 S((X2+U)/2,(Y2+V)/2)=0 1620 GOTO 1660 1630 PRINT"BOARD"; 1640 INPUT D 1650 IF D=0 THEN 1680 1660 GOSUB 1700 1670 IF F9=0 THEN PRINT"GEE - I WIN, THANKS FOR THE GAME":END 1680 GOSUB 2000 1690 RETURN 1700 PRINT 1710 F9=0:REM COUNT PLAYER'S PIECES 1720 FOR Y=8 TO 1 STEP -1 1730 PRINT" ";Y; 1740 FOR X=1 TO 8 1750 X9=S(X,Y) 1760 IF FND(X)=FND(Y) THEN 1790 1770 PRINT" "; 1780 GOTO 1950 1790 IF S(X,Y)<>0 THEN 1820 1800 PRINT". "; 1810 GOTO 1950 1820 IF ABS (X9)=2 THEN 1890 1830 IF X9=-1 THEN 1870 1840 PRINT"O "; 1850 F9=1 1860 GOTO 1950 1870 PRINT"X "; 1880 GOTO 1950 1890 IF S(X,Y)<>-2 THEN 1920 1900 PRINT"X*"; 1910 GOTO 1950 1920 REM 1930 PRINT"O*"; 1940 F9=1 1950 NEXT X 1960  PRINT 1970 NEXT Y 1980 PRINT" 1.2.3.4.5.6.7.8." 1990 RETURN 2000 PRINT 2010 PRINT"FROM"; 2020 INPUT E,H 2030 X=E 2040 Y=H 2050 IF S(X,Y)>0 THEN 2090 2060 PRINT"THERE IS NO ONE OCCUPING THAT SPACE" 2070 PRINT 2080 GOTO 2010 2090 PRINT ,"TO "; 2100 INPUT A,B 2110 X=A 2120 Y=B 2130 IF S(X,Y)=0 THEN 2170 2140 PRINT"THAT SPACE IS ALREADY OCCUPIED" 2150 PRINT 2160 GOTO 2010 2170 IF ABS(E-A)=ABS(H-B) THEN 2190 2180 PRINT"ILLEGAL MOVE" : GOTO 2010 2190 IF ABS(E-A)>2 OR (ABS(E-A)=2 AND S((E+A)/2,(H+B)/2)=0) THEN 2180 2200 S(A,B)=S(E,H) 2210 S(E,H)=0 2220 T=(4.5-(3.5*G)) 2230 IF ABS (E-A)<>2 THEN 2250 2240 S((E+A)/2,(H+B)/2)=0 2250 IF B<>T THEN 2270 2260 S(A,B)=-2*G 2270 REM 2280 RETURN 2290 PRINT" VERY GOOD, YOU WIN!" 2300 PRINT 2310 PRINT 2320 END 2330 FOR F=1 TO P2 2340 PRINT R(F);M(F), 2350 NEXT F 2360 END 2370 GOSUB 1700 2380 GOTO 2000 310 PRINT 2320 END 2330 FOR F=1 TO P2 2340 PRINT R(F);M(F), 2350 NEXT F 2360 END 2370 GOSUB 2 PRINT CHR$(26):WIDTH 80 5 PRINT TAB(33);"CRAPS":PRINT 10 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 12 PRINT:PRINT:PRINT 15 LET R=0 20 PRINT"2,3,12 ARE LOSERS; 4,5,6,8,9,10 ARE POINTS; 7,11 ARE NATURAL WINNERS." 21 LET T=1:PRINT:PRINT "ENTER A NEGATIVE BET TO QUIT." 22 PRINT: PRINT "ENTER A RANDOM NUMBER BETWEEN 1 AND 100 TO START THE GAME "; 23 INPUT Z:PRINT 24 LET X=(RND(0)) 25 LET T =T+1 26 IF T<=Z GOTO 24 27 PRINT:PRINT"INPUT THE AMOUNT OF YOUR WAGER "; 28 INPUT F:IF F<0 THEN 341 29 PRINT 30 PRINT "I WILL NOW THROW THE DICE: ":PRINT 40 LET E=INT(7*RND(1)) 41 LET S=INT(7*RND(1)) 42 LET X=E+S 50 IF X=7 GOTO 180 55 IF X=11 GOTO 180 60 IF X=1 GOTO 40 62 IF X=2 GOTO 195 65 IF X=0 GOTO 40 70 IF X=2 GOTO 200 80 IF X=3 GOTO 200 90 IF X=12 GOTO 200 125 IF X=5 GOTO 220 130 IF X =6 GOTO 220 140 IF X=8 GOTO 220 150 IF X=9 GOTO 220 160 IF X =10 GOTO 220 170 IF X=4 GOTO 220 180 PRINT X "- NATURAL....A WINNER!!!!" 185 PRINT:PRINT X"PAYS EVEN MONEY, YOU WIN"F"DOLLARS." 190 GOTO 210 195 PRINT X"- SNAKE EYES....YOU LOSE." 196 PRINT:PRINT "YOU LOSE"F "DOLLARS." 197 LET F=0-F 198 GOTO 210 200 PRINT USING "##";X;:PRINT " - CRAPS...YOU LOSE." 205 PRINT:PRINT "YOU LOSE"F"DOLLARS." 206 LET F=0-F 210 LET R= R+F 211 GOTO 320 220 PRINT X "IS THE POINT. I WILL ROLL AGAIN:":PRINT 230 LET H=INT(7*RND(1)) 231 LET Q=INT(7*RND(1)) 232 LET O=H+Q 240 IF O=1 GOTO 230 250 IF O=7 GOTO 290 255 IF O=0 GOTO 230 260 IF O=X GOTO 310 270 PRINT USING "##";O;:PRINT " - NO POINT. I WILL ROLL AGAIN:" 280 GOTO 230 290 PRINT O "- CRAPS. YOU LOSE." 291 PRINT:PRINT "YOU LOSE"F"DOLLARS." 292 F=0-F 293 GOTO 210 300 GOTO 320 310 PRINT X"- A WINNER.........CONGRATS!!!!!!!!" 311 PRINT:PRINT X "AT 2 TO 1 ODDS PAYS YOU...LET ME SEE..."2*F"DOLLARS." 312 LET F=2*F 313 GOTO 210 320 PRINT:' PRINT "DO YOU WANT TO CONTINUE "; 330 ' INPUT M$ 331 IF R<0 GOTO 334 332 IF R>0 GOTO 336 333 IF R=0 GOTO 338 334 PRINT CHR$(22);" YOU ARE NOW BEHIND $";-R;CHR$(8);". ";CHR$(22) 335 GOTO 340 336 PRINT CHR$(22);" YOU ARE NOW AHEAD $";R;CHR$(8);". ";CHR$(22) 337 GOTO 340 338 PRINT CHR$(22);" YOU ARE NOW EVEN.";" ";CHR$(22) 340 GOTO 27:' IF LEFT$(M$,1)="Y" GOTO 27 341 IF R<0 GOTO 350 342 IF R>0 GOTO 353 343 IF R=0 GOTO 355 350 PRINT:PRINT"TOO BAD, YOU ARE IN THE HOLE. COME AGAIN.":PRINT 351 GOTO 360 353 PRINT:PRINT"CONGRATULATIONS---YOU CAME OUT A WINNER. COME AGAIN!":PRINT 354 GOTO 360 355 PRINT:PRINT"CONGRATULATIONS---YOU CAME OUT EVEN, NOT BAD FOR AN AMATEUR!": PRINT 360 RUN "MENU" RINT 354 GOTO 360 355 PRINT:PRINT"CONGRATULATIONS---YOU CAME OUT EVEN, NOT BAD FOR AN AMATEUR!": PRINT 360 RUN210 300 GOTO 320 310 PRINT X"- A WINNER.........CONGRATS!!!!!!!!" 311 PRINT:PRINT X "AT 2 TO 1 ODDS PAYS YOU...LET ME SEE..."2*F"DOLLARS." 312 LET F=2*F 313 GOTO 210 320 PRINT:' PRINT "DO YOU WANT TO CONTINUE "; 330 ' INPUT M$ 331 IF R<0 GOTO 334 332 IF R>0 GOTO 336 333 IF R=0 GOTO 338 334 PRINT CHR$(22);" YOU ARE NOW BEHIND $";-R;CHR$(8);". ";CHR$(22) 335 GOTO 340 31 REM Revised for Osborne 1 by Jim Woolley, FOG Librarian, 7/82 2 RANDOMIZE 100 REM SOURCE UNKNOWN: REVISED BY D. KURLAND 11/16/75 110 PRINT "THIS IS THE GAME OF CRAZY EIGHTS" 120 DIM A(52),D(52),G(52),H(52) 130 DIM T(52),S(52),V(52) 140 DIM Z(52),U$(4),C$(13) 150 READ U$(1),U$(2),U$(3),U$(4) 160 FOR I=1 TO 13 170 READ C$(I) 180 NEXT I 190 FOR I=1 TO 52 200 READ Z(I) 210 NEXT I 220 DATA CLUBS,DIAMONDS,HEARTS,SPADES 230 DATA "2","3","4","5","6","7","8","9","10",JACK,QUEEN,KING,ACE 240 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 250 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 260 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 270 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 280 PRINT "DO YOU KNOW HOW TO PLAY"; 290 INPUT A$ 300 IF A$="YES" OR A$="Y" THEN 400 304 PRINT:PRINT 305 PRINT "YOU MUST FOLLOW SUIT OR MATCH FACE VALUE (EXAMPLE: 9 ON 9)." 310 PRINT "WHEN ASKED WHICH CARD YOU WISH TO PLAY, YOUR ANSWER SHOULD" 320 PRINT "BE OF THE FORM: CARD,SUIT (EXAMPLE: 9,C). ANY EIGHT MAY BE" 330 PRINT "PLAYED AT ANY TIME REGARDLESS OF SUIT TO CHANGE THE SUIT." 340 PRINT "IF YOU ARE UNABLE OR UNWILLING TO PLAY, YOU WILL BE GIVEN" 350 PRINT "ANOTHER CARD FROM THE DRAW STACK. IF ALL CARDS HAVE BEEN" 360 PRINT "DRAWN, ANY PERSON WHO IS ABLE TO PLAY MUST DO SO." 370 PRINT "AT THE END OF THE GAME, THE PERSON HOLDING CARDS HAS POINTS" 380 PRINT "SCORED AGAINST HIM AS FOLLOWS: EIGHTS=50, ACE=1, FACE" 390 PRINT "CARD=10, INDEX VALUE FOR EACH OTHER CARD." 400 PRINT : PRINT "GAME WILL START SHORTLY..." 410 L=0 : FOR I=1 TO 4 420 FOR J=1 TO 13 430 L=L+1 440 S(L)=I 450 V(L)=J 460 NEXT J 470 NEXT I 480 N1=0 490 N2=0 500 N3=0 510 S1=0 520 S2=0 530 FOR I=1 TO 52 540 G(I)=0 550 H(I)=0 560 A(I)=RND(1) 570 NEXT I 580 W1=0 590 B1=0 600 P1=1 610 P2=1 620 J=0 630 M1=99999! 640 FOR I=1 TO 52 650 IF A(I)>=M1 THEN 680 660 M1=A(I) 670 I1=I 680 NEXT I 690 J=J+1 700 D(J)=I1 710 A(I1)=99999! 720 IF J<52 THEN 630 730 FOR I=1 TO 7 740 G(D(52-2*I+2))=1 750 H(D(52-2*I+1))=1 760 NEXT I 770 T(1)=D(38) 780 T1=1 790 P=S(T(1)) 800 H1=7 810 H2=7 820 D1=37 830 GOSUB 1390 840 GOSUB 1510 850 IF W1=1 THEN 910 860 IF B1=1 THEN 910 870 GOSUB 2020 880 IF W1=1 THEN 910 890 IF B1=1 THEN 910 900 GOTO 830 910 GOSUB 1140 920 PRINT "YOUR SCORE IS";C1 930 PRINT "MY SCORE IS";C2 940 IF C2>=C1 THEN 980 950 PRINT "YOU WON THAT HAND." 960 N1=N1+1 970 GOTO 1000 980 PRINT "I WON THAT HAND." 990 N2=N2+1 1000 PRINT 1010 N3=N3+1 1020 PRINT "DO YOU WISH TO PLAY AGAIN"; 1030 INPUT A$ 1040 IF A$="YES" OR A$="Y" THEN 530 1050 PRINT 1060 PRINT "OUT OF";N3;"HANDS YOU WON";N1 1070 PRINT "YOUR TOTAL SCORE IS";S1;": MINE IS";S2;"." 1080 IF S1<=S2 THEN 1110 1090 PRINT "LOOKS LIKE YOU'RE HIGH SCORER." 1100 GOTO 1120 1110 PRINT "LOOKS LIKE I AM THE HIGH SCORER." 1120 PRINT "BYE." 1130 STOP 1140 C1=0 1150 C2=0 1160 IF H2=0 THEN 1240 1170 PRINT 1180 PRINT "CARDS LEFT IN MY HAND" 1190 FOR I=1 TO 52 1200 IF H(I)=0 THEN 1230 1210 PRINT C$(V(I));TAB(6);"OF ";U$(S(I)) 1220 C1=C1+Z(I) 1230 NEXT I 1240 IF H1=0 THEN 1360 1250 FOR I=1 TO 52 1260 IF G(I)=0 THEN 1280 1270 C2=C2+Z(I) 1280 NEXT I 1290 IF C1=0 THEN 1360 1300 IF C1>=C2 THEN 1340 1310 C2=C2-C1 1320 C1=0 1330 GOTO 1360 1340 C1=C1-C2 1350 C2=0 1360 S1=S1+C1 1370 S2=S2+C2 1380 RETURN 1390 PRINT 1400 PRINT "YOUR HAND IS" 1410 FOR I=1 TO 52 1420 IF G(I)=0 THEN 1440 1430 PRINT C$(V(I));TAB(6);"OF ";U$(S(I)) 1440 NEXT I 1450 PRINT 1460 PRINT "THE LAST CARD PLAYED WAS THE "; 1470 PRINT C$(V(T(T1)));" OF ";U$(S(T(T1))) 1480 IF V(T(T1))<>7 THEN 1500 1490 PRINT "THE SUIT CALLED FOR IS ";U$(P) 1500 RETURN 1510 PRINT "DO YOU WISH TO PLAY A CARD"; 1520 INPUT A$ 1530 AZ$=LEFT$(A$,1) 1531 IF AZ$<>"Y" AND AZ$<>"N" THEN PRINT "(Y OR N) PLEASE ! "; : GOTO 1520 1532 IF AZ$="Y" THEN 1630 1540 IF D1<>0 THEN 1570 1550 PRINT "ALL THE CARDS HAVE BEEN DEALT---YOU ARE BLOCKED" 1560 GOTO 1980 1570 I=D(D1) 1580 D1=D1-1 1590 H1=H1+1 1600 G(I)=1 1610 PRINT "YOUR NEW CARD IS THE ";C$(V(I));" OF ";U$(S(I)) 1620 GOTO 1510 1630 PRINT "WHICH OF YOUR CARDS DO YOU WISH TO PLAY"; 1640 INPUT X$,Y$ 1650 GOSUB 2610 1660 IF V9>0 THEN 1680 ELSE PRINT "UNKNOWN CARD, TRY AGAIN"; 1670 GOTO 1640 1680 GOSUB 2500 1690 IF S9>0 THEN 1710 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN"; 1700 GOTO 1640 1710 IF V9=7 THEN 1760 1720 IF S9=P THEN 1760 1730 IF V9=V(T(T1)) THEN 1760 1740 PRINT "THAT IS NOT A LEGAL PLAY." 1750 GOTO 1510 1760 FOR I=1 TO 52 1770 IF G(I)=0 THEN 1800 1780 IF V(I)<>V9 THEN 1800 1790 IF S(I)=S9 THEN 1830 1800 NEXT I 1810 PRINT "YOU DO NOT HAVE THAT CARD." 1820 GOTO 1510 1830 G(I)=0 1840 H1=H1-1 1850 T1=T1+1 1860 T(T1)=I 1870 IF V9<>7 THEN 1930 1880 PRINT "WHAT SUIT DO YOU WISH"; 1890 INPUT Y$ 1900 GOSUB 2500 1910 IF S9>0 THEN 1930 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN"; 1920 GOTO 1890 1930 P=S9 1940 P1=1 1950 IF H1<>0 THEN 1970 1960 W1=1 1970 RETURN 1980 IF P2<>0 THEN 2000 1990 B1=1 2000 P1=0 2010 RETURN 2020 I=53 2030 I=I-1 2040 IF H(I)=0 THEN 2080 2050 IF V(I)=7 THEN 2080 2060 IF S(I)=P THEN 2220 2070 IF V(I)=V(T(T1)) THEN 2220 2080 IF I>1 THEN 2030 2090 FOR I=1 TO 52 2100 IF V(I)<>7 THEN 2120 2110 IF H(I)<>0 THEN 2220 2120 NEXT I 2130 IF D1=0 THEN 2460 2140 I=D(D1) 2150 D1=D1-1 2160 IF V(I)=7 THEN 2240 2170 IF S(I)=P THEN 2240 2180 IF V(I)=V(T(T1)) THEN 2240 2190 H2=H2+1 2200 H(I)=1 2210 GOTO 2130 2220 H(I)=0 2230 H2=H2-1 2240 T1=T1+1 2250 T(T1)=I 2260 P=S(I) 2270 IF V(I)<>7 THEN 2420 2280 FOR J=1 TO 4 2290 Y(J)=0 2300 K1=13*(J-1)+1 2310 K2=13*J 2320 FOR K=K1 TO K2 2330 IF H(I)=0 THEN 2350 2340 Y(J)=Y(J)+1 2350 NEXT K 2360 NEXT J 2370 P=1 2380 FOR J=2 TO 4 2390 IF Y(J)<=Y(P) THEN 2410 2400 P=J 2410 NEXT J 2420 P2=1 2430 IF H2<>0 THEN 2450 2440 W1=1 2450 RETURN 2460 IF P1<>0 THEN 2480 2470 B1=1 2480 P2=0 2490 RETURN 2500 FOR I0 = 1 TO 4 2510 IF Y$=U$(I0) THEN 2590 2520 NEXT I0 2530 S9 = 0 2540 IF Y$="C" THEN S9=1 2550 IF Y$="D" THEN S9=2 2560 IF Y$="H" THEN S9=3 2570 IF Y$="S" THEN S9=4 2580 RETURN 2590 S9 = I0 2600 RETURN 2610 FOR I0 = 1 TO 13 2620 IF X$=C$(I0) THEN 2700 2630 NEXT I0 2640 V9 = 0 2650 IF X$="J" THEN V9=10 2660 IF X$="Q" THEN V9=11 2670 IF X$="K" THEN V9=12 2680 IF X$="A" THEN V9=13 2690 RETURN 2700 V9 = I0 2710 RETURN 2720 END THEN V9=11 2670 IF X$="K" THEN V9=12 2680 IF X$="A" THEN V9=13 2690 RETURN 2700 V9 = IT(T1)=I 2260 P=S(I) 2270 IF V(I)<>7 THEN 2420 2280 FOR J=1 TO 4 2290 Y(J)=0 2300 K1=13*(J-1)+1 2310 K2=13*J 2320 FOR K=K1 TO K2 2330 IF H(I)=0 THEN 2350 2340 Y(J)=Y(J)+1 2350 NEXT K 2360 NEXT J 2370 P=1 2380 FOR J=2 TO 4 2390 IF Y(J)<=Y(P) THEN 2410 2400 P=J 2410 NEXT J 2420 P2=1 2430 IF H2<>0 THEN 2450 2440 W1=1 2450 RETURN 2460 IF P1<1 RANDOMIZE 5 PRINT CHR$(26):WIDTH 80 10 PRINT TAB(34);"CUBE":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT:PRINT:PRINT 100 LINE INPUT "DO YOU WANT INSTRUCTIONS? ";ANS$ 110 IF LEFT$(ANS$,1)="N" THEN 370 120 IF LEFT$(ANS$,1)<>"Y" THEN 100 125 PRINT 130 PRINT" THIS IS A GAME IN WHICH YOU WILL BE PLAYING AGAINST THE" 140 PRINT"RANDOM DECISION OF THE COMPUTER. THE FIELD OF PLAY IS A" 150 PRINT"CUBE OF SIDE 3. ANY OF THE 27 LOCATIONS CAN BE DESIGNATED" 160 PRINT"BY INPUTING THREE NUMBERS SUCH AS 2,3,1. AT THE START," 170 PRINT"YOU ARE AUTOMATICALLY AT LOCATION 1,1,1. THE OBJECT OF" 180 PRINT"THE GAME IS TO GET TO LOCATION 3,3,3. ONE MINOR DETAIL:" 190 PRINT"THE COMPUTER WILL PICK, AT RANDOM, 5 LOCATIONS AT WHICH" 200 PRINT"IT WILL PLANT LAND MINES. IF YOU HIT ONE OF THESE LOCATIONS 210 PRINT"YOU LOSE. ONE OTHER DETAIL: YOU MAY MOVE ONLY ONE SPACE " 220 PRINT"IN ONE DIRECTION EACH MOVE. FOR EXAMPLE: FROM 1,1,2 YOU" 230 PRINT"MAY MOVE TO 2,1,2 OR 1,1,3. YOU MAY NOT  CHANGE" 240 PRINT"TWO OF THE NUMBERS ON THE SAME MOVE. IF YOU MAKE AN ILLEGAL 250 PRINT"MOVE, YOU LOSE AND THE COMPUTER TAKES THE MONEY YOU MAY" 260 PRINT"HAVE BET ON THAT ROUND." 270 PRINT 280 LINE INPUT "ENTER 'RETURN' TO CONTINUE.";XX$:PRINT CHR$(26) 290 PRINT"ANSWER ALL QUESTIONS WITH A YES OR NO." 310 PRINT 320 PRINT"WHEN STATING THE AMOUNT OF A WAGER, PRINT ONLY THE NUMBER" 330 PRINT"OF DOLLARS (EXAMPLE: 250) YOU ARE AUTOMATICALLY STARTED WITH 340 PRINT"500 DOLLARS IN YOUR ACCOUNT." 350 PRINT 360 PRINT "GOOD LUCK!":PRINT 370 LET A1=500 380 LET A=INT(3*(RND(X))) 390 IF A<>0 THEN 410 400 LET A=3 410 LET B=INT(3*(RND(X))) 420 IF B<>0 THEN 440 430 LET B=2 440 LET C=INT(3*(RND(X))) 450 IF C<>0 THEN 470 460 LET C=3 470 LET D=INT(3*(RND(X))) 480 IF D<>0 THEN 500 490 LET D=1 500 LET E=INT(3*(RND(X))) 510 IF E<>0 THEN 530 520 LET E=3 530 LET F=INT(3*(RND(X))) 540 IF F<>0 THEN 560 550 LET F=3 560 LET G=INT(3*(RND(X))) 570 IF G<>0 THEN 590 580 LET G=3 590 LET H=INT(3*(RND(X)))  600 IF H<>0 THEN 620 610 LET H=3 620 LET I=INT(3*(RND(X))) 630 IF I<>0 THEN 650 640 LET I=2 650 LET J=INT(3*(RND(X))) 660 IF J<>0 THEN 680 670 LET J=3 680 LET K=INT(3*(RND(X))) 690 IF K<>0 THEN 710 700 LET K=2 710 LET L=INT(3*(RND(X))) 720 IF L<>0 THEN 740 730 LET L=3 740 LET M=INT(3*(RND(X))) 750 IF M<>0 THEN 770 760 LET M=3 770 LET N=INT(3*(RND(X))) 780 IF N<>0 THEN 800 790 LET N=1 800 LET O=INT (3*(RND(X))) 810 IF O <>0 THEN 830 820 LET O=3 830 PRINT:INPUT "WANT TO MAKE A WAGER ";Z$ 840 IF LEFT$(Z$,1)="N" THEN 920 850 IF LEFT$(Z$,1)<>"Y" THEN 830 860 PRINT "HOW MUCH "; 870 INPUT Z1 876 IF A1W+1 THEN 1030 950 IF P=W+1 THEN 1000 960 IF Q>X+1 THEN 1030 970 IF Q=(X+1) THEN 1010 980 IF R >(Y+1) THEN 1030 990 GOTO 1050 1000 IF Q>= X+1 THEN 1030 1010 IF R>=Y+1 THEN 1030 1020 GOTO 1050 1030 PRINT:PRINT "ILLEGAL MOVE. YOU LOSE." 1040 GOTO 1440 1050 LET W=P 1060 LET X=Q 1070 LET Y=R 1080 IF P=3 THEN 1100 1090 GOTO 1130 1100 IF Q=3 THEN 1120 1110 GOTO 1130 1120 IF R=3 THEN 1530 1130 IF P=A THEN 1150 1140 GOTO 1180 1150 IF Q=B THEN 1170 1160 GOTO 1180 1170 IF R=C THEN 1400 1180 IF P=D THEN 1200 1190 GOTO 1230 1200 IF Q=E THEN 1220 1210 GOTO 1230 1220 IF R=F THEN 1400 1230 IF P=G THEN 1250 1240 GOTO 1280 1250 IF Q=H THEN 1270 1260 GOTO 1280 1270 IF R=I THEN 1400 1280 IF P=J THEN 1300 1290 GOTO 1330 1300 IF Q=K THEN 1320 1310 GOTO 1330 1320 IF R=L THEN 1440 1330 IF P=M THEN 1350 1340 GOTO 1380 1350 IF Q=N THEN 1370 1360 GOTO 1380 1370 IF R=O THEN 1400 1380 PRINT "NEXT MOVE: "; 1390 GOTO 930 1400 PRINT:PRINT"******BANG******":PRINT 1410 PRINT "YOU LOSE!" 1420 PRINT 1430 PRINT 1440 IF Z=0 THEN 1580 1450 PRINT 1460 LET Z2=A1-Z1 1470 IF Z2>0 THEN 1500 1480 PRINT:PRINT "YOU BUST." 1490 GOTO 1610 1500 PRINT:PRINT " YOU NOW HAVE"; Z2; "DOLLARS." 1510 LET A1=Z2 1520 GOTO 1580 1522 PRINT:PRINT"TRIED TO FOOL ME; BET AGAIN"; 1525 GOTO 870 1530 PRINT:PRINT"CONGRATULATIONS!" 1540 IF LEFT$(Z$,1)="N" THEN 1580 1550 LET Z2=A1+Z1 1560 PRINT:PRINT "YOU NOW HAVE"; Z2;"DOLLARS." 1570 LET A1=Z2 1580 PRINT:PRINT"DO YOU WANT TO TRY AGAIN "; 1590 INPUT S$ 1600 IF LEFT$(S$,1)="Y" THEN 380 1610 PRINT "TOUGH LUCK!" 1620 PRINT 1630 PRINT "GOODBYE." 1640 RUN "MENU" 1590 INPUT S$ 1600 IF Q=H THEN 1270 1260 GOTO 1280 1270 IF R=I THEN 1400 1280 IF P=J THEN 1300 1290 GOTO 1330 1300 IF Q=K THEN 1320 1310 GOTO 1330 1320 IF R=L THEN 1440 1330 IF P=M THEN 1350 1340 GOTO 1380 1350 IF Q=N THEN 1370 1360 GOTO 1380 1370 IF R=O THEN 1400 1380 PRINT "NEXT MOVE: "; 1390 GOTO 930 1400 PRINT:PRINT"******BANG******":PRINT 1410 PRINT "YOU LOSE!" 1420 PRINT 1430 PRINT 1440 IF Z=0 THEN 1580 1450 PRINT 1460 LET Z2=A1-Z1 1470 IF Z2>0 THEN 1500 1480 PRINT:PRINT "YOU BUST." 1490 GOTO 1610 1500 PRINT:PRINT " YOU NOW HAVE"; Z2; "DOLLARS." 1510 LET A1=Z2 1520 GOTO 1580 1522 PRINT:PRINT"TRIED TO FOOL1 RANDOMIZE 2 PRINT TAB(30);"DEPTH CHARGE" 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT: PRINT: PRINT 10 PRINT "DEPTH CHARGE GAME": PRINT 20 INPUT "DIMENSION OF SEARCH AREA";G: PRINT 30 N=INT(LOG(G)/LOG(2))+1 40 PRINT "YOU ARE THE CAPTAIN OF THE DESTROYER USS COMPUTER." 50 PRINT "AN ENEMY SUB HAS BEEN CAUSING YOU TROUBLE. YOUR" 60 PRINT "MISSION IS TO DESTROY IT. YOU HAVE";N;"SHOTS." 70 PRINT "SPECIFY DEPTH CHARGE EXPLOSION POINT WITH A" 80 PRINT "TRIO OF NUMBERS -- THE FIRST TWO ARE THE" 90 PRINT "SURFACE COORDINATES; THE THIRD IS THE DEPTH." 100 PRINT: PRINT "GOOD LUCK !": PRINT 110 A=INT(G*RND(1)): B=INT(G*RND(1)): C=INT(G*RND(1)) 120 FOR D=1 TO N: PRINT: PRINT "TRIAL #";D; : INPUT X,Y,Z 130 IF ABS(X-A)+ABS(Y-B)+ABS(Z-C)=0 THEN 300 140 GOSUB 500: PRINT: NEXT D 200 PRINT: PRINT "YOU HAVE BEEN TORPEDOED! ABANDON SHIP!" 210 PRINT "THE SUBMARINE WAS AT";A;",";B;",";C: GOTO 400 300 PRINT: PRINT "B O O M ! ! YOU FOUND IT IN";D;"TRIES!" 400 PRINT: PRINT: INPUT "ANOTHE R GAME (Y OR N)";A$ 410 IF A$="Y" THEN 100 420 PRINT "OK. HOPE YOU ENJOYED YOURSELF.": GOTO 600 500 PRINT "SONAR REPORTS SHOT WAS "; 510 IF Y>B THEN PRINT "NORTH"; 520 IF YA THEN PRINT "EAST"; 540 IF XB OR X<>A THEN PRINT " AND"; 560 IF Z>C THEN PRINT " TOO LOW." 570 IF ZC THEN PRINT " TOO LOW." 570 IF ZLEN(A$) THEN PRINT "!";:GOTO 50 34 PRINT MID$(A$,C,1); 36 C=C+1 50 NEXT A 53 IF M=Q THEN 60 55 PRINT TAB(R*M+(R-N)/2+1); 56 NEXT M 60 PRINT 70 NEXT N 83 IF X<>1 THEN 95 85 X=R-2:Y=1:Z=-2 90 GOTO 20 95 NEXT L 99 RUN "MENU" (R*M+(R-N)/2+1); 56 NEXT M 60 PRееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее0 RANDOMIZE 1 PRINT CHR$(26):WIDTH 80 2 PRINT TAB(34);"DICE":PRINT 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT:PRINT:PRINT 10 DIM F(12) 20 REM DANNY FREIDUS 30 PRINT "THIS PROGRAM SIMULATES THE ROLLING OF A PAIR OF DICE." 50 PRINT "YOU ENTER THE NUMBER OF TIMES YOU WANT THE COMPUTER TO" 60 PRINT "'ROLL' THE DICE. WATCH OUT, VERY LARGE NUMBERS TAKE" 70 PRINT "A LONG TIME. IN PARTICULAR, NUMBERS OVER 5000." 80 FOR Q=1 TO 12 90 F(Q)=0 100 NEXT Q 110 PRINT:PRINT "HOW MANY ROLLS"; 120 INPUT X 130 FOR S=1 TO X 140 A=INT(6*RND(1)+1) 150 B=INT(6*RND(1)+1) 160 R=A+B 170 F(R)=F(R)+1 180 NEXT S 185 PRINT 190 PRINT "TOTAL SPOTS","NUMBER OF TIMES" 195 PRINT "-----------","---------------":PRINT 200 FOR V=2 TO 12 210 PRINT TAB(5);:PRINT USING "##";V;:PRINT "",:PRINT USING "#,###,###"; F(V) 220 NEXT V 221 PRINT 222 PRINT:PRINT "TRY AGAIN"; 223 INPUT Z$ 224 IF LEFT$(Z$,1)="Y" THEN 80 240 RUN "MENU"  F(V) 220 NEXT V 221 PRINT 222 PRINT:PRINT "TRY AGAIN1 RANDOMIZE 5 PRINT CHR$(26):WIDTH 80 10 PRINT TAB(33);"DIGITS":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT:PRINT:PRINT 210 PRINT "This is a game of guessing." 215 PRINT 220 INPUT "Do you want instructions";E$ 230 IF LEFT$(E$,1)="N" OR LEFT$(E$,1)="n" THEN 360 250 PRINT 260 PRINT " Please take a piece of paper and write down" 270 PRINT "the digits '0', '1', or '2' thirty times at random." 280 PRINT "Arrange them in three lines of ten digits each.":PRINT 290 PRINT " I will ask for them ten at a time. Enter each digit" 295 PRINT "separated by commas.":PRINT 300 PRINT " I will always guess them first and then look at your" 310 PRINT "next number to see if I was right. By pure luck," 320 PRINT "I ought to be right ten times. But I hope to do better" 330 PRINT "than that....." 340 PRINT:PRINT 360 READ A,B,C 370 DATA 0,1,3 380 DIM M(26,2),K(2,2),L(8,2) 400 FOR I=0 TO 26: FOR J=0 TO 2: M(I,J)=1: NEXT J: NEXT I 410 FOR I=0 TO 2: FOR J=0 TO 2: K(I,J)=9: NEXT J: NEXT I 420 FOR I=0 TO 8: FOR J=0 TO 2: L(I,J)=3: NEXT J: NEXT I 450 L(0,0)=2: L(4,1)=2: L(8,2)=2 480 Z=26: Z1=8: Z2=2 510 X=0 520 FOR T=1 TO 3 530 PRINT 540 PRINT "Ten numbers, please"; 550 INPUT N(1),N(2),N(3),N(4),N(5),N(6),N(7),N(8),N(9),N(10) 560 FOR I=1 TO 10 570 W=N(I)-1 580 IF W=SGN(W) THEN 620 590 PRINT "Only use the digits '0', '1', or '2'." 600 PRINT "Let's try again.":GOTO 530 620 NEXT I 630 PRINT: PRINT "MY GUESS","YOUR NO.","RESULT","NO. RIGHT" 640 PRINT "--------","--------","------","---------":PRINT 660 FOR U=1 TO 10 670 N=N(U): S=0 690 FOR J=0 TO 2 700 S1=A*K(Z2,J)+B*L(Z1,J)+C*M(Z,J) 710 IF S>S1 THEN 760 720 IF S10 THEN 980 940 IF X<10 THEN 1010 950 PRINT "I guessed exactly 1/3 of your numbers." 960 PRINT "It's a tie game." 970 GOTO 1030 980 PRINT "I guessed more than 1/3 of your numbers." 990 PRINT "I win." 1000 GOTO 1030 1010 PRINT "I guessed less than 1/3 of your numbers." 1020 PRINT "Congratulations! You beat me." 1030 PRINT 1040 INPUT "Do you want to try again";X$ 1060 IF LEFT$(X$,1)="Y" OR LEFT$(X$,1)="y" THEN 400 THEN 400 1080 PRINT:PRINT "Thanks for the game.":PRINT 1090 RUN "MENU"  1060 IF LEFT$(X$,1)="Y" OR LEFT$(X$,1)="y" THEN 400 THEN 400 1080 PRINT:PRINT "Than>S1 THEN 760 720 IF S=P THEN 320 170 M=R(E,L) 180 IF M<=0 THEN 370 190 P=P-M 200 IF M=1 THEN 510 210 PRINT "COMPUTER TAKES";M;"CHIPS LEAVING";P;"... YOUR MOVE"; 220 B=B+M 230 INPUT M 240 M=INT(M) 250 IF M<1 THEN 450 260 IF M>4 THEN 460 270 IF M>P THEN 460 280 IF M=P THEN 360 290 P=P-M 300 A=A+M 310 GOTO 100 320 IF P=1 THEN 550 330 PRINT "COMPUTER TAKES";P;"CHIPS." 340 R(E,L)=P 350 B=B+P 360 IF B/2=INT(B/2) THEN 420 370 PRINT:PRINT CHR$(22);" GAME OVER ... YOU WIN!!! ": PRINT CHR$(22):PRINT 380 SC(1)=SC(1)+1:GOSUB 1000 390 IF R(E,L)=1 THEN 480 400 R(E,L)=R(E,L)-1 410 GOTO 70 420 PRINT:PRINT CHR$(22);" GAME OVER ... I WIN!!! ": PRINT CHR$(22):PRINT 425 SC(2)=SC(2)+1:GOSUB 1000 430 GOTO 70 450 IF M=0 THEN 570 460 PRINT M;"IS AN ILLEGAL MOVE ... YOUR MOVE"; 470 GOTO 230 480 IF R(E1,L1)=1 THEN 70 490 R(E1,L1)=R(E1,L1)-1 500 GOTO 70 510 PRINT "COMPUTER TAKES 1 CHIP LEAVING";P;"... YOUR MOVE"; 520 GOTO 220 530 PRINT "THERE IS 1 CHIP ON THE BOARD." 540 GOTO 120 550 PRINT "COMPUTER TAKES 1 CHIP." 560 GOTO 340 570 RUN "MENU" 1000 PRINT "SCORE:":PRINT "=====" 1010 PRINT "HUMAN -";SC(1) 1020 PRINT "COMPUTER -";SC(2) 1030 PRINT:RETURN 0 RUN "MENU" 1000 PRINT "SCORE:":PRINT "=====" 1010 PRINT "HUMAN -";SC(1)460 270 IF M>P THEN 460 280 IF M=P THEN 360 290 P=P-M 300 A=A+M 310 GOTO 100 320 IF P=1 THEN 550 330 PRINT "COMPUTER TAKES";P;"CHIPS." 340 R(E,L)=P 350 B=B+P 360 IF B/2=INT(B/2) THEN 420 370 PRINT:PRINT CHR$(22);" GAME OVER ... YOU WIN!!! ": PRINT CHR$(22):PRINT 380 SC(1)=SC(1)+1:GOSUB 1000 390 IF R(E,L)=1 THEN 480 400 R(E,L)=R(E,L)-1 410 GOTO 70 420 PRINT:PRINT CHR$(22);" GAME OVER ... I WIN!!! ": PRINT CHR$(22):PRINT 425 SC(2)=SC(2)+1:GOSUB 1000 430 GOTO 70 450 IF M=0 THEN 570 460 PRINT M;"IS AN ILLEGAL MOVE ... YOUR MOVE"; 470 GOTO 230 480 IF R(E1,L1)=1 THEN 70 490 R(E1,L1)=R(E1,L1)-1 500 GOTO 70 510 1 PRINT CHR$(26);TAB(31);"EVEN WINS" 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 3 PRINT:PRINT 4 Y1=0 10 M1=0 20 DIM M(20),Y(20) 30 PRINT " THIS IS A TWO PERSON GAME CALLED 'EVEN WINS.'" 40 PRINT "TO PLAY THE GAME, THE PLAYERS NEED 27 MARBLES OR" 50 PRINT "OTHER OBJECTS ON A TABLE." 60 PRINT 70 PRINT 80 PRINT " THE 2 PLAYERS ALTERNATE TURNS, WITH EACH PLAYER" 90 PRINT "REMOVING FROM 1 TO 4 MARBLES ON EACH MOVE. THE GAME" 100 PRINT "ENDS WHEN THERE ARE NO MARBLES LEFT, AND THE WINNER" 110 PRINT "IS THE ONE WITH AN EVEN NUMBER OF MARBLES." 120 PRINT 130 PRINT 140 PRINT " THE ONLY RULES ARE THAT (1) YOU MUST ALTERNATE TURNS," 150 PRINT "(2) YOU MUST TAKE BETWEEN 1 AND 4 MARBLES EACH TURN," 160 PRINT "AND (3) YOU CANNOT SKIP A TURN." 170 PRINT 180 PRINT 190 PRINT 200 PRINT " TYPE A '1' IF YOU WANT TO GO FIRST, AND TYPE" 210 PRINT "A '0' IF YOU WANT ME TO GO FIRST." 220 INPUT C 225 PRINT 230 IF C=0 THEN 250 240 GOTO 1060 250 T=27 260 M=2 270 PRINT:P RINT "TOTAL=";T:PRINT 280 M1=M1+M 290 T=T-M 300 IF M=1 THEN PRINT "I PICK UP 1 MARBLE." ELSE PRINT "I PICK UP";M;"MARBLES." 310 IF T=0 THEN 880 320 PRINT:PRINT "TOTAL=";T:PRINT 330 PRINT 340 PRINT "WHAT IS YOUR NEXT MOVE (MY TOTAL IS";M1;CHR$(8);")"; 350 INPUT Y 360 PRINT 370 IF Y<1 THEN 1160 380 IF Y>4 THEN 1160 390 IF Y<=T THEN 430 400 PRINT " YOU HAVE TRIED TO TAKE MORE MARBLES THAN THERE ARE" 410 PRINT "LEFT. TRY AGAIN." 420 GOTO 350 430 Y1=Y1+Y 440 T=T-Y 450 IF T=0 THEN 880 460 PRINT "TOTAL=";T 470 PRINT 480 PRINT "YOUR TOTAL IS";Y1;CHR$(8);"." 490 IF T<.5 THEN 880 500 R=T-6*INT(T/6) 510 IF INT(Y1/2)=Y1/2 THEN 700 520 IF T<4.2 THEN 580 530 IF R>3.4 THEN 620 540 M=R+1 550 M1=M1+M 560 T=T-M 570 GOTO 300 580 M=T 590 T=T-M 600 GOTO 830 610 REM 250 IS WHERE I WIN. 620 IF R<4.7 THEN 660 630 IF R>3.5 THEN 660 640 M=1 650 GOTO 670 660 M=4 670 T=T-M 680 M1=M1+M 690 GOTO 300 700 REM I AM READY TO ENCODE THE STRAT FOR WHEN OPP TOT IS EVEN 710 IF R<1.5 THEN 1020 720 IF R>5.3 THEN 1020 730 M=R-1 740 M1=M1+M 750 T=T-M 760 IF T<.2 THEN 790 770 REM IS # ZERO HERE 780 GOTO 300 790 REM IS = ZERO HERE 800 IF M=1 THEN PRINT "I PICK UP 1 MARBLE." ELSE PRINT "I PICK UP";M;"MARBLES." 810 PRINT 820 GOTO 880 830 REM THIS IS WHERE I WIN 840 IF M=1 THEN PRINT "I PICK UP 1 MARBLE." ELSE PRINT "I PICK UP";M;"MARBLES." 850 PRINT 860 PRINT "TOTAL = 0" 870 M1=M1+M 880 PRINT "THAT IS ALL OF THE MARBLES." 890 PRINT 900 PRINT " MY TOTAL IS";M1;CHR$(8);", YOUR TOTAL IS";Y1;CHR$(8);"." 910 PRINT 920 IF INT(M1/2)=M1/2 THEN 950 930 PRINT " YOU WON. DO YOU WANT TO PLAY"; 940 GOTO 960 950 PRINT " I WON. DO YOU WANT TO PLAY"; 960 INPUT " AGAIN";A1$:PRINT:PRINT 980 IF LEFT$(A1$,1)="N" THEN 1030 990 M1=0 1000 Y1=0 1010 GOTO 200 1020 GOTO 640 1030 PRINT 1040 PRINT "OK. SEE YOU LATER." 1050 GOTO 1230 1060 T=27 1070 PRINT 1080 PRINT 1090 PRINT 1100 PRINT "TOTAL=";T 1110 PRINT 1120 PRINT 1130 PRINT "WHAT IS YOUR FIRST MOVE"; 1140 INPUT Y 1150 GOTO 360 1160 PRINT 1170 PRINT "THE NUMBER OF MARBLES YOU TAKE MUST BE A POSITIVE" 1180 PRINT "INTEGER BETWEEN 1 AND 4." 1190 PRINT 1200 PRINT " WHAT IS YOUR NEXT MOVE?" 1210 PRINT 1220 GOTO 350 1230 RUN "MENU" "INTEGER BETWEEN 1 AND 880 830 REM THIS IS WHERE I WIN 840 IF M=1 THEN PRINT "I PICK UP 1 MARBLE." ELSE PRINT "I PICK UP";M;"MARBLES." 850 PRINT 860 PRINT "TOTAL = 0" 870 M1=M1+M 880 PRINT "THAT IS ALL OF THE MARBLES." 890 PRINT 900 PRINT " MY TOTAL IS";M1;CHR$(8);", YOUR TOTAL IS";Y1;CHR$(8);"." 910 PRINT 920 IF INT(M1/2)=M1/2 THEN 950 930 PRINT " YOU WON. DO YOU WANT TO PLAY"; 940 GOTO 960 950 PRINT " I WON. DO YOU WANT TO PLAY"; 960 INPUT " AGAIN";A1$:PRINT:PRINT 980 IF LEFT$(A1$,1)="N" THEN 1030 990 M1=0 1000 Y1=0 1010 GOTO 200 1020 GOTO 640 1030 PRINT 1040 PRINT "OK. SEE YOU LATER." 1050 GOTO 1230 1060 T=27 1070 PRINT 1080 PRINT 1090 PRINT 1100 PRINT "TOTAL=";T 1110 PRINT 1120 PRINT 1130 PRINT "WHAT IS YOUR FIRST MOVE"; 1140 INPUT 1 PRINT CHR$(26):WIDTH 80 2 PRINT TAB(32);"FLIPFLOP":PRINT 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT 10 REM *** CREATED BY MICHAEL CASS 15 DIM A$(20) 20 PRINT "THE OBJECT OF THIS PUZZLE IS TO CHANGE THIS:" 30 PRINT 40 PRINT "X X X X X X X X X X" 50 PRINT 60 PRINT "TO THIS:" 70 PRINT 80 PRINT "O O O O O O O O O O" 90 PRINT 100 PRINT "BY TYPING THE NUMBER CORRESPONDING TO THE POSITION OF THE" 110 PRINT "LETTER ON SOME NUMBERS, ONE POSITION WILL CHANGE, ON" 120 PRINT "OTHERS, TWO WILL CHANGE. TO RESET LINE TO ALL X'S, TYPE 0" 130 PRINT "(ZERO) AND TO START OVER IN THE MIDDLE OF A GAME, TYPE " 140 PRINT "11 (ELEVEN)." 170 PRINT 180 REM 190 Q=RND(1) 200 PRINT "HERE IS THE STARTING LINE OF X'S." 210 PRINT 220 C=0 230 PRINT "1 2 3 4 5 6 7 8 9 10" 240 PRINT "X X X X X X X X X X" 250 PRINT 260 REM 270 FOR X=1 TO 10 280 A$(X)="X" 290 NEXT X 300 GOTO 320 310 PRINT "ILLEGAL ENTRY--TRY AGAIN." 320 PRINT "INPUT THE NUMBER"; 330 INPUT N 340 IF N<>INT(N) THEN 310 350 IF N=11 THEN 180 360 IF N>11 THEN 310 370 IF N=0 THEN 230 380 IF M=N THEN 510 390 M=N 400 IF A$(N)="O" THEN 480 410 A$(N)="O" 420 R=TAN(Q+N/Q-N)-SIN(Q/N)+336*SIN(8*N) 430 N=R-INT(R) 440 N=INT(10*N) 450 IF A$(N)="O" THEN 480 460 A$(N)="O" 470 GOTO 610 480 A$(N)="X" 490 IF M=N THEN 420 500 GOTO 610 510 IF A$(N)="O" THEN 590 520 A$(N)="O" 530 R=.592*(1/TAN(Q/N+Q))/SIN(N*2+Q)-COS(N) 540 N=R-INT(R) 550 N=INT(10*N) 560 IF A$(N)="O" THEN 590 570 A$(N)="O" 580 GOTO 610 590 A$(N)="X" 600 IF M=N THEN 530 610 PRINT "1 2 3 4 5 6 7 8 9 10" 620 FOR Z=1 TO 10: PRINT A$(Z);" ";: NEXT Z 630 C=C+1 640 PRINT 650 FOR Z=1 TO 10 660 IF A$(Z)<>"O" THEN 320 670 NEXT Z 680 IF C>12 THEN 710 690 PRINT "VERY GOOD. YOU GUESSED IT IN ONLY";C;"GUESSES." 700 GOTO 720 710 PRINT "TRY HARDER NEXT TIME. IT TOOK YOU";C;"GUESSES." 720 PRINT "DO YOU WANT TO TRY ANOTHER PUZZLE"; 730 INPUT X$ 740 IF LEFT$(X$,1)="N" THEN 780 760 PRINT 770 GOTO 180 780 RUN "MENU"  "DO YOU WANT TO TRY ANOTHER PUZZLE" 1 RANDOMIZE 5 PRINT CHR$(26):WIDTH 80 10 PRINT TAB(33);"FOOTBALL":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT:PRINT 220 PRINT "THIS IS DARTMOUTH CHAMPIONSHIP FOOTBALL.":PRINT 230 PRINT "YOU WILL QUARTERBACK DARTMOUTH. CALL PLAYS AS FOLLOWS:" 240 PRINT "1= SIMPLE RUN; 2= TRICKY RUN; 3= SHORT PASS;" 250 PRINT "4= LONG PASS; 5= PUNT; 6= QUICK KICK; 7= PLACE KICK." 260 PRINT 270 LINE INPUT "CHOOSE YOUR OPPONENT: ";O$(1):PRINT 290 O$(0)="DARTMOUTH" 300 PRINT 310 LET S(0)=0: LET S(1)=0 320 REM 330 DIM L$(20) 340 FOR I=1 TO 20: READ L$(I): NEXT I 350 DATA "KICK","RECEIVE"," YARD ","RUN BACK FOR ","BALL ON " 360 DATA "YARD LINE"," SIMPLE RUN"," TRICKY RUN"," SHORT PASS" 370 DATA " LONG PASS","PUNT"," QUICK KICK "," PLACE KICK"," LOSS " 380 DATA " NO GAIN","GAIN "," TOUCHDOWN "," TOUCHBACK ","SAFETY***" 385 DATA "JUNK" 390 LET P=INT(RND(1)*2) 400 PRINT O$(P);" WON THE TOSS" 410 DEF FNF(X)=1-2*P 420 DEF FNG(Z)=P*(X1-X)+(1-P)*(X-X1) 430 IF P=0 THEN 470 440 PRINT O$(1);" ELECTS TO RECEIVE." 450 PRINT 460 GOTO 580 470 PRINT "DO YOU ELECT TO KICK OR RECEIVE"; 480 INPUT A$ 485 IF LEFT$(A$,1)="K" THEN A$="KICK" ELSE IF LEFT$(A$,1)="R" THEN A$="RECEIVE" ELSE GOTO 470 490 PRINT 500 FOR E=1 TO 2 510 IF A$=L$(E) THEN 550 520 NEXT E 530 PRINT "INCORRECT ANSWER. PLEASE TYPE 'KICK' OR 'RECIEVE'"; 540 GOTO 480 550 IF E=2 THEN 580 560 LET P=1 580 LET X=40+(1-P)*20 590 LET Y=INT(200*(RND(1)-.5)^3+55) 600 PRINT Y;L$(3);" KICKOFF:" 610 LET X=X-FNF(1)*Y 620 IF ABS(X-50)>=50 THEN 700 630 LET Y=INT(50*RND(1)^2)+(1-P)*INT(50*RND(1)^4) 640 LET X=X+FNF(1)*Y 650 IF ABS(X-50)>=50 THEN 655 651 PRINT Y;L$(3);" RUNBACK." 652 GOTO 720 655 PRINT L$(4); 660 GOTO 2600 700 PRINT "TOUCHBACK FOR ";O$(P);"." 710 LET X=20+P*60 720 REM FIRST DOWN 730 GOSUB 800 740 LET X1=X 750 LET D=1 760 PRINT:PRINT "*** FIRST DOWN ";O$(P);" ***" 770 PRINT 780 PRINT 790 GOTO 860 800 REM PRINT POSITION 810 IF X>50 THEN 840 820 PRINT L$(5);O$(0);X;L$(6) 830 GOTO 850 840 PRINT L$(5);O$(1);100-X;L$(6) 850 RETURN 860 REM NEW PLAY 870 LET T=T+1 880 IF T=30 THEN 1060 890 IF T<50 THEN 940 900 IF RND(1)>.2 THEN 940 910 PRINT:PRINT "*** END OF GAME ***":PRINT 920 PRINT "FINAL SCORE: ";O$(0);": ";S(0);" ";O$(1);": ";S(1) 930 RUN "MENU" 940 IF P=1 THEN 1870 950 PRINT "NEXT PLAY"; 960 INPUT Z 970 IF Z<>INT(Z) THEN 990 980 IF ABS(Z-4)<=3 THEN 1010 990 PRINT "ILLEGAL PLAY NUMBER, RETYPE"; 1000 GOTO 960 1010 LET F=0 1020 PRINT L$(Z+6);". "; 1030 LET R=RND(1)*(.98+FNF(1)*.02) 1040 LET R1=RND(1) 1050 ON Z GOTO 1110,1150,1260,1480,1570,1570,1680 1060 REM JEAN'S SPECIAL 1070 IF RND(1)> 1/3 THEN 940 1080 PRINT "GAME DELAYED. DOG ON FIELD." 1090 PRINT 1100 GOTO 940 1110 REM SIMPLE RUN 1120 LET Y=INT(24*(R-.5)^3+3) 1130 IF RND(1)<.05 THEN 1180 1140 GOTO 2190 1150 REM TRICKY RUN 1160 LET Y=INT(20*R-5) 1170 IF RND(1)>.1 THEN 2190 1180 LET F=-1 1190 LET X3=X 1200 LET X=X+FNF(1)*Y 1210 IF ABS(X-50)>=50 THEN 1240 1220 PRINT "*** FUMBLE AFTER "; 1230 GOTO 2230 1240 PRINT "*** FUMBLE." 1250 GOTO 2450 1260 REM SHORT PASS 1270 LET Y=INT(60*(R1-.5)^3+10) 1280 IF R<.05 THEN 1330 1290 IF R<.15 THEN 1390 1300 IF R<.55 THEN 1420 1310 PRINT "COMPLETE. "; 1320 GOTO 2190 1330 IF D=4 THEN 1420 1340 PRINT "INTERCEPTED." 1350 LET F=-1 1360 LET X=X+FNF(1)*Y 1370 IF ABS(X-50)>=50 THEN 2450 1380 GOTO 2300 1390 PRINT "PASSER TACKLED. "; 1400 LET Y=-INT(10*R1) 1410 GOTO 2190 1420 LET Y=0 1430 IF RND(1)<.3 THEN 1460 1440 PRINT "INCOMPLETE. "; 1450 GOTO 2190 1460 PRINT "BATTED DOWN. "; 1470 GOTO 2190 1480 REM LONG PASS 1490 LET Y=INT(160*(R1-.5)^3+30) 1500 IF R<.1 THEN 1330 1510 IF R<.3 THEN 1540 1520 IF R<.75 THEN 1420 1530 GOTO 1310 1540 PRINT "PASSER TACKLED. "; 1550 LET Y=-INT(15*R1+3) 1560 GOTO 2190 1570 REM PUNT OR KICK 1580 LET Y=INT(100*(R-.5)^3+35) 1590 IF D=4 THEN 1610 1600 LET Y=INT(Y*1.3) 1610 PRINT Y;L$(3);" PUNT" 1620 IF ABS(X+Y*FNF(1)-50)>=50 THEN 1670 1630 IF D<4 THEN 1670 1640 LET Y1=INT(R1^2*20) 1650 PRINT Y1;L$(3);" RUN BACK" 1660 LET Y=Y-Y1 1670 GOTO 1350 1680 REM PLACE KICK 1690 LET Y=INT(100*(R-.5)^3+35) 1700 IF R1>.15 THEN 1750 1710 PRINT "KICK IS BLOCKED ***" 1720 LET X=X-5*FNF(1) 1730 LET P=1-P 1740 GOTO 720 1750 LET X=X+FNF(1)*Y 1760 IF ABS(X-50)>=60 THEN 1810 1770 PRINT "KICK IS SHORT." 1780 IF ABS(X-50)>=50 THEN 2710 1790 P=1-P 1800 GOTO 630 1810 IF R1>.5 THEN 1840 1820 PRINT "KICK IS OFF TO THE SIDE." 1830 GOTO 2710 1840 PRINT:PRINT "*** FIELD GOAL ***":PRINT 1850 LET S(P)=S(P)+3 1860 GOTO 2640 1870 REM OPPONENT'S PLAY 1875 INPUT"ENTER RETURN TO CONTINUE",Z 1880 IF D>1 THEN 1940 1890 IF RND(1)>1/3 THEN 1920 1900 LET Z=3 1910 GOTO 1010 1920 LET Z=1 1930 GOTO 1010 1940 IF D=4 THEN 2090 1950 IF 10+X-X1<5 THEN 1890 1960 IF X<5 THEN 1890 1970 IF X<=10 THEN 2160 1980 IF X>X1 THEN 2020 1990 LET A=INT(2*RND(1)) 2000 LET Z=2+A*2 2010 GOTO 1010 2020 IF D<3 THEN 1990 2030 IF X<45 THEN 1990 2040 IF RND(1)>1/4 THEN 2070 2050 LET Z=6 2060 GOTO 1010 2070 LET Z=4 2080 GOTO 1010 2090 IF X>30 THEN 2140 2100 IF 10+X-X1<3 THEN 1890 2110 IF X<3 THEN 1890 2120 LET Z=7 2130 GOTO 1010 2140 LET Z=5 2150 GOTO 1010 2160 LET A=INT(2*RND(1)) 2170 LET Z=2+A 2180 GOTO 1010 2190 REM GAIN OR LOSS 2200 LET X3=X 2210 LET X=X+FNF(1)*Y 2220 IF ABS(X-50)>=50 THEN 2450 2230 IF Y=0 THEN 2250 2240 PRINT ABS(Y);L$(3); 2250 PRINT L$(15+SGN(Y)) 2280 IF ABS(X3-50)>40 THEN 2300 2290 IF RND(1)<.1 THEN 2860 2300 GOSUB 800 2310 IF F=0 THEN 2340 2320 LET P=1-P 2330 GOTO 740 2340 IF FNG(1)>=10 THEN 740 2350 IF D=4 THEN 2320 2360 LET D=D+1 2370 PRINT "DOWN: ";D;" "; 2380 IF (X1-50)*FNF(1)<40 THEN 2410 2390 PRINT "GOAL TO GO" 2400 GOTO 2420 2410 PRINT "YARDS TO GO: ";10-FNG(1) 2420 PRINT 2430 PRINT 2440 GOTO 860 2450 REM BALL IN END-ZONE 2460 IF X>=100 THEN 2490 2470 LET E=0 2480 GOTO 2500 2490 LET E=1 2500 ON 1+E-F*2+P*4 GOTO 2510,2590,2760,2710,2590,2510,2710,2760 2510 REM SAFETY 2520 LET S(1-P)=S(1-P)+2 2530 PRINT L$(19) 2540 GOSUB 2800 2550 PRINT O$(P);" KICKS OFF FROM ITS 20 YARD LINE." 2560 LET X=20+P*60 2570 LET P=1-P 2580 GOTO 590 2590 REM OFFENSIVE TD 2600 PRINT L$(17);" *** " 2610 IF RND(1)>.8 THEN 2680 2620 LET S(P)=S(P)+7 2630 PRINT "KICK IS GOOD." 2640 GOSUB 2800 2650 PRINT O$(P);" KICKS OFF" 2660 LET P=1-P 2670 GOTO 580 2680 PRINT "KICK IS OFF TO THE SIDE." 2690 LET S(P)=S(P)+6 2700 GOTO 2640 2710 REM TOUCHBACK 2720 PRINT L$(18) 2730 LET P=1-P 2740 LET X=20+P*60 2750 GOTO 720 2760 REM DEFENSIVE TD 2770 PRINT L$(17);"FOR ";O$(1-P);" *** " 2780 LET P=1-P 2790 GOTO 2600 2800 REM SCORE 2810 PRINT 2820 PRINT "SCORE: ";S(0);" TO ";S(1) 2830 PRINT 2840 PRINT 2850 RETURN 2860 REM PENALTY 2870 LET P3=INT(2*RND(1)) 2880 PRINT O$(P3);" OFFSIDES -- PENALTY OF 5 YARDS." 2890 PRINT 2900 PRINT 2910 IF P3=0 THEN 2980 2920 PRINT "DO YOU ACCEPT THE PENALTY"; 2930 INPUT A$ 2940 IF LEFT$(A$,1)="N" THEN 2300 2950 IF LEFT$(A$,1)="Y" THEN 3110 2960 PRINT "TYPE 'YES' OR 'NO'"; 2970 GOTO 2930 2980 REM OPPONENT'S STRATEGY ON PENALTY  2990 IF P=1 THEN 3040 3000 IF Y<=0 THEN 3080 3010 IF F<0 THEN 3080 3020 IF FNG(1)<3*D-2 THEN 3080 3030 GOTO 3100 3040 IF Y<=5 THEN 3100 3050 IF F<0 THEN 3100 3060 IF D<4 THEN 3080 3070 IF FNG(1)<10 THEN 3100 3080 PRINT "PENALTY REFUSED." 3090 GOTO 2300 3100 PRINT "PENALTY ACCEPTED." 3110 LET F=0 3120 LET D=D-1 3130 IF P<>P3 THEN 3160 3140 LET X=X3-FNF(1)*5 3150 GOTO 2300 3160 LET X=X3+FNF(1)*5 3170 GOTO 2300 3180 RUN "MENU" D-1 3130 IF P<>P3 THEN 3160 3140 LET X=X3-FNF(1)*5 3150 GOT;" *** " 2780 LET P=1-P 2790 GOTO 2600 2800 REM SCORE 2810 PRINT 2820 PRINT "SCORE: ";S(0);" TO ";S(1) 2830 PRINT 2840 PRINT 2850 RETURN 2860 REM PENALTY 2870 LET P3=INT(2*RND(1)) 2880 PRINT O$(P3);" OFFSIDES -- PENALTY OF 5 YARDS." 2890 PRINT 2900 PRINT 2910 IF P3=0 THEN 2980 2920 PRINT "DO YOU ACCEPT THE PENALTY"; 2930 INPUT A$ 2940 IF LEFT$(A$,1)="N" THEN 2300 2950 IF LEFT$(A$,1)="Y" THEN 3110 2960 PRINT "TYPE 'YES' OR 'NO'"; 2970 GOTO 2930 2980 REM OPPONENT'S STRATEGY ON PENALTY 0 RANDOMIZE 1 PRINT CHR$(26):PRINT TAB(32);"FOOTBALL":PRINT 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 3 PRINT:PRINT:PRINT 100 REM 120 DIM A(20),B(20),C(40),H(2),T(2),W(2),X(2),Y(2),Z(2) 130 DIM M$(2),D(2),P$(20) 140 PRINT "PRESENTING N.F.U. FOOTBALL (NO FORTRAN USED)" 145 PRINT:PRINT 150 INPUT "DO YOU WANT INSTRUCTIONS";A$ 160 IF LEFT$(A$,1)="N" OR LEFT$(A$,1)="n" THEN 290 165 IF LEFT$(A$,1)<>"Y" AND LEFT$(A$,1)<>"y" THEN 150 170 PRINT CHR$(26):PRINT "This is a football game for two teams. Players must" 180 PRINT "each enter a data statement (1770 for Team 1, 1780 for" 190 PRINT "Team 2) which scrambles the numbers 1 through 20." 195 PRINT "These numbers are then assigned to twenty five plays." 200 PRINT "A list of numbers and their plays is provided, with both" 210 PRINT "teams having the same plays.": PRINT " The more similar the plays the less yardage gained." 220 PRINT "To punt or attempt a field goal, input 77,77 for play numbers." 223 PRINT "Questions will be asked then. On 4th down, you will also be" 225 PRINT "asked whether you want to punt or attempt a field goal. If the" 227 PRINT "answer to both questions is no, it will be assumed you want to" 230 PRINT "try and gain yardage.":PRINT 240 PRINT " Scores are given whenever scores are made. Scores may also be" 250 PRINT "be obtained by entering 99,99 for play numbers.":PRINT 270 PRINT " The game is played until players terminate (Control-C).":PRINT 280 LINE INPUT "Enter 'RETURN' to begin the game.";XX$:PRINT 290 PRINT:PRINT "PLEASE INPUT SCORE LIMIT ON GAME";:INPUT E 300 FOR I=1 TO 40: READ N: IF I>20 THEN 350 330 A(N)=I: GOTO 360 350 B(N)=I-20 360 C(I)=N: NEXT I 370 FOR I=1 TO 20: READ P$(I): NEXT I 380 L=0: T=1 382 PRINT:INPUT "DO YOU WISH PLAYS OUTPUT ON PRINTER";A$:PRINT 384 IF LEFT$(A$,1)<>"Y" AND LEFT$(A$,1)<>"y" THEN 690 390 LINE INPUT "ENTER 'RETURN' WHEN PAPER POSITIONED.";XX$:PRINT 410 LPRINT "TEAM";T;"PLAY CHART" 412 LPRINT "=================":LPRINT 420 LPRINT "NO. PLAY":LPRINT "-------------":LPRINT 430 FOR I=1 TO 20 440 REM 450 LPRINT USING "##";C(I+L);:LPRINT TAB(6);P$(I) 460 NEXT I 465 LPRINT CHR$(12) 630 L=L+20:T=2 640 LPRINT 680 IF L=20 THEN 410 690 D(1)=0: D(2)=3: M$(1)="--->": M$(2)="<---" 700 H(1)=0: H(2)=0: T(1)=2: T(2)=1 710 W(1)=-1: W(2)=1: X(1)=100: X(2)=0 720 Y(1)=1: Y(2)=-1: Z(1)=0: Z(2)=100 725 GOSUB 1910 730 PRINT "TEAM 1 DEFENDS 0 YD GOAL -- TEAM 2 DEFENDS 100 YD GOAL." 740 T=INT(2*RND(1)+1) 760 PRINT: PRINT "THE COIN IS FLIPPED" 765 P=X(T)-Y(T)*40 770 GOSUB 1860: PRINT : PRINT "TEAM";T;"RECEIVES KICK-OFF" 780 K=INT(26*RND(1)+40) 790 P=P-Y(T)*K 794 IF W(T)*P"N" AND LEFT$(A$,1)<>"n" THEN 830 850 IF W(T)*P1 THEN 900 895 IF Y(T)*(P+Y(T)*10)>=X(T) THEN 898 897 C=4: GOTO 900 898 C=8 900 IF C=8 THEN 904 901 PRINT TAB(27);10-(Y(T)*P-Y(T)*S);"YARDS TO 1ST DOWN" 902 GOTO 910 904 PRINT TAB(27);X(T)-Y(T)*P;"YARDS" 910 GOSUB 1900: IF D=4 THEN 1180 920 REM 930 U=INT(3*RND(0)-1): GOTO 940 936 PRINT "ILLEGAL PLAY NUMBER, CHECK AND" 940 PRINT "INPUT OFFENSIVE PLAY, DEFENSIVE PLAY"; 950 IF T=2 THEN 970 960 INPUT P1,P2: GOTO 975 970 INPUT P2,P1 975 IF P1=77 THEN 1180 980 IF P1>20 THEN 1800 985 IF P1<1 THEN 1800 990 IF P2>20 THEN 1800 992 IF P2<1 THEN 1800 995 P1=INT(P1): P2=INT(P2) 1000 Y=INT(ABS(A(P1)-B(P2))/19*((X(T)-Y(T)*P+25)*RND(1)-15)) 1005 PRINT: IF T=2 THEN 1015 1010 IF A(P1)<11 THEN 1048 1012 GOTO 1020 1015 IF B(P2)<11 THEN 1048 1020 IF U<>0 THEN 1035 1025 PRINT "PASS INCOMPLETE TEAM";T 1030 Y=0: GOTO 1050 1035 G=RND(1): IF G>.025 THEN 1040 1037 IF Y>2 THEN 1045 1040 PRINT "QUARTERBACK SCRAMBLED": GOTO 1050 1045 PRINT "PASS COMPLETED": GOTO 1050 1048 PRINT "THE BALL WAS RUN" 1050 P=P-W(T)*Y 1060 PRINT: PRINT "NET YARDS GAINED ON DOWN";D;"ARE ";Y 1070 G=RND(1): IF G>.025 THEN 1110 1080 PRINT: PRINT "** LOSS OF POSSESSION FROM TEAM";T;"TO TEAM";T(T) 1100 GOSUB 1850: PRINT: T=T(T): GOTO 830 1110 IF Y(T)*P>=X(T) THEN 1320 1120 IF W(T)*P>=Z(T) THEN 1230 1130 IF Y(T)*P-Y(T)*S>=10 THEN 880 1140 D=D+1: IF D<>5 THEN 885 1160 PRINT: PRINT "CONVERSION UNSUCCESSFUL TEAM";T:T=T(T) 1170 GOSUB 1850: GOTO 880 1180 PRINT "DOES TEAM";T;"WANT TO PUNT";: INPUT A$ 1185 IF LEFT$(A$,1)="N" OR LEFT$(A$,1)="n" THEN 1200 1187 IF LEFT$(A$,1)<>"Y" AND LEFT$(A$,1)<>"y" THEN 1180 1190 PRINT:PRINT "TEAM";T;"WILL PUNT": G=RND(1): IF G<.025 THEN 1080 1195 GOSUB 1850: K=INT(25*RND(1)+35): T=T(T): GOTO 790 1200 PRINT "DOES TEAM";T;"WANT TO ATTEMPT A FIELD GOAL";: INPUT A$ 1210 IF LEFT$(A$,1)="Y" OR LEFT$(A$,1)="y" THEN 1640 1215 IF LEFT$(A$,1)<>"N" AND LEFT$(A$,1)<>"n" THEN 1200 1217 GOTO 920 1230 PRINT: PRINT "SAFETY AGAINST TEAM";T;"**********************OH-OH" 1240 H(T(T))=H(T(T))+2: GOSUB 1810 1280 PRINT"TEAM";T;"DO YOU WANT TO PUNT INSTEAD OF A KICKOFF";:INPUT A$ 1290 P=Z(T)-W(T)*20: IF A$="YES" THEN 1190 1320 PRINT: PRINT "TOUCHDOWN BY TEAM";T;"*********************YEA TEAM" 1340 Q=7: G=RND(1): IF G>.1 THEN 1380 1360 Q=6: PRINT "EXTRA POINT NO GOOD": GOTO 1390 1380 PRINT "EXTRA POINT GOOD" 1390 H(T)=H(T)+Q: GOSUB 1810 1420 T=T(T): GOTO 765 1430 K=INT(9*RND(0)+1) 1440 R=INT(((X(T)-Y(T)*P+25)*RND(1)-15)/K) 1460 P=P-W(T)*R 1480 PRINT:PRINT "RUNBACK TEAM";T;R;"YARDS" 1485 G=RND(1): IF G<.025 THEN 1080 1490 IF Y(T)*P>=X(T) THEN 1320 1500 IF W(T)*P>=Z(T) THEN 1230 1510 GOTO 880 1640 PRINT: PRINT "TEAM";T;"WILL ATTEMPT A FIELD GOAL" 1645 G=RND(1): IF G<.025 THEN 1080 1650 F=INT(35*RND(1)+20) 1660 PRINT: PRINT "KICK IS";F;"YARDS LONG" 1680 P=P-W(T)*F: G=RND(1) 1690 IF G<.35 THEN 1735 1700 IF Y(T)*P99 THEN 936 1810 PRINT: PRINT "TEAM 1 SCORE IS";H(1) 1820 PRINT "TEAM 2 SCORE IS";H(2): PRINT 1825 IF H(T)99 THEN 936 1810 PRINT: PRINT "TEAM 1 SCORE IS";H(1) 1820 PRINT "TEAM 2 SCORE IS";H(2): PRINT 1825 IF H(T)190 THEN 500 348 NEXT J 350 GOTO 1100 500 PRINT 501 PRINT:PRINT "YOU MAY NOT HAVE THAT MANY FURS." 502 PRINT "DO NOT TRY TO CHEAT. I CAN ADD." 503 PRINT "YOU MUST START AGAIN." 504 GOTO 15 508 PRINT 511 PRINT "DO YOU WANT TO TRADE FURS NEXT YEAR"; 513 GOTO 18 1091 PRINT: PRINT "YOU ARE THE LEADER OF A FRENCH FUR TRADING EXPEDITION IN " 1092 PRINT "1776 LEAVING THE LAKE ONTARIO AREA TO SELL FURS AND GET" 1093 PRINT "SUPPLIES FOR THE NEXT YEAR. YOU HAVE A CHOICE OF THREE" 1094 PRINT "FORTS AT WHICH YOU MAY TRADE. THE COST OF SUPPLIES" 1095 PRINT "AND THE AMOUNT YOU RECEIVE FOR YOUR FURS WILL DEPEND" 1096 PRINT "ON THE FORT THAT YOU CHOOSE." 1099 RETURN 1100 PRINT:PRINT "YOU MAY TRADE YOUR FURS AT FORT 1, FORT 2," 1102 PRINT "OR FORT 3. FORT 1 IS FORT HOCHELAGA (MONTREAL)" 1103 PRINT "AND IS UNDER THE PROTECTION OF THE FRENCH ARMY." 1104 PRINT "FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE" 1105 PRINT "PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST" 1106 PRINT "MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS." 1108 PRINT "FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL."  1109 PRINT "YOU MUST CROSS THROUGH IROQUOIS LAND." 1110 PRINT:PRINT "WHICH FORT WOULD YOU LIKE TO TRADE AT"; 1111 INPUT B:PRINT 1112 IF B=1 THEN 1120 1113 IF B=2 THEN 1135 1115 IF B=3 THEN 1147 1116 GOTO 1110 1120 PRINT "YOU HAVE CHOSEN THE EASIEST ROUTE. HOWEVER, THE FORT" 1121 PRINT "IS FAR FROM ANY SEAPORT. THE VALUE" 1122 PRINT "YOU RECEIVE FOR YOUR FURS WILL BE LOW AND THE COST" 1123 PRINT "OF SUPPLIES HIGHER THAN AT FORTS STADACONA OR NEW YORK." 1125 GOSUB 1400 1129 IF LEFT$(B$,1)="Y" THEN 1110 1130 GOTO 1160 1135 PRINT "YOU HAVE CHOSEN A HARD ROUTE. IT IS, IN COMPARSION," 1136 PRINT "HARDER THAN THE ROUTE TO HOCHELAGA BUT EASIER THAN" 1137 PRINT "THE ROUTE TO NEW YORK. YOU WILL RECEIVE AN AVERAGE VALUE" 1138 PRINT "FOR YOUR FURS AND THE COST OF YOUR SUPPLIES WILL BE AVERAGE." 1141 GOSUB 1400 1144 IF LEFT$(B$,1)="Y" THEN 1110 1145 GOTO 1198 1147 PRINT "YOU HAVE CHOSEN THE MOST DIFFICULT ROUTE. AT" 1148 PRINT "FORT NEW YORK YOU WILL RECEIVE THE HIGHEST VALUE" 1149 PRINT "FOR YOUR FURS. THE COST OF YOUR SUPPLIES" 1150 PRINT "WILL BE LOWER THAN AT ALL THE OTHER FORTS." 1152 GOSUB 1400 1155 IF LEFT$(B$,1)="Y" THEN 1110 1156 GOTO 1250 1160 LET I=I-160 1169 PRINT 1174 LET M1=INT((.2*RND(1)+.7)*10^2+.5)/10^2 1175 LET E1=INT((.2*RND(1)+.65)*10^2+.5)/10^2 1176 LET B1=INT((.2*RND(1)+.75)*10^2+.5)/10^2 1177 LET D1=INT((.2*RND(1)+.8)*10^2+.5)/10^2 1180 PRINT "SUPPLIES AT FORT HOCHELAGA COST $150.00." 1181 PRINT "YOUR TRAVEL EXPENSES TO HOCHELAGA WERE $10.00." 1190 GOTO 1410 1198 LET I=I-140 1201 PRINT 1205 LET M1=INT((.3*RND(1)+.85)*10^2+.5)/10^2 1206 LET E1=INT((.15*RND(1)+.8)*10^2+.5)/10^2 1207 LET B1=INT((.2*RND(1)+.9)*10^2+.5)/10^2 1209 LET P=INT(10*RND(1))+1 1210 IF P<=2 THEN 1216 1212 IF P<=6 THEN 1224 1213 IF P<=8 THEN 1226 1215 IF P<=10 THEN 1235 1216 LET F(2)=0 1218 PRINT "YOUR BEAVER WERE TOO HEAVY TO CARRY ACROSS" 1219 PRINT "THE PORTAGE. YOU HAD TO LEAVE THE PELTS, BUT FOUND" 1220 PRINT "THEM STOLEN WHEN YOU RETURNED." 1221 GOSUB 1244 1222 GOTO 1414 1224 PRINT "YOU ARRIVED SAFELY AT FORT STADACONA." 1225 GOTO 1239 1226 GOSUB 1430 1230 PRINT "YOUR CANOE UPSET IN THE LACHINE RAPIDS. YOU" 1231 PRINT "LOST ALL YOUR FURS." 1232 GOSUB 1244 1233 GOTO 1418 1235 LET F(4)=0 1237 PRINT "YOUR FOX PELTS WERE NOT CURED PROPERLY." 1238 PRINT "NO ONE WILL BUY THEM." 1239 GOSUB 1244 1240 GOTO 1410 1244 PRINT "SUPPLIES AT FORT STADACONA COST $125.00." 1246 PRINT "YOUR TRAVEL EXPENSES TO STADACONA WERE $15.00." 1248 RETURN 1250 LET I=I-105 1254 PRINT 1260 LET M1=INT((.15*RND(1)+1.05)*10^2+.5)/10^2 1263 LET D1=INT((.25*RND(1)+1.1)*10^2+.5)/10^2 1270 LET P=INT(10*RND(1))+1 1271 IF P<=2 THEN 1281 1272 IF P<=6 THEN 1291 1273 IF P<=8 THEN 1295 1274 IF P<=10 THEN 1306 1281 PRINT "YOU WERE ATTACKED BY A PARTY OF IROQUOIS." 1282 PRINT "ALL PEOPLE IN YOUR TRADING GROUP WERE" 1283 PRINT "KILLED. THIS ENDS THE GAME." 1284 GOTO 2046 1291 PRINT "YOU WERE LUCKY. YOU ARRIVED SAFELY" 1292 PRINT "AT FORT NEW YORK." 1293 GOTO 1311 1295 GOSUB 1430 1300 PRINT "YOU NARROWLY ESCAPED AN IROQUOIS RAIDING PARTY." 1301 PRINT "HOWEVER, YOU HAD TO LEAVE ALL YOUR FURS BEHIND." 1303 GOSUB 1320 1304 GOTO 1418 1306 LET B1=B1/2 1307 LET M1=M1/2 1308 PRINT "YOUR MINK AND BEAVER WERE DAMAGED ON YOUR TRIP." 1309 PRINT "YOU RECEIVE ONLY HALF THE CURRENT PRICE FOR THESE FURS." 1311 GOSUB 1320 1312 GOTO 1410 1320 PRINT "SUPPLIES AT NEW YORK COST $80.00." 1321 PRINT "YOUR TRAVEL EXPENSES TO NEW YORK WERE $25.00." 1322 RETURN 1400 PRINT:PRINT "DO YOU WANT TO TRADE AT ANOTHER FORT"; 1402 INPUT B$:PRINT 1404 RETURN 1410 PRINT 1412 PRINT "YOUR BEAVER SOLD FOR ";:PRINT USING "$$##.##";B1*F(2);: PRINT ", "; 1414 PRINT "YOUR FOX SOLD FOR ";:PRINT USING "$$##.##";D1*F(4);: PRINT "," 1416 PRINT "YOUR ERMINE SOLD FOR ";:PRINT USING "$$##.##";E1*F(3);: PRINT ", "; 1417 PRINT "YOUR MINK SOLD FOR ";:PRINT USING "$$##.##";M1*F(1);: PRINT "." 1418 LET I=M1*F(1)+B1*F(2)+E1*F(3)+D1*F(4)+I 1420 PRINT 1422 PRINT "YOU NOW HAVE ";:PRINT USING "$$##.##";I;: PRINT " INCLUDING YOUR PREVIOUS SAVINGS." 1425 GOTO 508 1430 FOR J=1 TO 4 1432 LET F(J)=0 1434 NEXT J 1436 RETURN 2000 DATA "MINK","BEAVER","ERMINE","FOX" 2046 RUN "MENU"  1430 FNK AND BEAVER WERE DAMAGED ON YOUR TRIP." 1309 PRINT "YOU RECEIVE ONLY HALF THE CURRENT PRICE FOR THESE FURS." 1311 GOSUB 1320 1312 GOTO 1410 1320 PRINT "SUPPLIES AT NEW YORK COST $80.00." 1321 PRINT "YOUR TRAVEL EXPENSES TO NEW YORK WERE $25.00." 1322 RETURN 1400 PRINT:PRINT "DO YOU WANT TO TRADE AT ANOTHER FORT"; 1402 INPUT B$:PRINT 1404 RETURN 1410 PRINT 1412 PRINT "YOUR BEAVER SOLD FOR ";:PRINT USING "$$##.##";B1*F(2);: PRINT ", "; 1414 PRINT "YOUR FOX SOLD FOR ";:PRINT USING "$$##.##";D1*F(4);: PRINT "," 1416 PRINT "YOUR ERMINE SOLD FOR ";:PRINT USING "$$##.##";E1*F(3);: PRINT ", "; 1417 PRINT "YOUR MINK SOLD FOR ";:PRINT USING "$$##.##";M1*F(1);: PRINT "." 1418 LET I=M1*F(1)+B1*F(2)+E1*F(3)+D1*F(4)+I 1420 PRI1 RANDOMIZE 10 REM **** GAMMON **** 20 REM **** A SIMULATION OF THE GAME OF BACKGAMMON **** 30 REM 40 REM 50 REM WRITTEN BY: PAUL VON AUTENRIED 60 REM MODIFIED FOR MBASIC BY: KEVIN REDDEN 65 REM FURTHER MODS BY: BRUCE RATOFF 70 REM 80 REM FOR MORE INFORMATION, SEE CREATIVE COMPUTING, JUNE 1978 90 REM 100 DIM A(25),B(25),S(10) 110 REM FILES DEBT 120 L7=0:L6=0:X5=0:L=0:S1=0:S2=0:T1=0:T2=0:H1=0:G=0:P2=0:D5=0 130 D9=1 140 B$="-" 150 FOR I=1 TO 25:A(I)=0:B(I)=0:NEXT I 160 FOR I=1 TO 10:S(I)=0:NEXT I 180 PRINT "DO YOU WANT ANY INSTRUCTIONS "; 190 INPUT A$ 200 IF LEFT$(A$,1)="N" THEN 400 210 PRINT 220 PRINT "BACKGAMMON : MY CHIPS ARE REPRESENTED BY - SIGNS, YOUR" 230 PRINT " CHIPS BY A + SIGN. INPUT YOUR MOVES IN THE FORMAT FROM" 240 PRINT " POINT #, TO POINT #, FROM POINT #, TO POINT #, FOR EACH" 250 PRINT " MOVE. EXAMPLE: 5,7,12,17 WOULD BE THE MOVE FOR DICE ROLLS" 260 PRINT " OF 2 AND 5; MOVING ONE CHIP FROM POINT 5 TO POINT 7, AND" 270 PRINT " ANOTHER FROM POINT 12 TO POINT 17." 280 PRINT " THE BAR IS REPRESENTED BY 0, YOUR HOME IS 25, MY" 290 PRINT " HOME IS 0." 300 PRINT " IF AT ANY TIME, YOU CARE TO DOUBLE, YOU WILL" 310 PRINT " BE ALLOWED 5 SECONDS IMMEDIATELY AFTER THE BOARD" 320 PRINT " PRINTOUT TO INPUT A 1, INDICATING YOU WISH TO CHECK" 330 PRINT " WHAT VALUE THE CUBE HAS, OR A 2, SUGGESTING DOUBLING THE" 340 PRINT " STAKES." 350 PRINT 360 LINE INPUT "HIT RETURN KEY TO CONTINUE:";QQ$ 370 REM 380 REM 390 REM 400 A(19)=5: B(6)=5: A(12)=5: B(13)=5 410 A(1)=2: B(24)=2 420 A(17)=3: B(8)=3 430 GOSUB 2570:GOTO 600: REM **** PRINT "HAVE YOU PLAYED WITH ME BEFORE"; 440 INPUT A$ 450 IF LEFT$(P$,1)="Y" THEN 520 460 REM **** READ #1,1 470 REM **** READ #1,D8 480 D8=D8+1 490 PRINT "YOUR USER NUMBER IS ";D8+1 500 PRINT #1,1;D8 510 D7=D8 520 GOSUB 2570 530 PRINT "WHAT IS YOUR USER NUMBER "; 540 INPUT D7 550 READ #1,D7;D4 560 IF D4<0 THEN 590 570 PRINT "YOU OWE ME ";-D4;"CENTS. OBVIOUSLY YOU LIKE TO MOVE DEEPER INTO DEBT." 580 GOTO 600 590 PRINT "I OWE YOU ";-D4;"CENTS. NICE OF YOU TO RETURN." 600 X=INT((RND(1)*6)+1) 610 Y=INT((RND(1)*6)+1) 620 PRINT "YOUR ROLL IS A ";X;"AND MY ROLL IS A ";Y;"." 630 IF X<>Y THEN 670 640 D9=D9*2 650 PRINT "THE DOUBLING CUBE IS NOW AT ";D9 660 GOTO 600 670 IF Y>X THEN 1260 680 PRINT "YOU START." 690 D1=X 700 D2=Y 710 GOTO 740 720 D1=INT((RND(1)*6)+1) 730 D2=INT((RND(1)*6)+1) 740 IF H1>0 AND B(D1)>1 AND B(D2)>1 THEN 1220 750 PRINT "YOUR ROLL IS ";D1;"AND";D2;". WHAT IS YOUR MOVE"; 760 GOSUB 6440 770 IF D1=D2 THEN 3610 780 INPUT M1,M2,N1,N2 790 IF L7=1 THEN 960 800 IF M1=0 AND M2=0 THEN 850 810 IF M2-M1=D1 THEN 850 820 IF M2-M1=D2 THEN 880 830 PRINT "NICE TRY. NEXT TIME I WILL LOAD THE DICE! REINPUT!!!!"; 840 GOTO 780 850 IF N1=0 AND N2=0 THEN 930 860 IF N2-N1<>D2 THEN 830 870 GOTO 900 880 IF N1=0 AND N2=0 THEN 930 890 IF N2-N1<>D1 THEN 830 900 IF B(M2)>1 OR B(N2)>1 THEN 830 910 IF M1=0 AND M2=0 THEN 940 920 IF N1=0 AND N2=0 THEN 940 930 IF M1<>0 AND N1<>0 AND H1>0 THEN 830 940 IF M1=0 AND M2=0 THEN 1010 950 IF M1<1 THEN 980 960 IF A(M1)<1 THEN 830 970 A(M1)=A(M1)-1 980 A(M2)=A(M2)+1 990 IF M1>0 THEN 1010 1000 H1=H1-1 1010 IF N1=0 AND N2=0 THEN 1080 1020 IF N1<1 THEN 1050 1030 IF A(N1)<1 THEN 830 1040 A(N1)=A(N1)-1 1050 A(N2)=A(N2)+1 1060 IF N1>0 THEN 1080 1070 H1=H1-1 1080 IF M1=0 AND M2=0 THEN 1140 1090 IF B(M2)<1 THEN 1140 1100 B(M2)=B(M2)-1 1110 G=G+1 1120 PRINT "YOU HIT ME!!!!" 1130 IF M2=N2 THEN 1190 1140 IF N2=0 AND N1=0 THEN 1190 1150 IF B(N2)<1 THEN 1190 1160 B(N2)=B(N2)-1 1170 G=G+1 1180 PRINT "YOU HIT ME!!!!" 1190 PRINT "YOUR MOVE IS COMPLETED." 1200 GOSUB 7460 1210 GOTO 1230 1220 PRINT "YOUR ROLL IS ";D1;"AND ";D2;" BUT YOU CAN NOT MOVE!!" 1230 GOSUB 6440 1240 GOTO 1290 1250 REM COMPUTER MOVE DETERMINATION ****** 1260 C1=X 1270 C2=Y 1280 GOTO 1330 1290 S1=0: S2=S1: T1=S2: T2=T1 1300 FOR I=1 TO 10:S(I)=0:NEXT I 1310 C1=INT((RND(1)*6)+1) 1320 C2=INT((RND(1)*6)+1) 1330 GOSUB 6100  1340 PRINT "MY ROLL IS ";C1;"AND ";C2 1350 IF G>0 THEN 5630 1360 IF L6=1 THEN 6760 1370 IF C1=C2 THEN 4200 1380 IF C11 THEN 1480 1460 IF B(I-C1)>1 THEN 1480 1470 IF A(I-C1)<2 THEN 1530 1480 NEXT I 1490 I1=I1-1 1500 IF I1=2 THEN 1650 1510 IF I1=0 THEN 5170 1520 GOTO 1440 1530 IF B(I+(C2-C1))<1 THEN 1480 1540 IF A(I-C1)=0 THEN 1580 1550 PRINT "I GOT YOU." 1560 A(I-C1)=A(I-C1)-1 1570 H1=H1+1 1580 B(I)=B(I)-1 1590 B(I-C1)=B(I-C1)+2 1600 B(I+(C2-C1))=B(I+(C2-C1))-1 1610 S1=I 1620 S2=I-C1: T2=S2 1630 T1=I+(C2-C1) 1640 GOTO 2450 1650 L5=13 1660 FOR I=24 TO L5 STEP -1 1670 IF B(I)<1 THEN 1780 1680 IF C1=0 THEN 1700 1690 IF A(I-C1)=1 THEN 1840 1700 IF C2=0 THEN 1780 1710 IF A(I-C2)=1 THEN 1970 1720 IF I-C1-C2<1 THEN 1740 1730 IF A(I-C1-C2)<>1 THEN 1780 1740 IF A(I-C1)>1 THEN 1760 1750 GOTO 2130 1760 IF A(I-C2)>1 THEN 1780 1770 GOTO 2100 1780 NEXT I 1790 IF L5<>13 OR C2=0 THEN 1810 1800 L5=C2+1 1810 IF I1=2 THEN 3030 1820 IF I1=1 AND C1<>0 AND C2<>0 THEN 1440 1830 GOTO 5170 1840 B(I-C1)=B(I-C1)+1 1850 B(I)=B(I)-1 1860 A(I-C1)=A(I-C1)-1 1870 H1=H1+1 1880 PRINT "I TOOK YOUR CHIP AT ";I-C1 1890 L5=C2+1 1900 S1=I 1910 S2=I-C1 1920 C1=0 1930 GOSUB 6100 1940 IF L6=1 THEN 6760 1950 IF C2=0 THEN 2450 1960 GOTO 1670 1970 B(I-C2)=B(I-C2)+1 1980 B(I)=B(I)-1 1990 A(I-C2)=A(I-C2)-1 2000 H1=H1+1 2010 PRINT "I TOOK YOUR CHIP AT ";I-C2 2020 L5=C1+1 2030 T1=I 2040 T2=I-C2 2050 C2=0 2060 GOSUB 6100 2070 IF L6=1 THEN 6760 2080 IF C1=0 THEN 2450 2090 GOTO 1670 2100 Z=C2 2110 C2=C1 2120 C1=Z 2130 IF I-C1-C2<1 THEN 1780 2140 B(I-C1-C2)=B(I-C1-C2)+1 2150 B(I)=B(I)-1 2160 A(I-C1-C2)=A(I-C1-C2)-1 2170 H1=H1+1 2180 S1=I 2190 S2=I-C1: T1=S2 2200 T2=I-C1-C2 2210 PRINT "I TOOK YOUR CHIP AT ";I-C1-C2 2220 C1=0: C2=C1 2230 IF C1=0 AND C2=0 THEN 2450 2240 IF C1<>0 AND C2<>0 THEN 3030 2250 IF C2=0 THEN 2290 2260 Z=C2 2270 C2=C1 2280 C1=Z 2290 FOR I=C1+1 TO 24 2300 IF B(I)<1 THEN 2320 2310 IF B(I-C1)>0 THEN 2370 2320 NEXT I 2330 Z=C2 2340 C2=C1 2350 C1=Z 2360 GOTO 3030 2370 B(I)=B(I)-1 2380 B(I-C1)=B(I-C1)+1 2390 IF S1=0 THEN 2430 2400 T1=I 2410 T2=I-C1 2420 GOTO 2450 2430 S1=I 2440 S2=I-C1 2450 REM COMPUTER MOVE PRINTOUT ***** 2460 IF S1<>T2 THEN 2530 2470 Z1=S1 2480 Z2=S2 2490 S1=T1 2500 S2=T2 2510 T1=Z1 2520 T2=Z2 2530 PRINT "MY MOVE IS ";S1;",";S2;"AND";T1;",";T2 2540 PRINT "STATUS :" 2550 GOSUB 2570 2560 GOTO 720 2570 REM PRINTOUT ****** 2580 F2=24 2590 P=13 2600 V=-1 2610 PRINT 2620 REM 2630 PRINT " 24 23 22 21 20 19 18 17 16 15 14 13" 2640 PRINT " ....................................." 2650 PRINT TAB(0); 2660 FOR H2=F2 TO P STEP V 2670 IF A(H2)<1 THEN 2710 2680 PRINT USING "###";A(H2); 2690 REM **** IMAGE #,SDX 2700 GOTO 2760 2710 IF B(H2)<1 THEN 2740 2720 PRINT USING "###";-B(H2); 2730 GOTO 2760 2740 PRINT USING "###";0; 2750 REM **** IMAGE #,XDX 2760 IF H2=19 THEN 2790 2770 IF H2=6 THEN 2790 2780 GOTO 2800 2790 PRINT TAB(20); 2800 NEXT H2: PRINT 2810 IF H2=13 THEN 2890 2820 PRINT 2830 PRINT TAB(16);B$;: PRINT USING "# +#";G,H1: PRINT 2840 REM **** IMAGE X,A,DX,SD 2850 V=1 2860 P=12 2870 F2=1 2880 GOTO 2650 2890 PRINT " ....................................." 2900 PRINT " 1 2 3 4 5 6 7 8 9 10 11 12": PRINT 2910 GOTO 3010:REM **** PRINT LIN(-2) 2920 ENTER 5,R1,D5 2930 GOTO D5+1 OF 3010,2940,7460 2940 PRINT "THE DOUBLING CUBE IS AT "; 2950 IF D9<0 THEN 2990 2960 PRINT D9;". YOU MAY DOUBLE IF YOU WISH." 2970 D5=0 2980 GOTO 2920 2990 PRINT -D9;"IT IS MY TURN TO DOUBLE." 3000 D5=0 3010 GOSUB 6100 3020 RETURN 3030 REM SAFE MOVE ****** 3040 FOR I=24 TO L5 STEP -1 3050 IF B(I)<1 THEN 3190 3060 IF C1=0 OR C2=0 THEN 3100 3070 IF I-C1-C2<1 THEN 3100 3080 IF B(I-C1-C2)>0 AND A(I-C1)<1 THEN 3250 3090 IF B(I-C1-C2)>0 AND A(I-C2)<1 THEN 3450 3100 IF C1=0 THEN 3130 3110 IF B(I-C1)>0 THEN 3220 3120 IF C2=0 THEN 3190 3130 IF B(I-C2)>0 THEN 3420 3140 IF A(I-C1)>0 THEN 3180 3150 IF I-C1-C2<1 THEN 3190 3160 IF B(I-C1-C2)<1 THEN 3190 3170 GOTO 3250 3180 IF A(I-C2)<1 AND B(I-C1-C2)>1 THEN 3450 3190 NEXT I 3200 I1=I1-1 3210 GOTO 1660 3220 IF C2=0 THEN 3310 3230 IF I-C1-C2<1 THEN 3190 3240 IF B(I-C1-C2)<1 THEN 3310 3250 B(I-C1-C2)=B(I-C1-C2)+1 3260 B(I)=B(I)-1 3270 S1=I 3280 S2=I-C1: T2=S2 3290 T1=I-C1-C2 3300 GOTO 2450 3310 B(I)=B(I)-1 3320 B(I-C1)=B(I-C1)+1 3330 S1=I 3340 S2=I-C1 3350 C1=0 3360 GOSUB 6100 3370 IF L6=1 THEN 6760 3380 L5=C2+1 3390 IF C2=0 THEN 2450 3400 IF B(I)>0 THEN 3130 3410 GOTO 3190 3420 IF C1=0 THEN 3510 3430 IF I-C1-C2<1 THEN 3510 3440 IF B(I-C1-C2)<1 THEN 3510 3450 B(I-C1-C2)=B(I-C1-C2)+1 3460 B(I)=B(I)-1 3470 S1=I 3480 S2=I-C2: T1=S2 3490 T2=I-C1-C2 3500 GOTO 2450 3510 B(I)=B(I)-1 3520 B(I-C2)=B(I-C2)+1 3530 T1=I 3540 T2=I-C2 3550 C2=0 3560 GOSUB 6100 3570 IF L6=1 THEN 6760 3580 L5=C1+1 3590 IF C1=0 THEN 2450 3600 GOTO 3190 3610 REM PLAYER DOUBLES ****** 3620 INPUT M1,M2,M3,M4,M5,M6,M7,M8 3630 IF L7=1 THEN 3750 3640 IF M1=0 AND M2=0 THEN 3680 3650 IF M2-M1=D1 THEN 3680 3660 PRINT "NICE TRY. NEXT TIME, I WILL LOAD THE DICE. REINPUT!!!!"; 3670 GOTO 3620 3680 IF M3=0 AND M4=0 THEN 3700 3690 IF M4-M3<>D1 THEN 3660 3700 IF M5=0 AND M6=0 THEN 3720 3710 IF M6-M5<>D1 THEN 3660 3720 IF M7=0 AND M8=0 THEN 3740 3730 IF M8-M7<>D1 THEN 3660 3740 IF B(M2)>1 OR B(M4)>1 OR B(M6)>1 OR B(M8)>1 THEN 3660 3750 IF M1=0 AND M2=0 THEN 3820 3760 IF M1<1 THEN 3790 3770 IF A(M1)<1 THEN 3660 3780 A(M1)=A(M1)-1 3790 A(M2)=A(M2)+1 3800 IF M1>0 THEN 3820 3810 H1=H1-1 3820 IF M3=0 AND M4=0 THEN 3890 3830 IF M3<1 THEN 3860 3840 IF A(M3)<1 THEN 3660 3850 A(M3)=A(M3)-1 3860 A(M4)=A(M4)+1 3870 IF M3>0 THEN 3890 3880 H1=H1-1 3890 IF M5=0 AND M6=0 THEN 3960 3900 IF M5<1 THEN 3930 3910 IF A(M5)<1 THEN 3660 3920 A(M5)=A(M5)-1 3930 A(M6)=A(M6)+1 3940 IF M5>0 THEN 3960 3950 H1=H1-1 3960 IF M7=0 AND M8=0 THEN 4030 3970 IF M7<1 THEN 4000 3980 IF A(M7)<1 THEN 3660 3990 A(M7)=A(M7)-1 4000 A(M8)=A(M8)+1 4010 IF M7>0 THEN 4030 4020 H1=H1-1 4030 IF B(M2)<>1 THEN 4070 4040 B(M2)=B(M2)-1 4050 G=G+1 4060 PRINT "YOU HIT ME !!!!" 4070 IF B(M4)<>1 THEN 4110 4080 B(M4)=B(M4)-1 4090 G=G+1 4100 PRINT "YOU HIT ME !!!!" 4110 IF B(M6)<>1 THEN 4150 4120 B(M6)=B(M6)-1 4130 G=G+1 4140 PRINT "YOU HIT ME !!!!" 4150 IF B(M8)<>1 THEN 4190 4160 B(M8)=B(M8)-1 4170 G=G+1 4180 PRINT "YOU HIT ME !!!!" 4190 GOTO 1190 4200 REM COMPUTER DOUBLES ****** 4210 X3=0: L=X3 4220 FOR I=1 TO 10:S(I)=0:NEXT I 4230 C3=C1: C4=C3 4240 L5=C1+1 4250 FOR I=L5 TO 24 4260 IF B(I)<2 THEN 4750 4270 IF A(I-C1)>1 THEN 4750 4280 IF I-(2*C1)<1 THEN 4340 4290 IF A(I-(2*C1))<>1 THEN 4340 4300 C1=2*C1 4310 H=I 4320 X3=1 4330 GOTO 4420 4340 IF B(I-C1)>1 THEN 4770 4350 IF B(I)-2=1 THEN 4770 4360 X4=I+1 4370 FOR H=24 TO X4 STEP -1 4380 X5=0 4390 IF B(H)<2 THEN 4700 4400 IF A(H-C1)>1 THEN 4700 4410 IF A(H-C1)=0 THEN 4450 4420 PRINT "I HIT YOUR CHIP AT POINT ";H-C1 4430 H1=H1+1 4440 A(H-C1)=0 4450 IF X3<>1 THEN 4470 4460 C1=C1/2 4470 S(2)=H-C1: S(4)=S(2) 4480 S(1)=H: S(3)=S(1) 4490 B(H)=B(H)-2 4500 IF X3<>1 THEN 4520 4510 C1=C2*2 4520 B(H-C1)=B(H-C1)+2 4530 IF X3<>1 THEN 4570 4540 C1=C1/2 4550 I=H-C1 4560 GOTO 4640 4570 X5=-1 4580 B(I)=B(I)-2 4590 B(I-C1)=B(I-C1)+2 4600 IF A(I-C1)=0 THEN 4640 4610 PRINT "I HIT YOUR CHIP AT POINT ";I-C1 4620 H1=H1+1 4630 A(I-C1)=0 4640 S(5)=I: S(7)=S(5) 4650 S(6)=I-C1: S(8)=S(6) 4660 IF X5<>-1 THEN 4680 4670 C3=0: C4=C3 4680 C1=0: C2=C1 4690 GOTO 4800 4700 NEXT H 4710 IF X4<>I+1 THEN 4580 4720 X4=C4+1 4730 GOTO 4700 4740 GOTO 4580 4750 NEXT I 4760 GOTO 4800 4770 IF L>0 THEN 4360 4780 L=L+1 4790 GOTO 4750 4800 REM COMPUTER DOUBLES SAFE MOVE ****** 4810 IF C1=0 AND C2=0 AND C3=0 AND C4=0 THEN 5030 4820 IF C1<>0 AND C2<>0 AND C3<>0 AND C4<>0 THEN 4850 4830 F1=2: F=F1 4840 GOTO 4870 4850 F1=4: F=F1 4860 L5=C4+1 4870 FOR I=24 TO L5 STEP -1 4880 IF B(I)<1 THEN 5020 4890 IF A(I-C4)>1 THEN 5020 4900 IF A(I-C4)=0 THEN 4940 4910 PRINT "I HIT YOUR CHIP AT POINT ";I-C4 4920 H1=H1+1 4930 A(I-C4)=0 4940 B(I-C4)=B(I-C4)+1 4950 B(I)=B(I)-1 4960 S((2*F)-1)=I 4970 S(2*F)=I-C4 4980 F=F-1 4990 IF F<>0 AND B(I)<>0 THEN 4940 5000 IF F<>0 AND B(I)=0 THEN 5020 5010 GOTO 5030 5020 NEXT I 5030 FOR I=1 TO 5 STEP 2 5040 IF S(I+1)>=S(I+3) THEN 5120 5050 Z3=S(I+2) 5060 Z4=S(I+3) 5070 S(I+2)=S(I) 5080 S(I+3)=S(I+1) 5090 S(I)=Z3 5100 S(I+1)=Z4 5110 GOTO 5030 5120 NEXT I 5130 PRINT "MY MOVE IS";S(1);",";S(2);"AND";S(3);",";S(4); 5140 PRINT "AND";S(5);",";S(6);"AND";S(7);",";S(8) 5150 GOSUB 6100 5160 GOTO 2540 5170 REM COMPUTER FARTHEST MOVE ****** 5180 C9=0 5190 IF C2=0 THEN 5220 5200 L5=C2+1 5210 GOTO 5230 5220 L5=C1+1 5230 X1=1 5240 GOSUB 6100 5250 IF L6=1 THEN 6760 5260 FOR I=24 TO L5 STEP -1 5270 IF B(I)<>X1 THEN 5380 5280 IF C2=0 THEN 5370 5290 IF A(I-C2)>1 THEN 5530 5300 B(I)=B(I)-1 5310 B(I-C2)=B(I-C2)+1 5320 T1=I 5330 T2=I-C2 5340 C2=0 5350 L5=C1+1 5360 IF C1=0 THEN 2450 5370 IF A(I-C1)<1 THEN 5540 5380 NEXT I 5390 IF X1<>1 THEN 5410 5400 X1=16 5410 X1=X1-1 5420 IF X1>0 THEN 5260 5430 IF C1=0 OR C9=1 THEN 5470 5440 C9=1 5450 C2=0 5460 GOTO 5220 5470 IF C1<>0 THEN 5500 5480 S1=0: S2=S1 5490 GOTO 2450 5500 IF C2<>0 THEN 6080 5510 T1=0: T2=T1 5520 GOTO 2450 5530 IF C1=0 OR A(I-C1)>1 THEN 5380 5540 IF B(I)<1 THEN 5380 5550 B(I)=B(I)-1 5560 B(I-C1)=B(I-C1)+1 5570 S1=I 5580 S2=I-C1 5590 C1=0 5600 L5=C2+1 5610 IF C2=0 THEN 2450 5620 GOTO 5270 5630 REM BLOT ****** 5640 I1=1 5650 G1=G 5660 C3=C1 5670 C4=C2 5680 IF A(25-C1)=1 THEN 6000 5690 IF A(25-C2)=1 THEN 6040 5700 IF A(25-C1)<1 AND B(25-C1)>0 THEN 5890 5710 IF A(25-C2)>1 THEN 5870 5720 B(25-C2)=B(25-C2)+1 5730 T1=0 5740 T2=25-C2 5750 L5=C1+1 5760 C2=0 5770 IF C3<>C4 THEN 5800 5780 S(9-(2*(G MAX 2)))=T1 5790 S(10-(2*(G MAX 2)))=T2 5800 G=G-1 5810 IF G=0 AND C3=C4 THEN 5980 5820 IF G=0 AND G1=2 THEN 2460 5830 IF G=0 THEN 1660 5840 IF S(7)=0 OR S(5)=0 THEN 5870 5850 C1=C3 5860 C2=C4 5870 IF C1=0 OR C2=0 THEN 5390 5880 IF A(25-C1)>1 THEN 6080 5890 B(25-C1)=B(25-C1)+1 5900 S1=0 5910 S2=25-C1 5920 L5=C2+1 5930 C1=0 5940 IF C3<>C4 THEN 5800 5950 S(9-(2*(G MAX 2)))=S1 5960 S(10-(2*(G MAX 2)))=S2 5970 GOTO 5800 5980 F1=4-G1: F=F1 5990 GOTO 4870 6000 PRINT "I HIT YOU." 6010 A(25-C1)=0 6020 H1=H1+1 6030 GOTO 5890 6040 PRINT "I HIT YOU." 6050 A(25-C2)=0 6060 H1=H1+1 6070 GOTO 5720 6080 PRINT "I CAN NOT MOVE." 6090 GOTO 2540 6100 REM COMPUTER HOME ****** 6110 G8=0 6120 FOR J=7 TO 24 6130 G8=G8+B(J) 6140 NEXT J 6150 IF G8<>0 THEN 6240 6160 G8=0 6170 FOR J=1 TO 6 6180 G8=G8+B(J) 6190 NEXT J 6200 IF G8=0 THEN 6260 6210 L5=-1 6220 L6=1 6230 GOTO 6250 6240 L6=0 6250 RETURN 6260 PRINT "I WON." 6270 IF G7<>0 AND G8<>0 THEN 6380 6280 J1=A(1)+A(2)+A(3)+A(4)+A(5)+A(6) 6290 IF A(7)+A(8)+A(9)+A(10)+A(11)+A(12)+A(13)+A(14)+A(15)+A(16)+A(17)+A(18)=0 THEN 6310 6300 M$="GAMMONED." 6310 IF J1=0 THEN 6330 6320 M$="BACKGAMMONED." 6330 IF LEFT$(M$,1)<>"G" THEN 6350 6340 D9=D9*2: GOTO 6370 6350 IF LEFT$(M$,1)<>"B" THEN 6380 6360 D9=D9*3 6370 PRINT "YOU WERE ";M$ 6380 PRINT "YOU HAVE LOST ";ABS(D9);"POINTS. I'LL REMEMBER THAT." 6390 PRINT #1,D7;D4+ABS(D9) 6400 PRINT "CARE FOR A REMATCH "; 6410 INPUT A$ 6420 IF LEFT$(A$,1)="Y" THEN 100 6430 STOP 6440 REM PLAYER WIN SUBROUTINE ****** 6450 G7=H1 6460 FOR J=1 TO 18 6470 G7=G7+A(J) 6480 NEXT J 6490 IF G7<>0 THEN 6570 6500 G7=0 6510 FOR J=24 TO 19 STEP -1 6520 G7=G7+A(J) 6530 NEXT J 6540 IF G7=0 THEN 6590 6550 L7=1 6560 GOTO 6580 6570 L7=0 6580 RETURN 6590 PRINT "YOU WON." 6600 IF G7<>0 AND G8<>0 THEN 6710 6610 J2=B(24)+B(23)+B(22)+B(21)+B(20)+B(19) 6620 IF B(18)+B(17)+B(16)+B(15)+B(14)+B(13)+B(12)+B(11)+B(10)+B(9)+B(8)+B(7)=0 THEN 6640 6630 M$="GAMMONED." 6640 IF J2=0 THEN 6660 6650 M$="BACKGAMMONED." 6660 IF LEFT$(M$,1)<>"G" THEN 6680 6670 D9=D9*2: GOTO 6710 6680 IF LEFT$(M$,1)<>"B" THEN 6710 6690 D9=D9*3 6700 PRINT "I WAS ";M$ 6710 PRINT "I HAVE LOST ";ABS(D9);"POINTS. " 6720 PRINT #1,D7;D4-ABS(D9) 6730 PRINT "GOOD BYE." 6740 REM **** PRINT LIN(-5) 6750 STOP 6760 REM COMPUTER FINISH ****** 6770 I2=9 6780 H3=1: F3=H3 6790 C3=0: C4=C3 6800 IF C1<>C2 THEN 6830 6810 C3=C1 6820 C4=C2 6830 C7=C1 6840 C8=C2 6850 FOR I=6 TO 1 STEP -1 6860 IF I=C1 AND B(I)>= I2 THEN 7230 6870 IF I=C2 AND B(I)>= I2 THEN 7050 6880 IF I=C3 AND B(I)>= I2 THEN 7360 6890 IF I=C4 AND B(I)>= I2 THEN 7380 6900 NEXT I 6910 I2=I2-1 6920 IF I2<>0 THEN 6850 6930 IF C1=0 THEN 6950 6940 C1=C1+H3 6950 IF C2=0 THEN 6970 6960 C2=C2+H3 6970 IF C3=0 THEN 6990 6980 C3=C3+H3 6990 IF C4=0 THEN 7010 7000 C4=C4+H3 7010 IF C1<>7 AND C2<>7 AND C3<>7 AND C4<>7 THEN 7030 7020 H3=-1 7030 I2=9 7040 GOTO 6850 7050 S(F3)=I: T1=S(F3) 7060 IF I-C8<1 THEN 7150 7070 IF A(I-C8)>1 THEN 6900 7080 IF A(I-C8)<1 THEN 7120 7090 PRINT "I TOOK YOUR CHIP AT ";I-C8 7100 H1=H1+1 7110 A(I-C8)=A(I-C8)-1 7120 B(I-C8)=B(I-C8)+1 7130 T2=I-C8: S(F3+1)=T2 7140 GOTO 7160 7150 T2=-1: S(F3+1)=T2 7160 C2=0 7170 B(I)=B(I)-1 7180 GOSUB 6100 7190 IF C1=0 AND C2=0 AND C3=0 AND C4=0 AND C7=C8 THEN 5030 7200 IF C1=0 AND C2=0 AND C3=0 AND C4=0 THEN 2460 7210 F3=F3+2 7220 GOTO 6870 7230 S1=I: S(F3)=S1 7240 IF I-C7<1 THEN 7330 7250 IF A(I-C7)>1 THEN 6900 7260 IF A(I-C7)<1 THEN 7300 7270 PRINT "I TOOK YOUR CHIP AT ";I-C7 7280 H1=H1+1 7290 A(I-C7)=A(I-C7)-1 7300 B(I-C7)=B(I-C7)+1 7310 S2=I-C7: S(F3+1)=S2 7320 GOTO 7340 7330 S2=-1: S(F3+1)=S2 7340 C1=0 7350 GOTO 7170 7360 A=1 7370 GOTO 7390 7380 A=2 7390 Z5=C3 7400 C3=C1 7410 C1=Z5 7420 Z6=C4 7430 C4=C2 7440 C2=Z6 7450 GOTO A OF 7230,7050 7460 REM DOUBLES EVALUATION ****** 7470 IF ABS(D9)>=64 THEN 7720 7480 U1=0: U2=0 7490 FOR R2=1 TO 5 7500 R7=0: R8=0 7510 READ R3,R5,R6 7520 FOR R4=R3 TO R5 7530 R7=B(R4)+R7 7540 R8=A(R4)+R8 7550 NEXT R4 7560 U1=U1+(R6*R7) 7570 U2=U2+((3-R6)*R8) 7580 NEXT R2 7590 DATA 1,6,.5,7,12,1,13,15,1.5,16,19,2,20,24,2.5 7600 RESTORE 7610 IF U1<=U2 AND D9>0 AND D5=2 THEN 7690 7620 IF U1<=U2 AND D5<>2 AND D9<0 THEN 7660 7630 IF D5<>2 THEN 7720 7640 PRINT "I REFUSE TO DOUBLE THE STAKES."  7650 GOTO 6590 7660 PRINT "CARE TO DOUBLE THE STAKES "; 7670 INPUT R$ 7680 IF R$(1,1)<>"Y" THEN 6260 7690 D9=D9*2 7700 PRINT "FINE." 7710 D5=0 7720 RETURN 7730 END  STAKES "; 7670 INPUT R$ 7680 IF R$(1,1)<>"Y" THEN 6260 7690 D9=D9*2 7700 PRI A(I-C7)=A(I-C7)-1 7300 B(I-C7)=B(I-C7)+1 7310 S2=I-C7: S(F3+1)=S2 7320 GOTO 7340 7330 S2=-1: S(F3+1)=S2 7340 C1=0 7350 GOTO 7170 7360 A=1 7370 GOTO 7390 7380 A=2 7390 Z5=C3 7400 C3=C1 7410 C1=Z5 7420 Z6=C4 7430 C4=C2 7440 C2=Z6 7450 GOTO A OF 7230,7050 7460 REM DOUBLES EVALUATION ****** 7470 IF ABS(D9)>=64 THEN 7720 7480 U1=0: U2=0 7490 FOR R2=1 TO 5 7500 R7=0: R8=0 7510 READ R3,R5,R6 7520 FOR R4=R3 TO R5 7530 R7=B(R4)+R7 7540 R8=A(R4)+R8 7550 NEXT R4 7560 U1=U1+(R6*R7) 7570 U2=U2+((3-R6)*R8) 7580 NEXT R2 7590 DATA 1,6,.5,7,12,1,13,15,1.5,16,19,2,20,24,2.5 7600 RESTORE 7610 IF U1<=U2 AND D9>0 AND D5=2 THEN 7690 7620 IF U1<=U2 AND D5<>2 AND D9<0 THEN 7660 7630 IF D5<>2 THEN 7720 7640 PRINT "I REFUSE TO DOUBLE THE STAKES." 0 RANDOMIZE 1 PRINT CHR$(26);TAB(34);"GOLF":PRINT 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 3 PRINT:PRINT:PRINT 4 PRINT "WELCOME TO THE CREATIVE COMPUTING COUNTRY CLUB," 5 PRINT "AN EIGHTEEN HOLE CHAMPIONSHIP LAYOUT LOCATED A SHORT" 6 PRINT "DISTANCE FROM SCENIC DOWNTOWN MORRISTOWN. THE" 7 PRINT "COMMENTATOR WILL EXPLAIN THE GAME AS YOU PLAY.":PRINT 8 PRINT "ENJOY YOUR GAME; SEE YOU AT THE 19TH HOLE..." 9 PRINT:PRINT: DIM L(10) 10 G1=18 20 G2=0 30 G3=0 40 A=0 50 N=.8 60 S2=0 70 F=1 80 PRINT "WHAT IS YOUR HANDICAP"; 90 INPUT H:PRINT 100 IF H>30 THEN 470 110 IF H<0 THEN 470 120 PRINT "DIFFICULTIES AT GOLF INCLUDE:" 130 PRINT "0=HOOK, 1=SLICE, 2=POOR DISTANCE, 4=TRAP SHOTS, 5=PUTTING" 140 PRINT "WHICH ONE (ONLY ONE) IS YOUR WORST"; 150 INPUT T:PRINT 160 IF T>5 THEN 120 170 S1=0 210 REM 230 L(0)=0 240 J=0 245 Q=0 250 S2=S2+1 260 K=0 270 IF F=1 THEN 310 290 PRINT "YOUR SCORE ON HOLE";F-1;"WAS";S1;CHR$(8);"." 291 GOTO 1750 292 IF S1>P+2 THEN 297 293 IF S1=P THEN 299 294 IF S1=P-1 THEN 301 295 IF S1=P-2 THEN 303 296 GOTO 310 297 PRINT "KEEP YOUR HEAD DOWN." 298 GOTO 310 299 PRINT "A PAR. NICE GOING." 300 GOTO 310 301 PRINT "A BIRDIE." 302 GOTO 310 303 IF P=3 THEN 306 304 PRINT "A GREAT BIG EAGLE." 305 GOTO 310 306 PRINT "A HOLE IN ONE." 310 IF F=19 THEN 1710 315 S1=0 316 PRINT 320 IF S1=0 THEN 1590 330 IF L(0)<1 THEN 1150 340 X=0 350 IF L(0)>5 THEN 1190 360 PRINT "SHOT WENT";D1;"YARDS. IT'S";D2;"YARDS FROM THE CUP." 362 PRINT "BALL IS";INT(O);"YARDS OFF LINE... IN "; 380 GOSUB 400 390 GOTO 620 400 IF L(X)=1 THEN 480 410 IF L(X)=2 THEN 500 420 IF L(X)=3 THEN 520 430 IF L(X)=4 THEN 540 440 IF L(X)=5 THEN 560 450 IF L(X)=6 THEN 580 460 PRINT "OUT OF BOUNDS." 465 GOTO 1690 470 PRINT "PGA HANDICAPS RANGE FROM 0 TO 30." 472 GOTO 80 480 PRINT "FAIRWAY." 490 GOTO 1690 500 PRINT "ROUGH." 510 GOTO 1690 520 PRINT "TREES." 530 GOTO 1690 540 PRINT "ADJACENT FAIRWAY." 550 GOTO 1690 560 PRINT "TRAP." 570 GOTO 1690 580 PRINT "WATER." 590 GOTO 1690 620 IF A=1 THEN 629 621 PRINT:PRINT "SELECTION OF CLUBS":PRINT "==================" 622 PRINT "YARDAGE DESIRED SUGGESTED CLUBS": PRINT "--------------- ---------------" 623 PRINT "200 TO 280 YARDS 1 TO 4" 624 PRINT "100 TO 200 YARDS 19 TO 13" 625 PRINT " 0 TO 100 YARDS 29 TO 23":PRINT 626 A=1 629 PRINT "WHAT CLUB DO YOU CHOOSE"; 630 INPUT C 632 PRINT 635 IF C<1 THEN 690 637 IF C>29 THEN 690 640 IF C>4 THEN 710 650 IF L(0)<=5 THEN 740 660 IF C=14 THEN 740 665 IF C=23 THEN 740 670 GOTO 690 680 S1=S1-1 690 PRINT "THAT CLUB IS NOT IN THE BAG." 693 PRINT 700 GOTO 620 710 IF C<12 THEN 690 720 C=C-6 730 GOTO 650 740 S1=S1+1 741 W=1 742 IF C>13 THEN 960 746 IF INT(F/3)=F/3 THEN 952 752 IF C<4 THEN 756 754 GOTO 760 756 IF L(0)=2 THEN 862 760 IF S1>7 THEN 867 770 D1=INT(((30-H)*2.5+187-((30-H)*.25+15)*C/2)+25*RND(1)) 780 D1=INT(D1*W) 800 IF T=2 THEN 1170 830 O=(RND(1)/.8)*(2*H+16)*ABS(TAN(D1*.0035)) 840 D2=INT(SQR(O^2+ABS(D-D1)^2)) 850 IF D-D1<0 THEN 870 860 GOTO 890 862 PRINT "YOU DUBBED IT." 864 D1=35 866 GOTO 830 867 IF D<200 THEN 1300 868 GOTO 770 870 IF D2<20 THEN 890 880 PRINT "TOO MUCH CLUB. YOU'RE PAST THE HOLE." 890 B=D 900 D=D2 910 IF D2>27 THEN 1020 920 IF D2>20 THEN 1100 930 IF D2>.5 THEN 1120 940 L(0)=9 950 GOTO 1470 952 IF S2+Q+(10*(F-1)/18)<(F-1)*(72+((H+1)/.85))/18 THEN 956 954 GOTO 752 956 Q=Q+1 957 IF S1/2<>INT(S1/2) THEN 1011 958 GOTO 862 960 PRINT "NOW GAUGE YOUR DISTANCE BY A PERCENTAGE (1 TO 100)" 961 PRINT "OF A FULL SWING"; 970 INPUT W: W=W/100 972 PRINT 980 IF W>1 THEN 680 985 IF L(0)=5 THEN 1280 990 IF C=14 THEN 760 1000 C=C-10 1010 GOTO 760 1011 IF D<95 THEN 862 1012 PRINT "BALL HIT TREE - BOUNCED INTO ROUGH";D-75;"YARDS FROM HOLE." 1014 D=D-75 1018 GOTO 620 1020 IF O<30 THEN 1150 1022 IF J>0 THEN 1150 1030 IF T>0 THEN 1070 1035 S9=(S2+1)/15 1036 IF INT(S9)=S9 THEN 1075 1040 PRINT "YOU HOOKED- "; 1050 L(0)=L(2) 1055 IF O>45 THEN 1092 1060 GOTO 320 1070 S9=(S2+1)/15 1071 IF INT(S9)=S9 THEN 1040 1075 PRINT "YOU SLICED- "; 1080 L(0)=L(1) 1090 GOTO 1055 1092 PRINT "BADLY." 1094 GOTO 320 1100 L(0)=5 1110 GOTO 320 1120 L(0)=8 1130 D2=INT(D2*3) 1140 GOTO 1380 1150 L(0)=1 1160 GOTO 320 1170 D1=INT(.85*D1) 1180 GOTO 830 1190 IF L(0)>6 THEN 1260 1200 PRINT "YOUR SHOT WENT INTO THE WATER." 1210 S1=S1+1 1220 PRINT "PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION." 1230 J=J+1 1240 L(0)=1 1242 D=B 1250 GOTO 620 1260 PRINT "YOUR SHOT WENT OUT OF BOUNDS." 1270 GOTO 1210 1280 IF T=3 THEN 1320 1300 D2=1+(3*INT((80/(40-H))*RND(1))) 1310 GOTO 1380 1320 IF RND(1)>N THEN 1360 1330 N=N*.2 1340 PRINT "SHOT DUBBED, STILL IN TRAP." 1350 GOTO 620 1360 N=.8 1370 GOTO 1300 1380 PRINT "ON GREEN,";D2;"FEET FROM THE PIN." 1381 PRINT "CHOOSE YOUR PUTT POTENCY (1 TO 13):"; 1400 INPUT I 1410 S1=S1+1 1420 IF S1+1-P>(H*.072)+2 THEN 1470 1425 IF K>2 THEN 1470 1428 K=K+1 1430 IF T=4 THEN 1530 1440 D2=D2-I*(4+2*RND(1))+1.5 1450 IF D2<-2 THEN 1560 1460 IF D2>2 THEN 1500 1470 PRINT "YOU HOLED IT." 1472 PRINT 1480 F=F+1 1490 GOTO 230 1500 PRINT "PUTT SHORT." 1505 D2=INT(D2) 1510 GOTO 1380 1530 D2=D2-I*(4+1*RND(1))+1 1550 GOTO 1450 1560 PRINT "PASSED BY CUP." 1570 D2=-D2 1580 GOTO 1505 1590 READ D,P,L(1),L(2) 1595 PRINT 1600 PRINT "YOU ARE AT THE TEE OF HOLE NUMBER";F;"-- PAR";P;CHR$(8); ",";D;"YARDS." 1605 G3=G3+P 1620 PRINT "ON YOUR RIGHT IS "; 1630 X=1 1640 GOSUB 400 1650 PRINT "ON YOUR LEFT IS "; 1660 X=2 1670 GOSUB 400 1680 GOTO 620 1690 RETURN 1700 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2 1702 DATA 408,4,2,4,359,4,6,4,424,4,4,2,388,4,4,4 1704 DATA 196,3,7,2,400,4,7,2,560,5,7,2,132,3,2,2 1706 DATA 357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2 1708 DATA 180,3,6,2,550,5,6,6 1710 PRINT 1750 G2=G2+S1 1760 PRINT "TOTAL PAR FOR";F-1;"HOLES IS";G3;CHR$(8); ". YOUR TOTAL IS";G2; 1761 IF G3=G2 THEN PRINT "( EVEN PAR )." 1762 IF G3>G2 THEN PRINT "(";(G3-G2);"UNDER PAR )." 1763 IF G3G2 THEN P0 RANDOMIZE 1 PRINT CHR$(26):WIDTH 80 2 PRINT TAB(33);"GOMOKO":PRINT 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT:PRINT:PRINT 8 DIM A(19,19) 10 PRINT "WELCOME TO THE ORIENTAL GAME OF GOMOKO." 20 PRINT: PRINT "THE GAME IS PLAYED ON AN N BY N GRID OF A SIZE" 30 PRINT "THAT YOU SPECIFY. DURING YOUR PLAY, YOU MAY COVER ONE GRID" 40 PRINT "INTERSECTION WITH A MARKER. THE OBJECT OF THE GAME IS TO GET" 50 PRINT "5 ADJACENT MARKERS IN A ROW -- HORIZONTALLY, VERTICALLY, OR" 60 PRINT "DIAGONALLY. ON THE BOARD DIAGRAM, YOUR MOVES ARE MARKED" 70 PRINT "WITH A '1' AND THE COMPUTER MOVES WITH A '2'." 80 PRINT: PRINT "THE COMPUTER DOES NOT KEEP TRACK OF WHO HAS WON." 90 PRINT "TO END THE GAME, TYPE -1,-1 FOR YOUR MOVE.": PRINT 110 PRINT "WHAT IS YOUR BOARD SIZE (MIN 7/ MAX 19)";: INPUT N 115 IF N>6 THEN 117 116 GOTO 120 117 IF N<20 THEN 210 120 PRINT "I SAID, THE MINIMUM IS 7, THE MAXIMUM IS 19.": GOTO 110 210 FOR I=1 TO N:FOR J=1 TO N: A(I,J)=0: NEXT J: NEXT I 300 PRINT: PRINT "WE ALTERNATE MOVES. YOU GO FIRST...": PRINT 310 PRINT "YOUR PLAY (I,J)";: INPUT I,J 315 PRINT 320 IF I=-1 THEN 980 330 X=I: Y=J: GOSUB 910: IF L=1 THEN 410 340 PRINT "ILLEGAL MOVE. TRY AGAIN...": GOTO 310 410 IF A(I,J)=0 THEN 440 420 PRINT "SQUARE OCCUPIED. TRY AGAIN...": GOTO 310 440 A(I,J)=1 500 REM *** COMPUTER TRIES AN INTELLIGENT MOVE *** 510 FOR E=-1 TO 1: FOR F=-1 TO 1: IF E+F-E*F=0 THEN 590 540 X=I+F: Y=J+F: GOSUB 910 570 IF L=0 THEN 590 580 IF A(X,Y)=1 THEN 710 590 NEXT F: NEXT E 600 REM *** COMPUTER TRIES A RANDOM MOVE *** 610 X=INT(N*RND(1)+1): Y=INT(N*RND(1)+1): GOSUB 910: IF L=0 THEN 610 650 IF A(X,Y)<>0 THEN 610 660 A(X,Y)=2: GOSUB 810: GOTO 310 710 X=I-E: Y=J-F: GOSUB 910 750 IF L=0 THEN 610 760 GOTO 650 800 REM *** PRINT THE BOARD *** 810 FOR I=1 TO N: FOR J=1 TO N: PRINT A(I,J); 840 NEXT J: PRINT: NEXT I: PRINT: RETURN 910 L=1: IF X<1 THEN 970 920 IF X>N THEN 970 930 IF Y<1 THEN 970 940 IF Y>N THEN 970 950 RETURN 970 L=0: RETURN 980 PRINT: PRINT "THANKS FOR THE GAME!!" 985 INPUT "PLAY AGAIN ";Q$ 990 IF LEFT$(Q$,1)="Y" THEN 110 999 RUN "MENU" RETURN 980 PRINT: PRINT "THANKS FORI: Y=J: GOSUB 910: IF L=1 THEN 410 340 PRINT "ILLEGAL MOVE. TRY AGAIN...": GOTO 310 410 IF A(I,J)=0 THEN 440 420 PRINT "SQUARE OCCUPIED. TRY AGAIN...": GOTO 310 440 A(I,J)=1 500 REM *** COMPUTER TRIES AN INTELLIGENT MOVE *** 510 FOR E=-1 TO 1: FOR F=-1 TO 1: IF E+F-E*F=0 THEN 590 540 X=I+F: Y=J+F: GOSUB 910 570 IF L=0 THEN 590 580 IF A(X,Y)=1 THEN 710 590 NEXT F: NEXT E 600 REM *** COMPUTER TRIES A RANDOM MOVE *** 610 X=INT(N*RND(1)+1): Y=INT(N*RND(1)+1): GOSUB 910: IF L=0 THEN 610 650 IF A(X,Y)<>0 THEN 610 660 A(X,Y)=2: GOSUB 810: GOTO 310 710 X=I-E: Y=J-F: GOSUB 910 750 IF L=0 THEN 610 760 GOTO 650 800 REM *** PRINT THE BOARD *** 810 FOR I=1 TO N: FOR J=1 TO N: PRINT A(I,J); 840 NEXT J: PRINT: NEXT I: PRINT: RETURN 910 L=1: IF X<1 THEN 970 920 IF X>N THEN 970 930 IF Y<1 THEN 970 940 IF Y>N THEN 970 950 RETURN 970 L=0: RETURN 980 PRINT: PRINT "THANKS FOR0 RANDOMIZE 1 PRINT CHR$(26);TAB(33);"GUESS":PRINT 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 3 PRINT:PRINT:PRINT 4 PRINT "THIS IS A NUMBER GUESSING GAME. I'LL THINK" 5 PRINT "OF A NUMBER BETWEEN 1 AND ANY LIMIT YOU WANT." 6 PRINT "THEN YOU HAVE TO GUESS WHAT IT IS." 7 PRINT:PRINT "ENTER A NEGATIVE NUMBER TO QUIT.":PRINT 8 PRINT "WHAT LIMIT DO YOU WANT"; 9 INPUT L 10 PRINT 11 L1=INT(LOG(L)/LOG(2))+1 12 PRINT "I'M THINKING OF A NUMBER BETWEEN 1 AND";L;CHR$(8);"." 13 G=1 14 PRINT "NOW YOU TRY TO GUESS WHAT IT IS." 15 M=INT(L*RND(1)+1) 20 INPUT N 21 IF N>0 THEN 25 22 GOSUB 70 23 PRINT:INPUT "THANKS FOR THE GAME. DO YOU WANT TO PLAY AGAIN";ANS$: IF LEFT$(ANS$,1)="Y" THEN 1 ELSE PRINT:PRINT "GOODBYE.":PRINT:RUN "MENU" 25 IF N=M THEN 50 30 G=G+1 31 IF N>M THEN 40 32 PRINT "TOO LOW. TRY A BIGGER ANSWER." 33 GOTO 20 40 PRINT "TOO HIGH. TRY A SMALLER ANSWER." 42 GOTO 20 50 PRINT "THAT'S IT! YOU GOT IT IN";G;"TRIES." 52 IF G0 THEN 25 22 GOSUB 70 23 PRINT:INPUT "THANKS FOR THE GAME. DO YOU WANT TO PLAY AGAIN";ANS$: IF LEFT$(ANS$,1)="Y" THEN 1 ELSE PRINT:PRINT "GOODBYE.":PRINT:RUN "MENU" 25 IF N=M THEN 50 30 G=G+1 31 IF N>M THEN 40 32 PRINT "TOO LOW. TRY A BIGGER ANSWER." 33 GOTO 20 40 PRINT "TOO HIGH. TRY A SMALLER ANSWER." 42 GOTO 20 50 PRINT "THAT'S IT! YOU GOT IT IN";G;"TRIES." 52 IF G89 THEN 250 430 IF B<1 THEN 230 440 S=S+1 442 IF S<6 THEN 450 444 PRINT:PRINT "BOOM !!!! YOU HAVE JUST BEEN DESTROYED "; 446 PRINT "BY THE ENEMY." : PRINT : PRINT : PRINT : GOTO 495 450 B2=2*B/57.3 : I=R*SIN(B2) : X=T-I : E=INT(X) 460 IF ABS(E)<100 THEN 320 470 IF E>100 THEN 290 480 GOTO 270 490 PRINT : PRINT : PRINT "TOTAL ROUNDS EXPENDED WERE:";S1 492 IF S1>18 THEN 495 493 PRINT "NICE SHOOTING !!" : GOTO 500 495 PRINT "BETTER GO BACK TO FORT SILL FOR REFRESHER TRAINING!" 500 PRINT : INPUT "TRY AGAIN (Y OR N)";Z$ 510 IF LEFT$(Z$,1)="Y" THEN 170 520 PRINT:PRINT "OK. RETURN TO BASE CAMP.":PRINT 999 RUN "MENU" T "TRYINT " YARDS." 300 GOTO 390 320 PRINT "*** TARGET DESTROYED *** ";S;"ROUNDS OF AMMUNITION EXPENDED." 325 S1=S1+S 330 IF Z=4 1 RANDOMIZE 5 PRINT CHR$(26):WIDTH 80 10 PRINT TAB(32);"HAMURABI":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT:PRINT:PRINT 40 PRINT "TRY YOUR HAND AT GOVERNING ANCIENT SUMERIA" 50 PRINT "FOR A TEN-YEAR TERM OF OFFICE.":PRINT 60 D1=0: P1=0 70 Z=0: P=95:S=2800: H=3000: E=H-S 80 Y=3: A=H/Y: I=5: Q=1 90 D=0 100 PRINT:PRINT:PRINT "HAMURABI: I BEG TO REPORT TO YOU,": Z=Z+1 110 PRINT "IN YEAR";Z;CHR$(8);","; 111 IF D=0 THEN PRINT " NO PEOPLE STARVED AND"; ELSE IF D=1 THEN PRINT "1 PERSON STARVED AND"; ELSE PRINT D;"PEOPLE STARVED AND"; 112 IF I=0 THEN PRINT "NONE CAME TO THE CITY." ELSE IF I=1 THEN PRINT "1 CAME TO THE CITY." ELSE PRINT I;"CAME TO THE CITY." 120 P=P+I 130 IF Q>0 THEN 160 140 P=INT(P/2) 150 PRINT "A HORRIBLE PLAGUE STRUCK! HALF THE PEOPLE DIED." 160 PRINT "SO THE POPULATION IS NOW";P;CHR$(8);"." 170 PRINT "THE CITY NOW OWNS ";:IF A<1000 THEN PRINT USING "###";A; ELSE IF A>=1000 AND A<10000 THEN PRINT USING "#,###";A; ELSE IF A>=10000 THEN PRINT USING "##,###";A; 171 PRINT " ACRES." 180 IF Y=0 THEN PRINT "THE HARVEST DID NOT YIELD ANY GRAIN." ELSE IF Y=1 THEN PRINT "YOU HARVESTED 1 BUSHEL PER ACRE." ELSE PRINT "YOU HARVESTED";Y;"BUSHELS PER ACRE." 190 IF E=0 THEN PRINT "THE RATS DID NOT EAT ANY GRAIN." ELSE PRINT "THE RATS ATE";E;"BUSHELS." 200 PRINT "YOU NOW HAVE ";:IF S<1000 THEN PRINT USING "###";S; ELSE IF S>=1000 AND S<10000 THEN PRINT USING "#,###";S; ELSE IF S>=10000 THEN PRINT USING "##,###";S; 201 PRINT " BUSHELS IN STORE.":PRINT 210 IF Z=11 THEN 970 220 C=INT(10*RND(1)): Y=C+17 230 PRINT "LAND IS TRADING AT";Y;"BUSHELS PER ACRE." 240 PRINT "HOW MANY ACRES DO YOU WISH TO BUY"; 250 INPUT Q: IF Q<0 THEN 940 260 IF Y*Q<=S THEN 290 270 GOSUB 870 280 GOTO 240 290 IF Q=0 THEN 320 300 A=A+Q: S=S-Y*Q: C=0 310 GOTO 380 320 PRINT "HOW MANY ACRES DO YOU WISH TO SELL"; 330 INPUT Q: IF Q<0 THEN 940 340 IF QC/2 THEN 700 680 REM *** RATS ARE RUNNING WILD!! 690 E=INT(S/C) 700 S=S-E+H 710 GOSUB 920 720 REM *** LET'S HAVE SOME BABIES 730 I=INT(C*(20*A+S)/P/100+1) 740 REM *** HOW MANY PEOPLE HAD FULL TUMMIES?  750 C=INT(Q/20) 760 REM *** HORROS, A 15% CHANCE OF PLAGUE 770 Q=INT(10*(2*RND(1)-.3)) 780 IF P.45*P THEN 830 810 P1=((Z-1)*P1+D*100/P)/Z 820 P=C: D1=D1+D: GOTO 100 830 PRINT: PRINT "YOU STARVED";D;"PEOPLE IN ONE YEAR!!!" 840 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY" 850 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU HAVE" 860 PRINT "ALSO BEEN DECLARED NATIONAL FINK!!!!": GOTO 1170 870 PRINT "HAMURABI: THINK AGAIN. YOU HAVE ONLY" 880 PRINT S;"BUSHELS OF GRAIN. NOW THEN," 890 RETURN 900 PRINT "HAMURABI: THINK AGAIN. YOU OWN ONLY";A;"ACRES. NOW THEN," 910 RETURN 920 C=INT(RND(1)*5)+1 930 RETURN 940 PRINT: PRINT "HAMURABI: I CANNOT DO WHAT YOU WISH." 950 PRINT "GET YOURSELF ANOTHER STEWARD!!!!!" 960 GOTO 1170 970 PRINT "IN YOUR 10-YEAR TERM OF OFFICE,";P1;"PERCENT OF THE" 980 PRINT "POPULATION STARVED PER YEAR ON THE AVERAGE, I.E. A TOTAL OF" 990 PRINT D1;"PEOPLE DIED!!": L=A/P 1000 PRINT "YOU STARTED WITH 10 ACRES PER PERSON AND ENDED WITH" 1010 PRINT L;"ACRES PER PERSON.": PRINT 1020 IF P1>33 THEN 840 1030 IF L<7 THEN 840 1040 IF P1>10 THEN 1100 1050 IF L<9 THEN 1100 1060 IF P1>3 THEN 1130 1070 IF L<10 THEN 1130 1080 PRINT "A FANTASTIC PERFORMANCE!!! CHARLEMANGE, DISRAELI, AND" 1090 PRINT "JEFFERSON COMBINED COULD NOT HAVE DONE BETTER!":GOTO 1170 1100 PRINT "YOUR HEAVY-HANDED PERFORMANCE SMACKS OF NERO AND IVAN IV." 1110 PRINT "THE PEOPLE (REMIANING) FIND YOU AN UNPLEASANT RULER, AND," 1120 PRINT "FRANKLY, HATE YOUR GUTS!!":GOTO 1170 1130 PRINT "YOUR PERFORMANCE COULD HAVE BEEN SOMEWHAT BETTER, BUT" 1140 PRINT "REALLY WASN'T TOO BAD AT ALL. ";INT(P*.8*RND(1));"PEOPLE" 1150 PRINT "WOULD DEARLY LIKE TO SEE YOU ASSASSINATED BUT WE ALL HAVE OUR" 1160 PRINT "TRIVIAL PROBLEMS." 1170 PRINT: FOR N=1 TO 10: PRINT CHR$(7);: NEXT N 1180 PRINT "SO LONG FOR NOW.": PRINT 1190 RUN "MENU" "TRIVIAL PROBLEMS." 1170 PRINT: FOR N=1 TO 10: PRINT CHR$(7);: NEXT N 1180 PRINT "SO LONG FO1 RANDOMIZE 5 PRINT CHR$(26):WIDTH 80 10 PRINT TAB(32);"HANGMAN":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 25 PRINT:PRINT:PRINT 30 DIM P$(12,12),L$(20),D$(20),N$(26),U(50) 40 C=1: N=50 50 FOR I=1 TO 20: D$(I)="-": NEXT I: M=0 60 FOR I=1 TO 26: N$(I)="": NEXT I 70 FOR I=1 TO 12: FOR J=1 TO 12: P$(I,J)=" ": NEXT J: NEXT I 80 FOR I=1 TO 12: P$(I,1)="X": NEXT I 90 FOR I=1 TO 7: P$(1,I)="X": NEXT: P$(2,7)="X" 95 IF C10 THEN 170 600 PRINT "SORRY, YOU LOSE. THE WORD WAS ";A$ 610 PRINT "YOU MISSED THAT ONE. DO YOU ";: GOTO 370 620 INPUT "TYPE YES OR NO";Y$: IF LEFT$(Y$,1)="Y" THEN 50 700 DATA "GUM","SIN","FOR","CRY","LUG","BYE","FLY" 710 DATA "UGLY","EACH","FROM","WORK","TALK","WITH","SELF" 720 DATA "PIZZA","THING","FEIGN","FIEND","ELBOW","FAULT","DIRTY" 730 DATA "BUDGET","SPIRIT","QUAINT","MAIDEN","ESCORT","PICKAX" 740 DATA "EXAMPLE","TENSION","QUININE","KIDNEY","REPLICA","SLEEPER" 750 DATA "TRIANGLE","KANGAROO","MAHOGANY","SERGEANT","SEQUENCE" 760 DATA "MOUSTACHE","DANGEROUS","SCIENTIST","DIFFERENT","QUIESCENT" 770 DATA "MAGISTRATE","ERRONEOUSLY","LOUDSPEAKER","PHYTOTOXIC" 780 DATA "MATRIMONIAL","PARASYMPATHOMIMETIC","THIGMOTROPISM" 990 PRINT "BYE NOW" 999 RUN "MENU" "LOUDSPEAKER","PHYTOTOXIC" 780 DATA "MATRIMONIAL","PARASYMPATHOMIMETIC P$(12,10)="\": P$(12,11)="-": GOTO 580 570 P$(12,3)="-": P$(12,4)="/" 580 FOR I=1 TO 12: FOR J=1 TO 12: PRINT P$(I,J);: NEXT J 590 PRINT: NEXT I: PRINT: PRINT: IF M<>10 THEN 170 600 PRINT "SORRY, YOU LOSE. THE WORD WAS ";A$ 610 PRINT "YOU MISSED THA1 PRINT CHR$(26):WIDTH 80 2 PRINT TAB(33);"HELLO":PRINT 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT: PRINT: PRINT 10 PRINT "HELLO. MY NAME IS CREATIVE COMPUTER." 20 PRINT: PRINT: INPUT "WHAT'S YOUR NAME";N$: PRINT 30 PRINT "HI THERE, ";N$;", ARE YOU ENJOYING YOURSELF HERE"; 40 INPUT B$: PRINT 50 IF B$="YES" THEN 70 55 IF B$="NO" THEN 80 60 PRINT N$;", I DON'T UNDERSTAND YOUR ANSWER OF '";B$;"'." 65 PRINT "PLEASE ANSWER 'YES' OR 'NO'. DO YOU LIKE IT HERE";: GOTO 40 70 PRINT "I'M GLAD TO HEAR THAT, ";N$;".": PRINT 75 GOTO 100 80 PRINT "OH, I'M SORRY TO HEAR THAT, ";N$;". MAYBE WE CAN" 85 PRINT "BRIGHTEN UP YOUR VISIT A BIT." 100 PRINT 105 PRINT "SAY, ";N$;", I CAN SOLVE ALL KINDS OF PROBLEMS EXCEPT" 110 PRINT "THOSE DEALING WITH GREECE. WHAT KIND OF PROBLEMS DO" 120 PRINT "YOU HAVE (ANSWER SEX, HEALTH, MONEY, OR JOB)"; 125 INPUT C$ 126 PRINT 130 IF C$="SEX" THEN 200 132 IF C$="HEALTH" THEN 180 134 IF C$="MONEY" THEN 160 136 IF C$="JOB" THEN 145 138 PRINT "OH, ";N$;", YOUR ANSWER OF ";C$;" IS GREEK TO ME." 140 GOTO 250 145 PRINT "I CAN SYMPATHIZE WITH YOU ";N$;". I HAVE TO WORK" 148 PRINT "VERY LONG HOURS FOR NO PAY -- AND SOME OF MY BOSSES" 150 PRINT "REALLY BEAT ON MY KEYBOARD. MY ADVICE TO YOU, ";N$;"," 153 PRINT "IS TO OPEN A RETAIL COMPUTER STORE. IT'S GREAT FUN." 155 GOTO 250 160 PRINT "SORRY, ";N$;", I'M BROKE TOO. WHY DON'T YOU SELL" 162 PRINT "ENCYCLOPEADIAS OR MARRY SOMEONE RICH OR STOP EATING" 164 PRINT "SO YOU WON'T NEED SO MUCH MONEY?" 170 GOTO 250 180 PRINT "MY ADVICE TO YOU ";N$;" IS:" 185 PRINT " 1. TAKE TWO ASPRIN" 188 PRINT " 2. DRINK PLENTY OF FLUIDS (ORANGE JUICE, NOT BEER!)" 190 PRINT " 3. GO TO BED (ALONE)" 195 GOTO 250 200 INPUT "IS YOUR PROBLEM TOO MUCH OR TOO LITTLE";D$: PRINT 210 IF D$="TOO MUCH" THEN 220 212 IF D$="TOO LITTLE" THEN 230 215 PRINT "DON'T GET ALL SHOOK, ";N$;", JUST ANSWER THE QUESTION" 217 INPUT "WITH 'TOO MUCH' OR 'TOO LITTLE'. WHICH IS IT";D$:GOTO 210 220 PRINT "YOU CALL THAT A PROBLEM?!! I SHOULD HAVE SUCH PROBLEMS!" 225 PRINT "IF IT BOTHERS YOU, ";N$;", TAKE A COLD SHOWER." 228 GOTO 250 230 PRINT "WHY ARE YOU HERE IN SUFFERN, ";N$;"? YOU SHOULD BE" 235 PRINT "IN TOKYO OR NEW YORK OR AMSTERDAM OR SOMEPLACE WITH SOME" 240 PRINT "REAL ACTION." 250 PRINT 255 PRINT "ANY MORE PROBLEMS YOU WANT SOLVED, ";N$; 260 INPUT E$: PRINT 270 IF E$="YES" THEN 280 273 IF E$="NO" THEN 300 275 PRINT "JUST A SIMPLE 'YES' OR 'NO' PLEASE, ";N$;"." 277 GOTO 255 280 PRINT "WHAT KIND (SEX, MONEY, HEALTH, JOB)"; 282 GOTO 125 300 PRINT 302 PRINT "THAT WILL BE $5.00 FOR THE ADVICE, ";N$;"." 305 PRINT "PLEASE LEAVE THE MONEY ON THE TERMINAL." 307 FOR I=1 TO 2000: NEXT I 310 PRINT: PRINT: PRINT 315 PRINT "DID YOU LEAVE THE MONEY"; 320 INPUT G$: PRINT 325 IF G$="YES" THEN 350 330 IF G$="NO" THEN 370 335 PRINT "YOUR ANSWER OF '";G$;"' CONFUSES ME, ";N$;"." 340 PRINT "PLEASE RESPOND WITH 'YES' OR 'NO'.": GOTO 315 350 PRINT "HEY, ";N$;"??? YOU LEFT NO MONEY AT ALL!" 355 PRINT "YOU ARE CHEATING ME OUT OF MY HARD-EARNED LIVING." 360 PRINT:PRINT "WHAT A RIP OFF, ";N$;"!!!":PRINT 365 GOTO 385 370 PRINT "THAT'S HONEST, ";N$;", BUT HOW DO YOU EXPECT" 375 PRINT "ME TO GO ON WITH MY PSYCHOLOGY STUDIES IF MY PATIENTS" 380 PRINT "DON'T PAY THEIR BILLS?" 385 PRINT:PRINT "TAKE A WALK, ";N$;".":PRINT:PRINT:GOTO 999 390 PRINT "NICE MEETING YOU, ";N$;", HAVE A NICE DAY." 400 REM 999 RUN "MENU"  "TAKE A WALK, ";N$;".":PRINT:PRINT:GOTO 999 390 PRINT "NICE MEETING YOU, ";N$;", HAVE A NICE DAY." ONEY, HEALTH, JOB)"; 282 GOTO 125 300 PRINT 302 PRINT "THAT WILL BE $5.00 FOR THE ADVICE, ";N$;"." 305 PRINT "PLEASE LEAVE THE MONEY ON THE TERMINAL." 307 FOR I=1 TO 2000: NEXT I 310 PRINT: PRINT: PRINT 315 PRINT "DID YOU LEAVE THE MONEY"; 320 INPUT G$: PRINT 325 IF G$="YES" THEN 350 330 IF G$="NO" THEN 370 335 PRINT "YOUR ANSWER OF '";G$;"' CONFUSES ME, ";N$;"." 340 PRINT "PLEASE RESPOND WITH 'YES' OR 'NO'.": GOTO 315 350 PRINT "HEY, ";N$;"??? YOU LEFT NO MONEY AT ALL!" 355 PRINT "YOU ARE CHE1 PRINT CHR$(26);TAB(32);"HEXAPAWN":PRINT:WIDTH 80 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 3 PRINT:PRINT:PRINT 4 REM HEXAPAWN: INTERPRETATION OF HEXAPAWN GAME AS PRESENTED IN 5 REM MARTIN GARDNER'S "THE UNEXPECTED HANGING AND OTHER MATHEMATIC- 6 REM AL DIVERSIONS", CHAPTER EIGHT: A MATCHBOX GAME-LEARNING MACHINE 7 REM ORIGINAL VERSION FOR H-P TIMESHARE SYSTEM BY R.A. KAAPKE 5/5/76 8 REM INSTRUCTIONS BY JEFF DALTON 9 REM CONVERSION TO MITS BASIC BY STEVE NORTH 10 DIM B(19,9),M(19,4),S(9),P$(3) 15 W=0: L=0 20 DEF FNR(X)=-3*(X=1)-(X=3)-4*(X=6)-6*(X=4)-7*(X=9)-9*(X=7)+FNS(X) 25 DEF FNS(X)=-X*(X=2 OR X=5 OR X=8) 30 DEF FNM(Y)=Y-INT(Y/10)*10 35 P$="X.O" 40 FOR I=1 TO 19: FOR J=1 TO 9: READ B(I,J): NEXT J: NEXT I 45 FOR I=1 TO 19: FOR J=1 TO 4: READ M(I,J): NEXT J: NEXT I 50 PRINT "INSTRUCTIONS (Y-N)"; 60 INPUT A$ 70 A$=LEFT$(A$,1) 80 IF A$="Y" THEN 2000 90 IF A$<>"N" THEN 50 100 X=0: Y=0 111 S(4)=0: S(5)=0: S(6)=0 112 S(1)=-1: S(2)=-1: S(3)=-1 113 S(7)=1: S(8)=1: S(9)=1 115 GOSUB 1000 120 PRINT "YOUR MOVE"; 121 INPUT M1,M2 122 IF M1=INT(M1)AND M2=INT(M2)AND M1>0 AND M1<10 AND M2>0 AND M2<10 THEN 130 123 PRINT "ILLEGAL CO-ORDINATES." 124 GOTO 120 130 IF S(M1)=1 THEN 150 140 PRINT "ILLEGAL MOVE.": GOTO 120 150 IF S(M2)=1 THEN 140 160 IF M2-M1<>-3 AND S(M2)<>-1 THEN 140 170 IF M2>M1 THEN 140 180 IF M2-M1=-3 AND (S(M2)<>0) THEN 140 185 IF M2-M1<-4 THEN 140 186 IF M1=7 AND M2=3 THEN 140 190 S(M1)=0 200 S(M2)=1 205 GOSUB 1000 210 IF S(1)=1 OR S(2)=1 OR S(3)=1 THEN 820 220 FOR I=1 TO 9 221 IF S(I)=-1 THEN 230 222 NEXT I 223 GOTO 820 230 FOR I=1 TO 9 240 IF S(I)<>-1 THEN 330 250 IF S(I+3)=0 THEN 350 260 IF FNR(I)=I THEN 320 270 IF I>3 THEN 300 280 IF S(5)=1 THEN 350 290 GOTO 330 300 IF S(8)=1 THEN 350 310 GOTO 330 320 IF S(I+2)=1 OR S(I+4)=1 THEN 350 330 NEXT I 340 GOTO 820 350 FOR I=1 TO 19 360 FOR J=1 TO 3 370 FOR K=3 TO 1 STEP -1 380 T((J-1)*3+K)=B(I,(J-1)*3+4-K) 390 NEXT K 400 NEXT J 410 FOR J=1 TO 9 420 IF S(J)<>B(I,J) THEN 460 430 NEXT J 440 R=0 450 GOTO 540 460 FOR J=1 TO 9 470 IF S(J)<>T(J) THEN 510 480 NEXT J 490 R=1 500 GOTO 540 510 NEXT I 511 REM EMBER THE TERMINATION OF THIS LOOP IS IMPOSSIBLE 512 PRINT "ILLEGAL BOARD PATTERN." 530 STOP 540 X=I 550 FOR I=1 TO 4 560 IF M(X,I)<>0 THEN 600 570 NEXT I 580 PRINT "I RESIGN." 590 GOTO 820 600 Y=INT(RND(1)*4+1) 601 IF M(X,Y)=0 THEN 600 610 IF R<>0 THEN 630 620 PRINT "I MOVE FROM ";STR$(INT(M(X,Y)/10));" TO ";STR$(FNM(M(X,Y))) 622 S(INT(M(X,Y)/10))=0 623 S(FNM(M(X,Y)))=-1 624 GOTO 640 630 PRINT "I MOVE FROM ";STR$(FNR(INT(M(X,Y)/10)));" TO "; 631 PRINT STR$(FNR(FNM(M(X,Y)))) 632 S(FNR(INT(M(X,Y)/10)))=0 633 S(FNR(FNM(M(X,Y))))=-1 640 GOSUB 1000 641 IF S(7)=-1 OR S(8)=-1 OR S(9)=-1 THEN 870 650 FOR I=1 TO 9 660 IF S(I)=1 THEN 690 670 NEXT I 680 GOTO 870 690 FOR I=1 TO 9 700 IF S(I)<>1 THEN 790 710 IF S(I-3)=0 THEN 120 720 IF FNR(I)=I THEN 780 730 IF I<7 THEN 760 740 IF S(5)=-1 THEN 120 750 GOTO 790 760 IF S(2)=-1 THEN 120 770 GOTO 790 780 IF S(I-2)=-1 OR S(I-4)=-1 THEN 120 790 NEXT I 800 PRINT "YOU CAN'T MOVE, SO "; 810 GOTO 870 820 PRINT "YOU WIN." 830 M(X,Y)=0 840 L=L+1 850 IF L+W=1 AND W=1 THEN PRINT "I WIN THE FIRST GAME." ELSE IF L+W=1 AND L=1 THEN PRINT "YOU WIN THE FIRST GAME." ELSE PRINT "I HAVE WON";W;"AND YOU";L;"OUT OF";L+W;"GAMES." 851 PRINT 860 GOTO 100 870 PRINT "I WIN." 880 W=W+1 890 GOTO 850 900 DATA -1,-1,-1,1,0,0,0,1,1,-1,-1,-1,0,1,0,1,0,1 905 DATA -1,0,-1,-1,1,0,0,0,1,0,-1,-1,1,-1,0,0,0,1 910 DATA -1,0,-1,1,1,0,0,1,0,-1,-1,0,1,0,1,0,0,1 915 DATA 0,-1,-1,0,-1,1,1,0,0,0,-1,-1,-1,1,1,1,0,0 920 DATA -1,0,-1,-1,0,1,0,1,0,0,-1,-1,0,1,0,0,0,1 925 DATA 0,-1,-1,0,1,0,1,0,0,-1,0,-1,1,0,0,0,0,1 930 DATA 0,0,-1,-1,-1,1,0,0,0,-1,0,0,1,1,1,0,0,0 935 DATA 0,-1,0,-1,1,1,0,0,0,-1,0,0,-1,-1,1,0,0,0 940 DATA 0,0,-1,-1,1,0,0,0,0,0,-1,0,1,-1,0,0,0,0 945 DATA -1,0,0,-1,1,0,0,0,0 950 DATA 24,25,36,0,14,15,36,0,15,35,36,47,36,58,59,0 955 DATA 15,35,36,0,24,25,26,0,26,57,58,0 960 DATA 26,35,0,0,47,48,0,0,35,36,0,0,35,36,0,0 965 DATA 36,0,0,0,47,58,0,0,15,0,0,0 970 DATA 26,47,0,0,47,58,0,0,35,36,47,0,28,58,0,0,15,47,0,0 1000 PRINT 1010 FOR I=1 TO 3 1015 PRINT TAB(10); 1020 FOR J=1 TO 3 1030 PRINT MID$(P$,S((I-1)*3+J)+2,1); 1040 NEXT J 1050 PRINT 1060 NEXT I 1070 PRINT 1080 RETURN 2000 PRINT: PRINT "THIS PROGRAM PLAYS THE GAME OF HEXAPAWN." 2010 PRINT "HEXAPAWN IS PLAYED WITH CHESS PAWNS ON A 3 BY 3 BOARD." 2020 PRINT "THE PAWNS ARE MOVED AS IN CHESS - ONE SPACE FORWARD TO" 2030 PRINT "AN EMPTY SPACE OR ONE SPACE FORWARD AND DIAGONALLY TO" 2040 PRINT "CAPTURE AN OPPOSING MAN. ON THE BOARD, YOUR PAWNS" 2050 PRINT "ARE 'O', THE COMPUTER'S PAWNS ARE 'X', AND EMPTY " 2060 PRINT "SQUARES ARE '.'. TO ENTER A MOVE, TYPE THE NUMBER OF" 2070 PRINT "THE SQUARE YOU ARE MOVING FROM, FOLLOWED BY THE NUMBER" 2080 PRINT "OF THE SQUARE YOU WILL MOVE TO. THE NUMBERS MUST BE" 2090 PRINT "SEPERATED BY A COMMA.": PRINT 2100 PRINT "THE COMPUTER STARTS A SERIES OF GAMES KNOWING ONLY WHEN" 2105 PRINT "THE GAME IS WON (A DRAW IS IMPOSSIBLE) AND HOW TO MOVE." 2110 PRINT "IT HAS NO STRATEGY AT FIRST AND JUST MOVES RANDOMLY." 2120 PRINT "HOWEVER, IT LEARNS FROM EACH GAME. THUS, WINNING BECOMES" 2130 PRINT "MORE AND MORE DIFFICULT. ALSO, TO HELP OFFSET YOUR" 2140 PRINT "INITIAL ADVANTAGE, YOU WILL NOT BE TOLD HOW TO WIN THE" 2150 PRINT "GAME BUT MUST LEARN THIS BY PLAYING." 2160 PRINT: PRINT "THE NUMBERING OF THE BOARD IS AS FOLLOWS:" 2170 PRINT TAB(10);"123": PRINT TAB(10);"456": PRINT TAB(10);"789" 2180 PRINT: PRINT "FOR EXAMPLE, TO MOVE YOUR RIGHTMOST PAWN FORWARD," 2190 PRINT "YOU WOULD TYPE 9,6 IN RESPONSE TO THE QUESTION" 2200 PRINT "'YOUR MOVE ?'. SINCE I'M A GOOD SPORT, YOU'LL ALWAYS" 2210 PRINT "GO FIRST.": PRINT 2220 GOTO 100 9999 END " 2200 PRIARE YOU ARE MOVING FROM, FOLLOWED BY THE NUMBER" 2080 PRINT "OF THE SQUARE YOU WILL MOVE TO. THE NUMBERS MUST BE" 2090 PRINT "SEPERATED BY A COMMA.": PRINT 2100 PRINT "THE COMPUTER STARTS A SERIES OF GAMES KNOWING ONLY WHEN" 2105 PRINT "THE GAME IS WO10 PRINT CHR$(26):WIDTH 80:PRINT TAB(33);"HI-Q":PRINT 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 22 PRINT:PRINT 30 PRINT "HI-Q IS A PUZZLE GAME PLAYED ON A NUMBERED BOARD. FOR A PRINTED" 31 PRINT "COPY OF THE GAME BOARD, MAKE SURE THE PRINTER IS ON AND PAPER IS" 32 PRINT "CORRECTLY POSITIONED. THEN ENTER 'RETURN': ";:INPUT XX$ 40 DIM B(70),T(9,9) 45 PRINT:PRINT:PRINT "--- Printing ---":PRINT:PRINT 50 LPRINT "HERE IS THE BOARD:":LPRINT 60 LPRINT " ! ! !" 70 LPRINT " 13 14 15": LPRINT 80 LPRINT " ! ! !" 90 LPRINT " 22 23 24": LPRINT 100 LPRINT "! ! ! ! ! ! !" 110 LPRINT "29 30 31 32 33 34 35": LPRINT 120 LPRINT "! ! ! ! ! ! !" 130 LPRINT "38 39 40 41 42 43 44": LPRINT 140 LPRINT "! ! ! ! ! ! !" 150 LPRINT "47 48 49 50 51 52 53": LPRINT 160 LPRINT " ! ! !" 170 LPRINT " 58 59 60": LPRINT 180 LPRINT "  ! ! !" 190 LPRINT " 67 68 69": LPRINT 195 LPRINT CHR$(12) 200 PRINT "TO SAVE TYPING TIME, A COMPRESSED VERSION OF THE GAME BOARD" 210 PRINT "WILL BE USED DURING PLAY. REFER TO THE ABOVE ONE FOR PEG" 220 PRINT "NUMBERS. OK, LET'S BEGIN." 230 REM *** SET UP BOARD 240 FOR R=1 TO 9 250 FOR C=1 TO 9 260 IF (R-4)*(R-5)*(R-6)=0 THEN 300 270 IF (C-4)*(C-5)*(C-6)=0 THEN 300 280 T(R,C)=-5 290 GOTO 320 300 IF (R-1)*(C-1)*(R-9)*(C-9)=0 THEN 280 310 T(R,C)=5 320 NEXT C 330 NEXT R 340 T(5,5)=0: GOSUB 560 350 REM *** INPUT MOVE AND CHECK ON LEGALITY 360 FOR W=1 TO 33 370 READ M 380 DATA 13,14,15,22,23,24,29,30,31,32,33,34,35,38,39,40,41 390 DATA 42,43,44,47,48,49,50,51,52,53,58,59,60,67,68,69 400 B(M)=-7: NEXT W 410 B(41)=-3 420 INPUT "MOVE WHICH PIECE";Z 430 IF B(Z)=-7 THEN 450 440 PRINT "ILLEGAL MOVE, TRY AGAIN...": GOTO 420 450 INPUT "TO WHERE";P 460 IF B(P)=0 THEN 440 470 IF B(P)=-7 THEN 440 480 IF Z=P THEN 420 490 IF ((Z+P)/2)=INT((Z+P)/2) THEN 510 500 GOTO 440 510 IF (ABS(Z-P)-2)*(ABS(Z-P)-18)<>0 THEN 440 520 GOSUB 730 530 GOSUB 560 540 GOSUB 990 550 GOTO 420 560 REM *** PRINT BOARD 570 FOR X=1 TO 9 580 FOR Y=1 TO 9 590 IF (X-1)*(X-9)*(Y-1)*(Y-9)=0 THEN 620 600 IF (X-4)*(X-5)*(X-6)=0 THEN 640 610 IF (Y-4)*(Y-5)*(Y-6)=0 THEN 640 620 REM 630 GOTO 680 640 IF T(X,Y)<>5 THEN 670 650 PRINT TAB(Y*2);"!"; 660 GOTO 680 670 PRINT TAB(Y*2);"O"; 680 REM 690 NEXT Y 700 PRINT 710 NEXT X 720 RETURN 730 REM *** UPDATE BOARD 740 C=1: FOR X=1 TO 9 750 FOR Y=1 TO 9 760 IF C<>Z THEN 950 770 IF C+2<>P THEN 820 780 IF T(X,Y+1)=0 THEN 440 790 T(X,Y+2)=5 800 T(X,Y+1)=0: B(C+1)=-3 810 GOTO 930 820 IF C+18<>P THEN 860 830 IF T(X+1,Y)=0 THEN 440 840 T(X+2,Y)=5: T(X+1,Y)=0: B(C+9)=-3 850 GOTO 930 860 IF C-2<>P THEN 900 870 IF T(X,Y-1)=0 THEN 440 880 T(X,Y-2)=5: T(X,Y-1)=0: B(C-1)=-3 890 GOTO 930 900 IF C-18<>P THEN 950 910 IF T(X-1,Y)=0 THEN 440 920 T(X-2,Y)=5: T(X-1,Y)=0: B(C-9)=-3 930 B(Z)=-3: B(P)=-7 940 T(X,Y)=0: GOTO 980 950 C=C+1 960 NEXT Y 970 NEXT X 980 RETURN 990 REM*** CHECK IF GAME IS OVER 1000 F=0 1010 FOR R=2 TO 8 1020 FOR C=2 TO 8 1030 IF T(R,C)<>5 THEN 1210 1040 F=F+1 1050 FOR A=R-1 TO R+1 1060 T=0 1070 FOR B=C-1 TO C+1 1080 T=T+T(A,B) 1090 NEXT B 1100 IF T<>10 THEN 1120 1110 IF T(A,C)<>0 THEN 1330 1120 NEXT A 1130 FOR X=C-1 TO C+1 1140 T=0 1150 FOR Y=R-1 TO R+1 1160 T=T+T(Y,X) 1170 NEXT Y 1180 IF T<>10 THEN 1200 1190 IF T(R,X)<>0 THEN 1330 1200 NEXT X 1210 NEXT C 1220 NEXT R 1230 REM *** GAME IS OVER 1240 PRINT "THE GAME IS OVER." 1250 PRINT "YOU HAD";F;"PIECES REMAINING." 1260 IF F<>1 THEN 1290 1270 PRINT "BRAVO! YOU MADE A PERFECT SCORE!" 1280 PRINT "SAVE THIS PAPER AS A RECORD OF YOUR ACCOMPLISHMENT!" 1290 PRINT: INPUT "PLAY AGAIN (YES OR NO)";A$ 1300 IF LEFT$(A$,1)="N" THEN 1340 1310 RESTORE: GOTO 230 1320 STOP 1330 RETURN 1340 PRINT: PRINT "SO LONG FOR NOW.": PRINT 1350 RUN "MENU" )="N" THEN 1340 1310 RESTORE: GOTO 230 1320 STOP 1330 RETURN 1340 PRINT: PRINT "SO LONG FOR NOW.": PRINT0 RANDOMIZE 1 PRINT CHR$(26):WIDTH 80 2 PRINT TAB(33);"HOCKEY":PRINT 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT:PRINT:PRINT 10 REM ROBERT PUOPOLO ALG. 1 140 MCCOWAN 6/7/73 HOCKEY 30 LET X=1 40 PRINT:PRINT:PRINT 50 PRINT "WOULD YOU LIKE THE INSTRUCTIONS";:INPUT C$ 55 PRINT 60 IF LEFT$(C$,1)="N" THEN 90 65 IF LEFT$(C$,1)="Y" THEN 80 70 PRINT "ANSWER YES OR NO!!":GOTO 50 80 GOTO 1720 90 DIM A$(7),B$(7),H(20),T(5),T1(5),T2(5),T3(5) 100 PRINT "ENTER THE TWO TEAMS";:INPUT A$(7),B$(7) 105 PRINT 110 PRINT "ENTER THE NUMBER OF MINUTES IN A GAME";:INPUT T6 115 PRINT 120 IF T6<1 THEN 110:PRINT 130 PRINT "WOULD THE " A$(7) " COACH ENTER HIS TEAM:" 135 PRINT 140 FOR I=1 TO 6:PRINT "PLAYER"I;CHR$(8);:INPUT A$(I):NEXT I:PRINT 150 PRINT "WOULD THE " B$(7) " COACH DO THE SAME:" 155 PRINT 160 FOR T=1 TO 6:PRINT "PLAYER"T;CHR$(8);:INPUT B$(T):NEXT T:PRINT 170 PRINT "INPUT THE REFEREE FOR THIS GAME";:INPUT R$ 180 PRINT:PRINT TAB(10);A$(7) " STARTING LINEUP" 190 FOR T=1 TO 6:PRINT A$(T):NEXT T 200 PRINT:PRINT TAB(10);B$(7)" STARTING LINEUP" 210 FOR T=1 TO 6:PRINT B$(T):NEXT T:PRINT 220 PRINT "WE'RE READY FOR TONIGHTS OPENING FACE-OFF." 230 PRINT R$ " WILL DROP THE PUCK BETWEEN " A$(2) " AND " B$(2);"." 240 FOR L=1 TO T6:IF L=1 THEN 260 250 PRINT "AND WE'RE READY FOR THE FACE-OFF." 260 C=INT(2*RND(X))+1:ON C GOTO 270,280 270 PRINT A$(7) " HAVE CONTROL OF THE PUCK.":GOTO 290 280 PRINT B$(7) " HAVE CONTROL." 290 PRINT "PASS";:INPUT P:FOR N=1 TO 3:H(N)=0:NEXT N 300 IF P<0 THEN 290 305 IF P>3 THEN 290 310 FOR J=1 TO (P+2) 320 H(J)=INT(5*RND(X))+1 330 NEXT J:IF H(J-1)=H(J-2) THEN 310 331 IF P+2<3 THEN 350 335 IF H(J-1)=H(J-3) THEN 310 340 IF H(J-2)=H(J-3) THEN 310 350 IF P=0 THEN 360 355 GOTO 490 360 INPUT "SHOT";S:IF S<1 THEN 360 365 IF S>4 THEN 360 370 ON C GOTO 380,480 380 PRINT A$(H(J-1));:G=H(J-1):G1=0:G2=0 390 ON S GOTO 400,420,440,460 400 PRINT " LET'S A BOOMER GO FROM THE RED LINE!!" 410 Z=10:GOTO 890 420 PRINT " FLIPS A WRISTSHOT DOWN THE ICE." 440 PRINT " BACKHANDS ONE IN ON THE GOALTENDER." 450 Z=25:GOTO 890 460 PRINT " SNAPS A LONG FLIP SHOT." 470 Z=17:GOTO 890 480 PRINT B$(H(J-1));:G1=0:G2=0:G=H(J-1):GOTO 390 490 ON C GOTO 500,640 500 ON P GOTO 510,540,570 510 PRINT A$(H(J-2)) " LEADS " A$(H(J-1)) " WITH A PERFECT PASS." 520 PRINT A$(H(J-1)) " CUTTING IN!!!" 530 G=H(J-1):G1=H(J-2):G2=0:Z1=3:GOTO 770 540 PRINT A$(H(J-2)) " GIVES TO A STREAKING " A$(H(J-1)) ;"." 550 PRINT A$(H(J-3)) " COMES DOWN ON " B$(5) " AND " B$(4) ;"." 560 G=H(J-3):G1=H(J-1):G2=H(J-2):Z1=2:GOTO 770 570 PRINT "OH MY GOD!! A ' 4 ON 2 ' SITUATION" 580 PRINT A$(H(J-3)) " LEADS " A$(H(J-2));"." 590 PRINT A$(H(J-2)) " IS WHEEELING THROUGH CENTER." 600 PRINT A$(H(J-2)) " GIVES AND GOES WITH " A$(H(J-1));"." 610 PRINT "PRETTY PASSING!" 620 PRINT A$(H(J-1)) " DROPS IT TO " A$(H(J-4));"." 630 G=H(J-4):G1=J(J-1):G2=H(J-2):Z1=1:GOTO 770 640 ON P GOTO 650,670,720 650 PRINT B$(H(J-1)) " HITS " B$(H(J-2)) " FLYING DOWN THE LEFT SIDE." 660 G=H(J-2):G1=H(J-1):G2=0:Z1=3:GOTO 770 670 PRINT "IT'S A ' 3 ON 2 '!" 680 PRINT "ONLY " A$(4) " AND " A$(5) " ARE BACK." 690 PRINT B$(H(J-2)) " GIVES OFF TO " B$(H(J-1)) ;"." 700 PRINT B$(H(J-1)) " DROPS TO " B$(H(J-3)) ;"." 710 G=H(J-3):G1=H(J-1):G2=H(J-2):Z1=2:GOTO 770 720 PRINT " A ' 3 ON 2 ' WITH A ' TRAILER '!" 730 PRINT B$(H(J-4)) " GIVES TO " B$(H(J-2)) " WHO SHUFFLES IT OFF TO" 740 PRINT B$(H(J-1)) " WHO FIRES A WING TO WING PASS TO " 750 PRINT B$(H(J-3)) " AS HE CUTS IN ALONE!!" 760 G=H(J-3):G1=H(J-1):G2=H(J-2):Z1=1:GOTO 770 770 PRINT "SHOT";:INPUT S:IF S>4 THEN 770:IF S<1 THEN 770 780 ON C GOTO 790,880 790 PRINT A$(G);:ON S GOTO 800,820,840,860 800 PRINT " LET'S A BIG SLAP SHOT GO!!" 810 Z=4:Z=Z+Z1:GOTO 890 820 PRINT " RIPS A WRIST SHOT OFF." 830 Z=2:Z=Z+Z1:GOTO 890 840 PRINT " GETS A BACKHAND OFF." 850 Z=3:Z=Z+Z1:GOTO 890 860 PRINT " SNAPS OFF A SNAP SHOT." 870 Z=2:Z=Z+Z1:GOTO 890 880 PRINT B$(G);:ON S GOTO 800,820,840,860 890 PRINT "AREA";:INPUT A:IF A<1 THEN 890 895 IF A>4 THEN 890 900 ON C GOTO 910,920 910 S2=S2+1:GOTO 930 920 S3=S3+1 930 A1=INT(4*RND(X))+1:IF A<>A1 THEN 1200 940 H(20)=INT(100*RND(X))+1 950 IF INT(H(20)/Z)=H(20)/Z THEN 1160 960 ON C GOTO 970,980 970 PRINT "GOAL " A$(7):H(9)=H(9)+1:GOTO 990 980 PRINT "SCORE " B$(7):H(8)=H(8)+1 990 FOR B1=1 TO 25:PRINT CHR$(7);:NEXT B1:PRINT 1000 PRINT "SCORE: ";:IF H(8)>H(9) THEN 1020 1010 PRINT A$(7)":";H(9),B$(7)":";H(8):GOTO 1030 1020 PRINT B$(7)":";H(8),A$(7)":";H(9) 1030 ON C GOTO 1040,1100 1040 PRINT "GOAL SCORED BY: " A$(G);",";:IF G1=0 THEN 1070 1050 IF G2=0 THEN 1080 1060 PRINT " ASSISTED BY: " A$(G1) " AND " A$(G2);".":GOTO 1090 1070 PRINT " UNASSISTED.":GOTO 1090 1080 PRINT " ASSISTED BY: " A$(G1);"." 1090 T(G)=T(G)+1:T1(G1)=T1(G1)+1:T1(G2)=T1(G2)+1:GOTO 1540 1100 PRINT "GOAL SCORED BY: " B$(G); ","; 1110 IF G1=0 THEN 1130 1115 IF G2=0 THEN 1140 1120 PRINT " ASSISTED BY: " B$(G1) " AND " B$(G2);".":GOTO 1150 1130 PRINT " UNASSISTED.":GOTO 1150 1140 PRINT " ASSISTED BY: " B$(G1);".":GOTO 1150 1150 T2(G)=T2(G)+1:T3(G1)=T3(G1)+1:T3(G2)=T3(G2)+1:GOTO 1540 1160 A2=INT(100*RND(X))+1:IF INT(A2/4)=A2/4 THEN 1170 1165 GOTO 1200 1170 ON C GOTO 1180,1190 1180 PRINT "SAVE " B$(6) " -- REBOUND":GOTO 940 1190 PRINT "SAVE " A$(6) " -- FOLLOW UP":GOTO 940 1200 S1=INT(6*RND(X))+1 1210 ON C GOTO 1220,1380 1220 ON S1 GOTO 1230,1260,1290,1300,1330,1350 1230 PRINT "KICK SAVE AND A BEAUTY BY " B$(6) ;"." 1240 PRINT "CLEARED OUT BY " B$(3);"." 1250 GOTO 260 1260 PRINT "WHAT A SPECTACULAR GLOVE SAVE BY " B$(6);"!" 1270 PRINT "AND " B$(6) " GOLFS IT INTO THE CROWD." 1280 GOTO 1540 1290 PRINT "SKATE SAVE ON A LOW STEAMER BY " B$(6);".":GOTO 260 1300 PRINT "PAD SAVE BY " B$(6) " OFF THE STICK" 1310 PRINT "OF "A$(G) " AND " B$(6) " COVERS UP." 1320 GOTO 1540 1330 PRINT "WHISTLES ONE OVER THE HEAD OF " B$(6) 1340 GOTO 260 1350 PRINT B$(6) " MAKES A FACE SAVE!! AND HE IS HURT!" 1360 PRINT "THE DEFENSEMAN " B$(5) " COVERS UP FOR HIM." 1370 GOTO 1540 1380 ON S1 GOTO 1390,1410,1440,1470,1490,1520 1390 PRINT "STICK SAVE BY " A$(6) 1400 PRINT "AND CLEARED OUT BY " A$(4);".":GOTO 260 1410 PRINT "OH MY GOD!! " B$(G) " RATTLES ONE OFF THE POST" 1420 PRINT "TO THE RIGHT OF " A$(6) " AND " A$(6) " COVERS "; 1430 PRINT "ON THE LOOSE PUCK!":GOTO 1540 1440 PRINT "SKATE SAVE BY " A$(6) ;"." 1450 PRINT A$(6) " WHACKS THE LOOSE PUCK INTO THE STANDS." 1460 GOTO 1540 1470 PRINT "STICK SAVE BY " A$(6) " AND HE CLEARS IT OUT HIMSELF." 1480 GOTO 260 1490 PRINT "KICKED OUT BY " A$(6) 1500 PRINT "AND IT REBOUNDS ALL THE WAY TO CENTER ICE." 1510 GOTO 260 1520 PRINT "GLOVE SAVE " A$(6) " AND HE HANGS ON." 1530 GOTO 1540 1540 NEXT L:FOR N=1 TO 30:PRINT CHR$(7);:NEXT N:PRINT "THAT'S THE SIREN" 1545 LINE INPUT "HIT 'RETURN' FOR FINAL STATS.";XX$:PRINT CHR$(26) 1590 PRINT TAB(20);"SCORING SUMMARY" 1600 PRINT TAB(25);A$(7) ;" --";H(9) 1610 PRINT TAB(5);"NAME";TAB(20);"GOALS";TAB(35);"ASSISTS" 1620 PRINT TAB(5);"----";TAB(20);"-----";TAB(35);"-------" 1630 FOR I=1 TO 5:PRINT TAB(5);A$(I);TAB(21);T(I);TAB(36);T1(I) 1640 NEXT I:PRINT 1650 PRINT TAB(25);B$(7) ;" --";H(8) 1660 PRINT TAB(5);"NAME";TAB(20);"GOALS";TAB(35);"ASSISTS" 1670 PRINT TAB(5);"----";TAB(20);"-----";TAB(35);"-------" 1680 FOR T=1 TO 5:PRINT TAB(5);B$(T);TAB(21);T2(T);TAB(36);T3(T) 1690 NEXT T:PRINT 1700 PRINT "SHOTS ON NET":PRINT A$(7)":";S2:PRINT B$(7)":";S3 1710 RUN "MENU" 1720 PRINT: PRINT "THIS IS A SIMULATED HOCKEY GAME." 1730 PRINT "QUESTION RESPONSE" 1735 PRINT "-------- --------" 1740 PRINT "PASS TYPE IN THE NUMBER OF PASSES YOU WOULD" 1750 PRINT " LIKE TO MAKE, FROM 0 TO 3." 1760 PRINT "SHOT TYPE THE NUMBER CORRESPONDING TO THE SHOT" 1770 PRINT " YOU WANT TO MAKE. ENTER:" 1780 PRINT " 1 FOR A SLAPSHOT" 1790 PRINT " 2 FOR A WRISTSHOT" 1800 PRINT " 3 FOR A BACKHAND" 1810 PRINT " 4 FOR A SNAP SHOT" 1820 PRINT "AREA TYPE IN THE NUMBER CORRESPONDING TO" 1830 PRINT "  THE AREA YOU ARE AIMING AT. ENTER:" 1840 PRINT " 1 FOR UPPER LEFT HAND CORNER" 1850 PRINT " 2 FOR UPPER RIGHT HAND CORNER" 1860 PRINT " 3 FOR LOWER LEFT HAND CORNER" 1870 PRINT " 4 FOR LOWER RIGHT HAND CORNER" 1880 PRINT 1890 PRINT "AT THE START OF THE GAME, YOU WILL BE ASKED FOR THE NAMES" 1900 PRINT "OF YOUR PLAYERS. THEY ARE ENTERED IN THE ORDER: " 1910 PRINT "LEFT WING, CENTER, RIGHT WING, LEFT DEFENSE," 1920 PRINT "RIGHT DEFENSE, GOALKEEPER. ANY OTHER INPUT REQUIRED WILL" 1930 PRINT "HAVE EXPLANATORY INSTRUCTIONS." 1940 GOTO 90 1950 RUN "MENU" ENSE, GOALKEEPER. 60 PRINT "SHOT TYPE THE NUMBER CORRESPONDING TO THE SHOT" 1770 PRINT " YOU WANT TO MAKE. ENTER:" 1780 PRINT " 1 FOR A SLAPSHOT" 1790 PRINT " 2 FOR A WRISTSHOT" 1800 PRINT " 3 FOR A BACKHAND" 1810 PRINT " 4 FOR A SNAP SHOT" 1820 PRINT "AREA TYPE IN THE NUMBER CORRESPONDING TO" 1830 PRINT " 1 RANDOMIZE 20 REM LINES 1170 AND 1210 SEEM TO HAVE SOMETHING TO DO WITH PRINT LENGTH 50 PRINT CHR$(26):WIDTH 80 100 PRINT TAB(31);"HORSERACE":PRINT 110 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 120 PRINT:PRINT:PRINT 210 DIM S(8) 220 PRINT "WELCOME TO SUFFERN DOWNS RACETRACK.":PRINT 240 PRINT "DO YOU WANT DIRECTIONS"; 250 INPUT X$ 255 PRINT 260 IF LEFT$(X$,1)="N" THEN 320 270 PRINT"UP TO 10 MAY PLAY. A TABLE OF ODDS WILL BE PRINTED. YOU" 280 PRINT"MAY BET ANY + AMOUNT UNDER 100000 ON ONE HORSE." 290 PRINT "DURING THE RACE, A HORSE WILL BE SHOWN BY ITS" 300 PRINT"NUMBER. THE HORSES RACE DOWN THE PAPER!" 310 PRINT 320 PRINT "HOW MANY WANT TO BET"; 330 INPUT C 335 IF C>10 THEN PRINT "MAXIMUM OF TEN BETTORS ONLY.":GOTO 320 340 PRINT "WHEN ? APPEARS,TYPE NAME" 350 FOR A=1 TO C 360 INPUT W$(A) 370 NEXT A 380 PRINT 390 PRINT"HORSE",,"NUMBER","ODDS" 395 PRINT "=====",,"======","====" 400 PRINT 410 FOR I=1 TO 8: S(I)=0: NEXT I 420 LET R=0 430 FOR A=1 TO 8 440 LET D(A)=INT(10*RND(1)+1) 450 NEXT A 460 FOR A=1 TO 8 470 LET R=R+D(A) 480 NEXT A 490 LET V$(1)="JOE MAW" 500 LET V$(2)="L.B.J." 510 LET V$(3)="MR.WASHBURN" 520 LET V$(4)="MISS KAREN" 530 LET V$(5)="JOLLY" 540 LET V$(6)="HORSE" 550 LET V$(7)="JELLY DO NOT" 560 LET V$(8)="MIDNIGHT" 570 FOR N=1 TO 8 580 PRINT V$(N),," ";N,:PRINT USING "##.#";R/D(N);:PRINT ":1" 590 NEXT N 595 N=8 600 PRINT:PRINT:PRINT"--------------------------------------------------":PRINT 610 PRINT "PLACE YOUR BETS...HORSE # THEN AMOUNT" 615 PRINT 620 FOR J=1 TO C 630 PRINT W$(J); 640 INPUT Q(J),P(J) 650 IF P(J)<1 THEN 670 660 IF P(J)<100000! THEN 690 670 PRINT" YOU CAN'T DO THAT!" 680 GOTO 630 690 NEXT J 700 PRINT CHR$(26) 710 PRINT"1 2 3 4 5 6 7 8" 720 PRINT"-----START-----" 730 FOR I=1 TO N 740 LET M=I 750 LET M(I)=M 760 LET Y(M(I))=INT(100*RND(1)+1) 770 IF Y(M(I))<10 THEN 860 780 LET S=INT(R/D(I)+.5) 790 IF Y(M(I))20 THEN 1240 1180 NEXT A 1190 PRINT M(I); 1200 NEXT I 1210 FOR A=1 TO 21-T 1220 PRINT 1230 NEXT A 1240 PRINT "---- FINISH ----"; 1244 'PRINT "---------------------------------------------" 1245 FOR DELAY=1 TO 1000:NEXT 1250 IF T<28 THEN PRINT CHR$(26): GOTO 720 1270 PRINT CHR$(26);"THE RACE RESULTS ARE:" 1272 LET Z9=1 1280 FOR I=8 TO 1 STEP-1 1290 LET F=M(I) 1300 PRINT 1310 PRINT Z9;CHR$(8);:IF Z9=1 THEN PRINT"ST ";ELSE IF Z9=2 THEN PRINT"ND ";ELSE IF Z9=3 THEN PRINT"RD ";ELSE IF Z9>3 THEN PRINT"TH "; 1311 PRINT"PLACE - HORSE #";F;"AT";:PRINT USING" ##.#";R/D(F);:PRINT":1" 1312 LET Z9=Z9+1 1320 NEXT I 1330 FOR J=1 TO C 1340 IF Q(J)<>M(8) THEN 1370 1350 LET N=Q(J) 1355 PRINT 1360 PRINT CHR$(22);" ";W$(J);" WINS";:PRINT USING "$$##,###";(R/D(N))*P(J);: PRINT " ";CHR$(22) 1370 NEXT J 1372 PRINT:INPUT "DO YOU WANT TO BET ON THE NEXT RACE";O$ 1376 IF LEFT$(O$,1)="Y" THEN PRINT CHR$(26):GOTO 380 1380 RUN "MENU" 2 PRINT:INPUT "DO YOU WANT TO BET ONRINT 1170 IF S(M(I))>20 THEN 1240 1180 NEXT A 1190 PRINT M(I); 1200 NEXT I 1210 FOR A=1 TO 21-T 1220 PRINT 1230 NEXT A 1240 PRINT "---- FINISH ----"; 1244 'PRINT "---------------------------------------------" 1245 FOR DELAY=1 TO 1000:NEXT 1250 IF T<28 THEN PRINT CHR$(26): GOTO 720 1270 PRINT CHR$(26);"THE RACE RESULTS ARE:" 1272 LET Z9=1 1280 FOR I=8 TO 1 STEP-1 1 This is the release date of the disk. MENU DOC ЂЂAWARI BAS ЂЂ BIO-FF BAS Ђ CHECKERSBAS ЂCRAPS BAS ЂЂ CRAZY-8 BAS ЂЂCUBE BAS ЂЂDCHARGE BAS Ђ"DIAMOND BAS Ђ$DICE BAS Ђ%DIGITS BAS Ђ&Ђ EVENWIN1BAS Ђ)Ђ EVENWIN2BAS Ђ, FLIPFLOPBAS Ђ0 GOTO 360 210 INPUT N$(Q5) 220 IF N$(Q5)="COMPUTER" THEN 160 230 IF N$(Q5)="YOU" THEN 160 240 IF N$(Q5)<>"WHAT" THEN 260 250 GOTO 330 260 Z7=1 270 FOR O1=1 TO Q5-1 280 IF M$(O1)<>N$(Q5) THEN 310 290 PRINT "NAME IN USE, INPUT ANOTHER" 300 GOTO 120 310 NEXT O1 315 M$(Q5)=N$(Q5) 320 GOTO 360 330 PRINT "TYPE PLAYERS NAME (ONE ONLY AT A TIME)" 340 PRINT "'YOU' IF THE COMPUTER IS PLAYING." 350 GOTO 120 360 T(Q5)=1500 370 NEXT Q5 380 IF Z7=1 THEN 410 390 A7=1 400 A8=1 410 FOR B4= 1 TO 40 420 Fog Library Disk FOG-CPM.064 Copyright (1986) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. MBasic games for most CP/M computers. Filename Description -06-00 .86 This is the release date of the disk. -CPM064 .DOC This is the description of the disk contents. MENU .BAS 4E10 1K [MBasic games 1 of 23] Modify this menu to include other games or the delete those you don't want to play. MENU .DOC 1EC5 1K [MBasic games 2 of 23] CRAPS .BAS C0D9 3K [MBasic games 3 of 23] The infamous casino game. CUBE .BAS 3788 5K [MBasic games 4 of 23] Avoid the hidden land mines in this game. DIAMOND .BAS E9B8 1K [MBasic games 5 of 23] This game prints a diamond pattern. DICE .BAS 48CB 1K [MBasic games 6 of 23] This game simulates a dice roll. DIGITS .BAS 8C93 3K [MBasic games 7 of 23] Number guessing game. EVENWIN1.BAS 3D2A 3K [MBasic games 8 of 23] A one player version of the Even Wins game. EVENWIN2.BAS 76D3 4K [MBasic games 9 of 23] A two pla yer version of the Even Wins game. FLIPFLOP.BAS 1C11 2K [MBasic games 10 of 23] Flip the characters in this game. FOOTBAL1.BAS 80E8 8K [MBasic games 11 of 23] Dartmouth championship football game. FOOTBAL2.BAS 0C1D 8K [MBasic games 12 of 23] NFL football game. FURTRADR.BAS 737A 7K [MBasic games 13 of 23] Fur Trader game. GOLF .BAS D4BE 7K [MBasic games 14 of 23] Practice your swing on this game. GOMOKO .BAS AF23 3K [MBasic games 15 of 23] Gomoko board game. GUESS .BAS 5BDD 2K [MBasic games 16 of 23] Number guessing game. GUNNER .BAS 7A82 2K [MBasic games 17 of 23] You are a gun crew commander in this game. HAMURABI.BAS 4625 5K [MBasic games 18 of 23] Game to test your skills at running a government. HANGMAN .BAS F762 4K [MBasic games 19 of 23] A word game. HELLO .BAS 27C1 4K [MBasic games 20 of 23] Answer the question game. HI-Q .BAS A9C2 4K [MBasic games 21 of 23] Puzzle game. HOCKEY .BAS 5C20 9K [MBasic games 22 of 23] All the action without ice with this game. HORSRACE.BAS 9253 4K [MBasic games 23 of 23] The Suffern Downs classic game. AWARI .BAS 6973 4K MBasic version of the ancient African board game. BIO-FF .BAS B51D 5K MBasic Biorhythm chart game. CHECKERS.BAS 433F 5K Play checkers against your computer with this game. CRAZY-8 .BAS 45BC 7K Crazy eights card game. DCHARGE .BAS 180D 2K MBasic depth charge game. GAMMON .BAS 8C27 19K MBasic version of backgammon game. HEXAPAWN.BAS 6C37 6K MBasic game where you move pawns on a board.  [MBasic games 23 of 23] The Suffern Downs classic game. AWARI .BAS 6973 4K MBasic version of the an2230 GOTO 2760 2240 PRINT " ,BUT IT IS MORTGAGED" 2250 GOTO 2760 2260 P=P(B3) 2270 T(V(P(B)))= T(V(P(B)))+ R(P(B)) 2280 GOTO 2760 2290 ON S(P(B)) GOTO 2760,2370,2420,2490,2600,2630,2670,2310,2710,2740 2300 REM FOR UNIQUE SQUARES IT SENDS THE PROGRAM TO THE RIGHT DIRECTION 2310 Y9=P(B) 2320 IF A(B)=0 THEN 2350 2330 PRINT "I AM ON ";P$(Y9);"." 2340 GOTO 2760 2350 PRINT "YOU ARE ON ";P$(Y9) 2360 GOTO 2760 2370 PRINT "COMMUNITY CHEST "; 2380 PRINT "--"; 2390 GOSUB 3750 2400 REM GOES TO CHANCE-COMMUNITY CHEST GOSUB 2410 GOTO 2440 2420 PRINT "CHANCE--"; 2430 GOSUB 3750 2440 IF V0=1 THEN 2460 2450 GOTO 2760 2460 V0=0 2470 R5=1 2480 GOTO 1640 2490 Z2=.1*(T(B)) 2500 IF Z2>0 THEN 2530 2510 PRINT O$;" IS ON INCOME TAX, BUT HAS A NEGATIVE AMOUNT OF MONEY" 2520 GOTO 2760 2530 IF Z2>200 THEN 2570 2540 T(B)= T(B)-INT(Z2) 2550 PRINT "INCOME TAX--$";INT(Z2) 2560 GOTO 2760 2570 T(B)= T(B)- 200 2580 PRINT "INCOME TAX-$200" 2590 GOTO 2760 2600 T(B)= T(B)-75 2610 PRINT "LUXURY TAX $75" 2620 GOTO 2760 2630 J(B)=1 2640 P(B)=10 2650 PRINT "GO TO JAIL" 2660 GOTO 2760 2670 PRINT "FREE PARKING-$";J0;"." 2680 T(B)=T(B)+J0 2690 J0=200 2700 GOTO 2760 2710 R5=1 2720 GOTO 1640 2730 GOTO 2760 2740 U=1 2750 GOTO 1630 2760 IF G(B)>0 THEN 940 2770 PRINT 2780 IF A8=-1 THEN 3000 2790 IF A8=0 THEN 2850 2800 IF A8=5 THEN 2830 2810 A8=A8+1 2820 GOTO 3700 2830 A8=1 2840 GOTO 3000 2850 PRINT "SUMMARY"; 2860 INPUT A$ 2870 IF A$="AUTO" THEN 2890 2880 GOTO 2910 2890 A8=1 2900 GOTO 3700 2910 IF A$="ALWAYS" THEN 2930 2920 GOTO 2950 2930 A8=-1 2940 GOTO 3000 2950 IF LEFT$(A$,1)="N" THEN 3700 2960 IF LEFT$(A$,1)="Y" THEN 3000 2970 PRINT "'YES' OR 'NO' OR 'AUTO'( GIVES A SUMMARY EVERY FIVE TURNS" 2980 PRINT "AND DOESN'T ASK YOU ANY MORE" 2990 GOTO 2850 3000 GOTO 3010 3010 FOR J8=1 TO N 3020 X=0 3030 T0=0 3040 IF Q(J8)=1 THEN 3650 3050 T$=" " 3060 IF A(J8)=1 THEN 3120 3070 IF N$(J8)<>"ME" THEN 3100 3080 PRINT "YOU HAVE $";T(J8); 3090 GOTO 3160 3100 PRINT N$(J8);" HAS $";T(J8);  3110 GOTO 3160 3120 PRINT "I"; 3130 IF W7=1 THEN 3150 3140 PRINT "(PLAYER";J8;")"; 3150 PRINT " HAVE $";T(J8); 3160 FOR J9=1 TO 40 3170 IF V(J9)=J8 THEN 3190 3180 GOTO 3350 3190 IF T$= " " THEN 3210 3200 PRINT ","; T$; 3210 T$= P$(J9) 3220 X=X+C(J9)+B(J9)*INT((S(J9)-10)/2+.5)*50 -M(J9)* .5*C(J9) 3230 IF B(T)=0 THEN 3310 3240 IF B(T)>1 THEN 3270 3250 PRINT "(WITH A HOUSE)"; 3260 GOTO 3310 3270 IF B(T)<5 THEN 3300 3280 PRINT "(WITH A HOTEL)"; 3290 GOTO 3310 3300 PRINT "(WITH";B(T);"HOUSES)"; 3310 IF M(T)=0 THEN 3330 3320 PRINT "(MORTGAGED)"; 3330 T=J9 3340 IF T0=1 THEN 3460 3350 NEXT J9 3360 IF F(J8)>0 THEN 3420 3370 IF T$<>" " THEN 3400 3380 PRINT "." 3390 GOTO 3610 3400 PRINT ", AND ";T$; 3410 GOTO 3440 3420 IF T$=" " THEN 3470 3430 PRINT ",";T$; 3440 T0=1 3450 GOTO 3230 3460 T0=0 3470 IF F(J8)=0 THEN 3550 3480 IF F(J8)=1 THEN 3520 3490 PRINT ",AND ";F(J8);"JAILCARDS."; 3500 X=X+F(J8)*50 3510 GOTO 3610 3520 PRINT ",AND A JAILCARD."; 3530 X=X+50 3540 GOTO 3610 3550 !IF T$=" " THEN 3610 3560 K(0)=LEN(T$):FOR XE=1 TO K(0):K(XE)=ASC(MID$(T$,XE,1)):NEXT XE 3570 IF K(K(0))=46 THEN 3600 3580 PRINT "."; 3590 GOTO 3610 3600 GOTO 3610 3610 PRINT 3620 IF X=0 THEN 3640 3630 PRINT " TOTAL ASSETS:$";T(J8)+X;"." 3640 PRINT 3650 NEXT J8 3660 PRINT " "; 3670 PRINT "$";J0;" ON THE FREE PARKING JACKPOT." 3680 PRINT 3690 PRINT 3700 IF I0=0 THEN 3720 3710 GOTO 590 3720 PRINT 3730 NEXT B3 3740 GOTO 520 3750 J5=INT(RND(1)*7)+1 3760 ON J5 GOTO 3770,3810,3870,3930,3990,4040,4070 3770 PRINT "GOTO JAIL!!!" 3780 J(B)=1 3790 P(B)=10 3800 GOTO 4090 3810 PRINT "COLLECT $50 FROM EVERYONE" 3820 FOR Y3=1 TO N 3830 T(Y3)= T(Y3)-50 3840 NEXT Y3 3850 T(B)=T(B)+N*50 3860 GOTO 4090 3870 PRINT "GO TO READING" 3880 P(B)=5 3890 P=5 3900 V0=1 3910 REM V0 TELLS THE PROGRAM TO GO TO READING 3920 RETURN 3930 PRINT "PAY ALL $50" 3940 FOR Y4=1 TO N 3950 T(Y4)= T(Y4)+50 3960 NEXT Y4 3970 T(B)=T(B)-N*50 3980 GOTO 4090 3990 Y2=INT(RND(1)*4)+1 4000 PRINT "PAY $";Y2*50 4010 T(B)=T(B)-Y2*50 4020 J0=J0+Y2*50 4030 GOTO 4090 4040 PRINT "GO DIRECTLY TO GO" 4050 P(B)=40 4060 GOTO 4090 4070 PRINT "TICKET OUT OF JAIL" 4080 F(B)=F(B)+1 4090 RETURN 4100 DATA MEDITERRANEAN,11,2,60,CC,2,BALTIC,11,4,60,IT,4 4110 DATA READING,9,25,200,ORIENTAL,12,6,100,CH,3 4120 DATA VERMONT,12,6,100,CONN.,12,8,120,JAIL,8 4130 DATA ST. CHAS.,13,10,140,ELECTRIC WORKS,10,1,150,STATES 4140 DATA 13,10,140,VIRGINIA,13,12,160,PENNS.RR.,9,25,200 4150 DATA ST.JAMES,14,14,180,CC,2,TENNESSEE,14,14,180 4160 DATA NEW YORK,14,16,200,FP,7,KENTUCKY,15,18,200 4170 DATA CH,3,INDIANA,15,18,220,ILLINOIS,15,20,240 4180 DATA B&O RR,9,25,200 4190 DATA ATLANTIC,16,22,260,VENTNOR 4200 DATA 16,22,260,WATER WORKS,10,1,150,M. GARDENS 4210 DATA 16,24,280,GOJAIL,6,PACIFIC,17,26,300,N.CAROLINA 4220 DATA 17,26,300,CC,2,PENNS. AVE.,17,28,320 4230 DATA SHORTLINE,9,25,200,CHANCE,3,PARKPLACE,18 4240 DATA 35,350,LT,5,BOARDWALK,18,50,400,GO,8 4250 DATA GO,8 4260 Z=0 4270 Z(3)=0 4280 Z(2)=0 4290 Z(1)=0 4300 IF U8=0 THEN 4340 4310 B9=E9 4320 P=E8 4330 GOTO 4360 4340 B9=B3 4350 P=P(B9) 4360 IF S(P)<11 THEN 4490 4370 IF P>4 THEN 4400 4380 I7=0 4390 GOTO 4410 4400 I7= P-4 4410 IF P>35 THEN 4440 4420 Q1= P+4 4430 GOTO 4450 4440 Q1=40 4450 FOR W1= I7 TO Q1 4460 IF S(W1) = S(P) THEN 4480 4470 GOTO 4520 4480 IF V(W1)= B9 THEN 4500 4490 RETURN 4500 Z=Z+1 4510 Z(Z)=W1 4520 NEXT W1 4530 E(B9)= E(B9)+1 4540 IF A(B9)=0 THEN 4570 4550 PRINT "I HAVE A MONOPOLY AND THE RENTS ARE DOUBLED" 4560 GOTO 4580 4570 PRINT "YOU NOW HAVE MONOPOLY. THE RENTS ARE DOUBLED" 4580 FOR Z2=1 TO 3 4590 R(Z(Z2))= 2*R(Z(Z2)) 4600 O(Z(Z2))=1 4610 NEXT Z2 4620 IF S(Z(1))<11 THEN 4640 4630 GOTO 4650 4640 RETURN 4650 GOSUB 4770 4660 U8=0 4670 RETURN 4680 FOR I1=1 TO 40 4690 IF S(I1)= S(B) THEN 4710 4700 GOTO 4750 4710 IF V(I1)= V9 THEN 4730 4720 RETURN 4730 Z=Z+1 4740 Z(Z)=I1 4750 NEXT I1 4760 GOTO 4570 4770 PRINT " DO ";O$;" WANT HOUSES NOW"; 4780 IF A(B9)=0 THEN 4820 4790 IF T(B9)>500 THEN 4880 4800 PRINT "? *NO*" 4810 RETURN 4820 INPUT Z$ 4830 IF LEFT$(Z$,1)="N" THEN 4870 4840 IF LEFT$(Z$,1)="Y" THEN 4900 4850 PRINT "YES OR NO"; 4860 GOTO 4820 4870 RETURN 4880 I3=1 4890 GOTO 4920 4900 PRINT "LOT, #OF HOUSES"; 4910 IF A(B)=0 THEN 5120 4920 FOR I2= 1 TO 40 4930 IF V(I2)<>B9 THEN 4990 4940 IF O(I2)=0 THEN 4990 4950 IF B(I2)>4 THEN 4990 4960 GOTO 5050 4970 H=I2 4980 GOTO 5250 4990 NEXT I2 5000 GOTO 5030 5010 IF I3> 5 THEN 5030 5020 GOTO 4920 5030 PRINT "?*NO*" 5040 RETURN 5050 IF T(B)>1700 THEN 5090 5060 IF B(I2)>5-INT(T(B)/350) THEN 5090 5070 H4=INT (T(B)/350) 5080 GOTO 5100 5090 H4= 5-B(I2) 5100 PRINT "?* YES ";H4;" ON ";P$(I2);"*" 5110 GOTO 5260 5120 INPUT H$,H5 5130 IF LEFT$(H$,1)="N" THEN 4870 5140 IF H$="WHAT" THEN 9370 5150 IF H5>0 THEN 5190 5160 PRINT "A POSITIVE NUMBER PLEASE!" 5170 INPUT H5 5180 GOTO 5150 5190 FOR H=1 TO 40 5200 IF P$(H)= H$ THEN 5250 5210 NEXT H 5220 PRINT "WHAT LOT"; 5230 INPUT H$ 5240 GOTO 5130 5250 IF A(B)=0 THEN 5310 5260 H5=H4 5270 H=I2 5280 GOTO 5310 5290 PRINT "YOU DON'T OWN THAT" 5300 GOTO 4770 5310 H7=H5+B(H) 5320 GOSUB 5340 5330 GOTO 5590 5340 R(H)=L(H) 5350 IF H7<6 THEN 5390 5360 PRINT " YOU WILL HAVE TO HAVE 5 HOUSES (ONE HOTEL)" 5370 H5=H7-B(H) 5380 H7=5 5390 IF H7>0 THEN 5420 5400 PRINT "YOU CAN'T HAVE LESS THAN 0 HOUSES." 5410 GOTO 5570 5420 B(H)=0 5430 FOR H6= 1 TO H7 5440 B(H)=H6 5450 J=H 5460 IF B(H)=0 THEN 4870 5470 ON B(H) GOTO 5480,5500,5520,5540,5540 5480 R(J)= R(J)*2.5 5490 GOTO 5550 5500 R(J)=R(J)*3 5510 GOTO 5550 5520 R(J)= R(J)*2.3 5530 GOTO 5550 5540 R(J)=R(J)+185 5550 R(J)= 10* INT(R(J)/10 +.5) 5560 NEXT H6 5570 PRINT "THE RENT IS NOW $";R(J);"." 5580 RETURN 5590 C=INT((S(J)-10)/2+.5)*50 5600 IF H5=1 THEN 5630 5610 PRINT "THOSE WERE $";C;"EACH, MAKING $";H5*C;"." 5620 GOTO 5640 5630 PRINT "THAT WAS $";C;"." 5640 T(B9)= T(B9)- H5*C 5650 X(B9)=X(B9)+H5 5660 RETURN 5670 PRINT "ANOTHER"; 5680 GOTO 4780 5690 RETURN 5700 GOTO 4440 5710 PRINT "WHAT DO ";O$;" WANT T"O MORTGAGE"; 5720 I3=1 5730 IF A(B)=0 THEN 5910 5740 IF T(B)>150 THEN 5860 5750 FOR I4= 1 TO 40 5760 IF V(I4)=B THEN 5780 5770 GOTO 5840 5780 IF O(I4)= I3 THEN 5840 5790 IF M(I4)=1 THEN 5840 5800 IF B(I4)<>0 THEN 5840 5810 PRINT "? *";P$(I4);"*" 5820 Z5=I4 5830 GOTO 6000 5840 NEXT I4 5850 IF I3=1 THEN 5890 5860 PRINT "? *NOTHING*" 5870 RETURN 5880 GOTO 6110 5890 I3=0 5900 GOTO 5750 5910 INPUT Z$ 5920 IF Z$="WHAT" THEN 9400 5930 IF LEFT$(Z$,3)<>"NOT" THEN 5950 5940 RETURN 5950 FOR Z5=1 TO 40 5960 IF P$(Z5)=Z$ THEN 6000 5970 NEXT Z5 5980 PRINT "WHAT"; 5990 GOTO 5910 6000 IF B(Z5)>0 THEN 6120 6010 FOR X=1 TO 40 6020 IF S(X)<>S(Z5) THEN 6060 6030 IF B(X)=0 THEN 6060 6040 PRINT "THERE ARE HOUSES ON OTHER LOTS OF MONPOLY. YOU MUST SELL THEM." 6050 GOTO 5710 6060 NEXT X 6070 GOTO 6150 6080 M(Z5)=1 6090 N(B)= N(B)+1 6100 T(B)= T(B)+.5*C(Z5) 6110 GOTO 5710 6120 PRINT "THERE ARE HOUSES ON IT" 6130 GOTO 5710 6140 RETURN 6150 IF V(Z5)>B3 THEN 6200 6160 IF V(Z5)"WHAT" THEN 6410 6380 PRINT "TYPE 'NOTHING', A PROPERTY NAME, OR 'HOUSES' IF" 6390 PRINT "YOU WANT TO SELL THEM." 6400 GOTO 6360 6410 IF LEFT$(Z$,3)="NOT" THEN 6590 6420 IF Z$="HOUSES" THEN 6600 6430 FOR E=1 TO 40 6440 IF P$(E)=Z$ THEN 6480 6450 NEXT E 6460 PRINT "WHAT"; 6470 GOTO 6360 6480 IF M(E)=1 THEN 6510 6490 PRINT "IT ISN'T MORTGAGED" 6500 GOTO 6230 6510 IF V(E)=B THEN 6540 6520 PRINT "YOU DON'T OWN IT" 6530 GOTO 6230 6540 M(E)=0 6550 N(B)= N(B)-1 6560 T(B)=T(B)-INT(.6*C(E)) 6570 PRINT "WITH INTEREST THAT WAS$";INT(.6*C(E)) 6580 IF N(B)>0 THEN 6230 6590 RETURN 6600 PRINT "LOT,# OF HOUSES"; 6610 INPUT Z$,E2 6620 IF E2>0 THEN 6650 6630 PRINT "INPUT A POSITIVE NUMBER" 6640 GOTO 6600 6650 IF Z$="NO" THEN 6110 6660 GOTO 6700 6670 PRINT "TYPE IN THE NAME OF THE LOT THEN THE # OF HOUSES YOU ARE" 6680 PRINT "SELLING. TO SELL NONE TYPE 'NO'" 6690 GOTO 6600 6700 FOR E3=1 TO 40 6710 IF P$(E3)=Z$ THEN 6760 6720 NEXT E3 6730 PRINT "WHAT LOT"; 6740 INPUT Z$ 6750 GOTO 6650 6760 B(E3)= B(E3)-E2 6770 X(B)=X(B)-E2 6780 IF B(E3)<0 THEN 6870 6790 H=E3 6800 H7=B(H) 6810 GOSUB 5340 6820 E4=INT((S(E3)-10)/2+.5)*25 6830 E4=E4*E2 6840 PRINT " YOU GET$";E4 6850 T(B)=T(B)+E4 6860 GOTO 6230 6870 PRINT "YOU DON'T HAVE THAT MANY" 6880 B(E3)=B(E3)+E2 6890 GOTO 6600 6900 GOTO 6230 6910 IF A7=1 THEN 7050 6920 IF E6=0 THEN 6960 6930 E6=E6+1 6940 IF E6<3 THEN 7090 6950 E6=1 6960 PRINT "CHANGES"; 6970 E6=0 6980 INPUT Z$ 6990 IF Z$<>"WHAT" THEN 7020 7000 PRINT "'YES', 'NO','NEVER',OR 'DELAY'( WILL ASK AGAIN IN THREE TURNS"; 7010 GOTO 6980 7020 IF Z$= "NEVER" THEN 7040 7030 GOTO 7060 7040 A7=1 7050 RETURN 7060 IF Z$="YES" THEN 7170 7070 IF Z$<>"DELAY" THEN 7110 7080 E6=1 7090 PRINT 7100 RETURN 7110 IF Z$="NO" THEN 7090 7120 PRINT "TYPE 'YES', OR 'NO' IF YOU WANT TO MAKE CHANGES OR NOT" 7130 PRINT "OR 'DELAY' TO HAVE IT ASK YOU LATER" 7140 GOTO 6960 7150 RETURN 7160 IF T(B9)> 300 THEN 4880 7170 GOTO 7210 7180 REM THIS PART WILL TRANSFERR OWNERSHIP OF A PROPERTY 7190 REM TO SOMEONE ELSE AND TRANSFER SOME MONEY TO 7200 REM TO CORRRESPOND 7210 PRINT "('WHAT,A,0' FOR INST.)"; 7220 INPUT Z$,A$,A 7230 IF Z$="NEW PLAYER" THEN 10120 7240 IF A$<>"YOU" THEN 7260 7250 A$="COMPUTER" 7260 IF Z$="NEW PLAYER" THEN 10120 7270 IF Z$="WHAT" THEN 9420 7280 IF Z$= "NO" THEN 8240 7290 IF Z$="QUIT" THEN 7590 7300 IF Z$="JAIL CARD" THEN 7590 7310 IF Z$="JAILCARD" THEN 7590 7320 IF A$<>"BANK" THEN 7360 7330 GOTO 7590 7340 PRINT " THAT'S ILLEGAL!" 7350 GOTO 7210 7360 FOR E8=1 TO 40 7370 IF P$(E8)= Z$ THEN 7460 7380 NEXT E8 7390 PRINT "WHAT LOT"; 7400 INPUT Z$ 7410 IF Z$<>"WHAT" THEN 7440 7420 PRINT "TYPE THE PROPERTY NAME OR 'NO'" 7430 GOTO 7400 7440 IF Z$="NO" THEN 6960 7450 GOTO 7360 7460 IF S(E8)<9 THEN 8250 7470 T8=0 7480 IF V(E8)=0 THEN 8270 7490 IF B(E8)>0 THEN 7570 7500 FOR I2= 1 TO 40 7510 IF S(I2)<>S(E8) THEN 7550 7520 IF B(I2)=0 THEN 7550 7530 PRINT "THERE ARE HOUSES ON OTHER LOTS OF MONOPOLY.YOU MUST SELL THEM." 7540 GOTO 6960 7550 NEXT I2 7560 GOTO 7590 7570 PRINT "THERE ARE HOUSES ON IT" 7580 GOTO 7210 7590 T8=0 7600 FOR E9= 1 TO N 7610 IF N$(E9)=A$ THEN 7630 7620 GOTO 7640 7630 T8=T8+1 7640 NEXT E9 7650 ON T8+1 GOTO 7770,7860,7660,7660,7660,7660,7660,7660,7660,7660 7660 PRINT "WHICH PLAYER NO.('-1' FOR INSTRUCTIONS)"; 7670 INPUT E9 7680 IF E9>0 THEN 7720 7690 PRINT "TYPE THE PLAYER NO. OF THE PIECE. BECAUSE I" 7700 PRINT "PLAY MORE THAN ONE PLAYER, I MUST KNOW WHICH"; 7710 GOTO 7670 7720 IF E9>N THEN 7660 7730 IF A(E9)=1 THEN 7760 7740 PRINT "I AM NOT ";N$(E9) 7750 GOTO 7660 77#60 GOTO 7860 7770 PRINT "WHO"; 7780 INPUT A$ 7790 IF A$="NO" THEN 8290 7800 IF A$<>"WHAT" THEN 7820 7810 PRINT "TYPE NEW OWNER'S NAME OR 'NO'"; 7820 GOTO 7590 7830 REM THIS IS FOR JAILCARDS 7840 GOSUB 9610 7850 GOTO 6960 7860 GOTO 7870 7870 FOR E9=1 TO N 7880 IF N$(E9)<>A$ THEN 7900 7890 GOTO 7910 7900 NEXT E9 7910 B=E9 7920 IF Z$="JAILCARD" THEN 7830 7930 IF Z$<>"QUIT" THEN 7970 7940 B=E9 7950 GOSUB 9240 7960 GOTO 6960 7970 U5=V(E8) 7980 IF A$="BANK" THEN 8090 7990 IF A(V(E8))=1 THEN 8420 8000 IF A(E9)=1 THEN 8360 8010 T(V(E8))= T(V(E8))+A 8020 IF S(E8)<>9 THEN 8050 8030 W(V(E8))=W(V(E8))-1 8040 W(E9)=W(E9)+1 8050 IF S(E8)<>10 THEN 8080 8060 U(V(E8))=U(V(E8))-1 8070 U(E9)=U(E9)+1 8080 V(E8)= E9 8090 T(E9)= T(E9)-A 8100 IF A$="BANK" THEN 6960 8110 IF O(E8)=1 THEN 8130 8120 GOTO 8210 8130 FOR O9= 1 TO 40 8140 IF S(O9)=S(E8) THEN 8160 8150 GOTO 8180 8160 R(O9)= R(O9)/2 8170 O(O9)=0 8180 NEXT O9 8190 PRINT "NO LONGER A MONOPOLY THERE" 8200 E(U5)= E(U5)-1 8210 U8=1 8220 P=E8 8230 GOSUB 4260 8240 GOTO 6960 8250 PRINT " YOU FOOL, YOU CANT OWN ";Z$;"!!!!" 8260 GOTO 7210 8270 PRINT "IT ISN'T OWNED" 8280 GOTO 7210 8290 GOTO 6960 8300 REM THIS BELONGS TO LINES 1049-- 8310 R(P(B))=INT(RND(1)*6+1)*U3 8320 W9=P(B) 8330 W8=V(P(B)) 8340 GOTO 2130 8350 W8=V(P(B)) 8360 IF T(E9)> 200+ C(E8) THEN 8390 8370 PRINT "I DONT ACCEPT" 8380 GOTO 7170 8390 IF A> 150+C(E8) THEN 8370 8400 PRINT "I ACCEPT" 8410 GOTO 8010 8420 IF O(E8)=1 THEN 8520 8430 IF A>2*C(E8) THEN 590 8440 IF S(O1)<>S(E8) THEN 8460 8450 IF V(O1)<>E9 THEN 8500 8460 NEXT O1 8470 IF T(V(E8))>200 THEN 8520 8480 IF A1.5*C(E8) THEN 8560 8550 GOTO 8520 8560 PRINT "IT IS A DEAL" 8570 GOTO 8010 8580 PRINT " THIS PROGRAM WILL HANDLE UP TO TEN PLAYERS" 8590 PRINT "OR PIECES. IT WILL DO ALL ROUTINE JOBS SUCH AS" 8600 PRINT "ROLLING THE DICE,MOVING PIECES, AND INFORMING THE" 8610 PRINT "PLAYERS OF ALL OPTIONS. IT WILL ACTUALLY" 8620 PRINT "PLAY THE GAME MAKING THE DECISIONS OF ANY NUMBER OF PLAYERS." 8630 PRINT "WANT THE COMPUTER TO DO THIS TYPE 'YOU' WHEN IT ASKS" 8640 PRINT "FOR THE NAME." 8650 PRINT "OF PLAYERS. TO DO THIS TYPE 'YOU' AS THE" 8660 PRINT " NAME OF THAT PLAYER." 8670 PRINT 8680 PRINT "THIS PROGRAM IS FAIRLY SELF-EXPLANATORY, HOWEVER THE FOLLOWING" 8690 PRINT "THINGS MUST BE KEPT IN MIND:" 8700 PRINT 8710 PRINT " 1. IF A QUESTION IS NOT UNDERSTOOD,TYPING 'WHAT' WILL" 8720 PRINT "USUALLY GIVE INSTRUCTIONS. HOWEVER SOME QUESTIONS WILL" 8730 PRINT "ASK FOR MORE THAN ONE THING AND THIS NUMBER OF THINGS MUST" 8740 PRINT "BE TYPED SEPERATED BY COMMAS. ALSO CARE MUST BE " 8750 PRINT "TAKEN THAT ALL INPUTS ARE EITHER NUMERIC OR ALPHABETIC" 8760 PRINT "AS ASKED FOR. EXAMPLE:" 8770 PRINT " LOT, # OF HOUSES? WHAT,0" 8780 PRINT "WILL GIVE INSTRUCTIONS." 8790 PRINT " 2. THE COMPUTER WILL OFTEN ASK IF YOU WANT CHANGES" 8800 PRINT "OR A SUMMARY. THE CHANGES ROUTINE WILL BE DESCRIBED" 8810 PRINT "BELOW, BUT IF YOU DON'T WANT TO BE BOTHERED WIL THE" 8820 PRINT "EVERYTIME, TYPE 'NEVER' TO HAVE IT STOP ASKING" 8830 PRINT "COMPLETELY, OR 'DELAY' TO HAVE IT ASK IN THREE" 8840 PRINT "TURNS. FOR SUMMARY TYPE 'AUTO' AND IT WILL " 8850 PRINT "GIVE A SUMMARY EVERY 5 TURNS, WITHOUT ASKING YOU AGAIN" 8860 PRINT " 3. TO SELL PROPERTIES OR ADD AND DROP PLAYERS USE THE " 8870 PRINT "CHANGES ROUTINE. TYPE 'YES' WHEN IT ASKS 'CHANGES?'" 8880 PRINT "TYPE 'YES' THEN TYPE 'WHAT,A,0' FOR COMPLETE INSTRUCTIONS" 8890 PRINT " 4. FIVE HOUSES ARE EQUIVALENT TO ONE HOTEL." 8900 PRINT " 5. IF YOU TYPE 'YOU' FOR ALL THE NAMES" 8910 PRINT "THE COMPUTER WILL PLAY ITSELF WITHOUT" 8920 PRINT "ASKING YOU FOR ANYTHING. TYPING CONTROL-O" 8930 PRINT "WILL MAKE THE GAME CONTINUE WITHOUT " 8940 PRINT "TYPE OUT, AND CONTROL-C THEN CONT WILL START THE" 8950 PRINT " TYPE OUT AGAIN WITH THE GAME VERY FAR ALONG." 8960 PRINT " 6. TO SELL HOUSES, WAIT UNTIL THE COMPUTER ASKS" 8970 PRINT "UNMORTGAGE WHAT? AND TYPE 'HOUSES' THEN ANSWER" 8980 PRINT "ANSWER FURTHAR QUESTIONS." 8990 RETURN 9000 PRINT 9010 IF N7=1 THEN 9200 9020 IF A(B)=0 THEN 9100 9030 FOR I2= 1 TO N 9040 IF Q(I2)=1 THEN 9060 9050 IF A(I2)=0 THEN 9080 9060 NEXT I2 9070 GOTO 9200 9080 PRINT "I AM $";ABS(T(B));"IN THE RED. SHOULD I QUIT"; 9090 GOTO 9110 9100 PRINT "YOU ARE $";ABS(T(B));"IN THE HOLE. WILL YOU QUIT"; 9110 INPUT Z$ 9120 IF LEFT$(Z$,1)="Y" THEN 9240 9130 IF LEFT$(Z$,1)="N" THEN 9190 9140 IF LEFT$(Z$,1)="L" THEN 9200 9150 PRINT "TYPE 'YES' TO QUIT OR 'NO' TO KEEP GOING" 9160 PRINT "AND PAYING 5% INTEREST ON THE NEGATIVE AMMOUNT" 9170 PRINT "OR 'LATER' TO NOT QUIT NOW BUT KEEP THE COMPUTER ASKING" 9180 GOTO 9110 9190 N7=1 9200 I1=INT(ABS(.05*T(B)+ .5)) 9210 PRINT "5% INTEREST IS $";I1 9220 T(B)= T(B) - I1 9230 RETURN 9240 Q(B)=1 9250 T(B)=0 9260 FOR I2=1 TO 40 9270 IF V(I2)<>B THEN 9330 9280 V(I2)=0 9290 M(I2)=0 9300 B(I2)=0 9310 R(I2)=L(I2) 9320 O(I2)=0 9330$ NEXT I2 9340 N$(B)=" " 9350 RETURN 9360 GOTO 6360 9370 PRINT "TYPE PROPERTY NAME THEN NUMBER OF HOUSES OR" 9380 PRINT "'NO,0' TO DO NOTHING" 9390 GOTO 5100 9400 PRINT "TYPE A PROPERTY NAME OR 'NOTHING' "; 9410 GOTO 5910 9420 PRINT " THIS ROUTINE CAN DO SEVERAL THINGS:" 9430 PRINT " 1. TO SELL PROPERTY FROM ONE PERSON TO ANOTHER" 9440 PRINT "TYPE THE PROPERTY NAME,THE NEW OWNER'S NAME, THEN" 9450 PRINT "THE AMOUNT IT IS BEING SOLD FOR." 9460 PRINT " 2. TO SELL A JAILCARD, TYPE 'JAILCARD',THE NEW OWNERS" 9470 PRINT "NAME, THEN THE AMOUNT IT IS BEING SOLD FOR." 9480 PRINT "IF NEEDED THE COMPUTER WILL ASK WHO IT CAME FROM." 9490 PRINT " 3. FOR EITHER OF THE ABOVE,'YOU' CAN BE USED AS THE" 9500 PRINT "NEW OWNER'S NAME,OR THE COMPUTERS PROPERTY CAN BE USES" 9510 PRINT "THE COMPUTER WILL THEN DECIDE IF IT WILL ACCEPT YOUR OFFER," 9520 PRINT "AND TELL YOU IF IT WILL BUY OR SELL." 9530 PRINT " 4. TO ADD A NEW PLAYER TYPE:'NEW PLAYER',HIS NAME,'0'" 9540 PRINT " 5. TO DROP A PLAYER TYPE:'QUIT',HIS NAME,'0'" 9550 PRINT 9560 GOTO 7210 9570 B=E9 9580 REMARK THIS IS FOR QUITING FORM CHANGE ROUTINE 9590 GOSUB 9240 9600 GOTO 6960 9610 REM THIS IS FOR CHANGING JAILCARDS 9620 IF N<>2 THEN 9650 9630 T0=3-E9 9640 GOTO 9880 9650 PRINT "WHO FROM"; 9660 INPUT Z$ 9670 IF Z$<>"WHAT" THEN 9710 9680 PRINT "TYPE THE PERSON'S NAME FROM WHOM THE CARD" 9690 PRINT " CAME.";N$(E9);" HAD IT. WHO HAS IT NOW"; 9700 GOTO 9660 9710 IF Z$<>"YOU" THEN 9830 9720 IF W8=1 THEN 9820 9730 PRINT "WHICH #"; 9740 PRINT "('0' FOR INST.)"; 9750 INPUT O3 9760 IF O3>0 THEN 9790 9770 PRINT "I AM PLAYING SEVERAL PLAYERS. TYPE NO. OF ONE YOU WANT"; 9780 GOTO 9750 9790 IF O3>N THEN 9770 9800 T0=O3 9810 GOTO 9880 9820 Z$="COMPUTER" 9830 FOR T0= 1 TO 40 9840 IF N$(T0)= Z$ THEN 9880 9850 NEXT T0 9860 PRINT "WHO "; 9870 GOTO 9660 9880 IF A(T0)=0 THEN 9960 9890 IF A>45 THEN 9920 9900 IF A<30 THEN 9940 9910 GOTO 9940 9920 PRINT " OK" 9930 GOTO 10070 9940 PRINT " NO" 9950 RETURN 9960 IF A(E9)=0 THEN 10010 9970 IF A>50 THEN 9940 9980 IF F(E9)=1 THEN 9940 9990 IF T(E9)<200 THEN 9940 10000 GOTO 9920 10010 IF F(T0)=1 THEN 9940 10020 IF A(T0)=0 THEN 10050 10030 IF A> 45 THEN 9940 10040 GOTO 10060 10050 PRINT "HE DOESN'T HAVE ONE" 10060 RETURN 10070 F(T0)= F(T0)-1 10080 F(E9)=F(E9)+1 10090 T(T0)=T(T0)+A 10100 T(E9)=T(E9)-A 10110 RETURN 10120 REM THIS ALLOWS A NEW PLAYER 10130 IF A$="YOU" THEN 10210 10140 FOR O9=1 TO N 10150 IF N$(O9)=A$ THEN 10180 10160 NEXT O9 10170 GOTO 10210 10180 PRINT "INPUT A NAME NOT ALREADY USED"; 10190 INPUT A$ 10200 GOTO 10140 10210 FOR O9=1 TO N 10220 IF Q(O9)=1 THEN 10370 10230 NEXT O9 10240 IF N<10 THEN 10270 10250 PRINT "TOO MANY PLAYERS. SOMEONE WILL HAVE TO QUIT." 10260 GOTO 6960 10270 N=N+1 10280 Q(N)=0 10290 T(N)=1500 10300 IF A$<>"YOU" THEN 10350 10310 N$(N)="COMPUTER" 10320 W7=W7+1 10330 A(N)=1 10340 GOTO 6960 10350 N$(N)=A$ 10360 GOTO 6960 10370 REM THIS IS FOR NEW PLAYER 10380 N$(O9)= A$ 10390 Q(O9)=0 10400 P(O9)=0 10410 T(O9)=1500 10420 IF N$(9)<>"YOU" THEN 10460 10430 N$(O9)="COMPUTER" 10440 W7=W7+1 10450 A(O9)=1 10460 GOTO 6960 10470 END O9)=1500 1042 A(T0)=0 THEN 10050 10030 IF A> 45 THEN 9940 10040 GOTO 10060 10050 PRINT "HE DOESN'T HAVE ONE" 10060 RETURN 10070 F(T0)= F(T0)-1 10080 F(E9)=F(E9)+1 10090 T(T0)=T(T0)+A 10100 T(E9)=T(E9)-A 10110 RETURN 10120 REM THIS ALLOWS A NEW PLAYER 10130 IF A$="YOU" THEN 10210 10140 FOR O9=1 TO N 10150 IF N$(O9)=A$ THEN 10180 10160 NEXT O9 10170 GOTO 10210 10180 PRINT "INPUT A NAME NOT ALREADY USED"; 10190 INPUT A$ 10200 GOTO 10140 10210 FOR O9=1 TO N 10220 IF Q(O9)=1 THEN 10370 10230 NEXT O9 10240 IF N<10 THEN 10270 10250 PRINT "TOO MANY PLAYERS. SOMEONE WILL HAVE TO QUIT." 10260 GOTO 6960 10270 N=N+1 10280 Q(N)=0 10290 T(N)=1500 10300 IF A$<>"YOU" THEN 10350 10310 N$(N)="COMPUTER" 10320 W7=W7+1 10330 A(N)=1 10340 GOTO 6960 10350 N$(N)=A$ 10360 GOTO 6960 10370 REM THIS IS FOR NEW PLAYER 10380 N$(O9)= A$ 10390 Q(O9)=0 10400 P(O9)=0 10410 T(O9)=1500 1042 ----CHEK--------ver 1.5-------04/11/83---- FILE CRC CHARS RECORDS --FOGCPM.064 76 32 128 1 MENU .BAS 4E 10 1024 8 MENU .DOC 1E C5 640 5 AWARI .BAS 69 73 3456 27 BIO-FF .BAS B5 1D 4352 34 CHECKERS.BAS 43 3F 5120 40 CRAPS .BAS C0 D9 2688 21 CRAZY-8 .BAS 45 BC 6784 53 CUBE .BAS 37 88 4480 35 DCHARGE .BAS 18 0D 1536 12 DIAMOND .BAS E9 B8 768 6 DICE .BAS 48 CB 1024 8 DIGITS .BAS 8C 93 2688 21 EVENWIN1.BAS 3D 2A 2432 19 EVENWIN2.BAS 76 D3 3328 26 FLIPFLOP.BAS 1C 11 2048 16 FOOTBAL1.BAS 80 E8 7680 60 FOOTBAL2.BAS 0C 1D 7424 58 FURTRADR.BAS 73 7A 6400 50 GAMMON .BAS 8C 27 18688 146 GOLF .BAS D4 BE 6400 50 GOMOKO .BAS AF 23 2176 17 GUESS %.BAS 5B DD 1280 10 GUNNER .BAS 7A 82 1920 15 HAMURABI.BAS 46 25 5120 40 HANGMAN .BAS F7 62 3840 30 HELLO .BAS 27 C1 3584 28 HEXAPAWN.BAS 6C 37 5888 46 HI-Q .BAS A9 C2 4096 32 HOCKEY .BAS 5C 20 8832 69 HORSRACE.BAS 92 53 3712 29 MONOPOLY.BAS 6D 39 26752 209 DIAMOND .BAS E9 B8 768 6 DICE .BAS 48 CB 1024 8 DIGITS .BAS 8C 93 2688 21 EVENWIN1.BAS 3D 2A 2432 19 EVENWIN2.BAS 76 D3 3328 26 FLIPFLOP.BAS 1C 11 2048 16 FOOTBAL1.BAS 80 E8 7680 60 FOOTBAL2.BAS 0C 1D 7424 58 FURTRADR.BAS 73 7A 6400 50 GAMMON .BAS 8C 27 18688 146 GOLF .BAS D4 BE 6400 50 GOMOKO .BAS AF 23 2176 17 GUESS ееее&еееее'еееее