INT "IS THROWN FOR A "; 1550 GOTO 1110 1560 LET G=-(2*G+8) 1570 LET M=5 1580 LET A=1 1590 PRINT "SCRAMBLES FOR A "; 1600 GOTO 1110 1610 LET B=B+G 1620 PRINT "TO "; 1630 GOSUB 3300 1640 IF B<=99 THEN 1670 1650 GOSUB 1990 1660 GOTO 630 1670 IF B1>B THEN 3120 1680 IF B1.5 THEN 1730 1700 PRINT "**MEASUREMENT**" 1710 GOSUB 3520 1720 IF RND(X)<.5 THEN 3120 1730 GOSUB 2980 1740 LET D=0 1750 GOTO 3120 1760 IF RND(X)<.06 THEN 1890 1770 LET B=B+30+INT(15*(1-RND(X)^3)) 1780 LET Z9=2 1790 GOSUB 1490 1800 IF B<=99 THEN 1850 1810 LET P1=3 1820 GOSUB 2030 1830 IF P1=0 THEN 710 1840 GOTO 630 1850 PRINT "THE KICK IS "; 1860 LET Z2=0 1870 LET S=3-S 1880 GOTO 2340 1890 PRINT "**BLOCKED** RECOVERED.."; 1900 LET G=-INT(14*RND(X)) 1910 GOTO 1410 1920 PRINT "THE PUNT IS "; 1930 IF RND(X)<.06 THEN 1890 1940 LET F1=B 1950 LET Z2=1 1960 LET S=3-S 1970 LET Z3=.65 1980 GOTO 650 1990 PRINT "** TOUCHDOWN**" 2000 LET P1=1 2010 LET P(S)=P(S)+6 2020 LET B=130 2030 PRINT "THE KICK IS "; 2040 IF RND(X)<(B/132)^4 THEN 2070 2050 LET P1=0 2060 PRINT "NO "; 2070 PRINT "GOOD" 2080 LET P(S)=P(S)+P1 2090 GOSUB 2120 2100 LET S=3-S 2110 RETURN 2120 PRINT "SCORE: ME";P(1);" YOU";P(2) 2130 LET L=0 2140 IF X<5 THEN 2160 2150 IF P(1)<>P(2) THEN 2770 2160 RETURN 2170 PRINT "**SAFETY**" 2180 LET P(3-S)=P(3-S)+2 2190 LET F1=30 2200 LET S=3-S 2210 GOSUB 2120 2220 GOSUB 3440 2230 PRINT "FROM THE 20" 2240 GOTO 650 2250 GOSUB 3440 2260 IF S=2 THEN 2330 2270 PRINT "ON-SIDE"; 2280 GOSUB 3610 2290 IF Q<>13 THEN 2330 2300 LET F2=.15 2310 LET Z2=1 2320 LET O=1 2330 RETURN 2340 LET B=100-B 2350 PRINT "RECEIVED AT "; 2360 GOSUB 3300 2370 IF Z2*RND(X)>Z3 THEN 2490 2380 IF RND(X)99 THEN 1650 2470 PRINT " TO "; 2480 GOSUB 3300 2490 IF RND(0)>F2 THEN 3260 2500 LET G=0 2510 PRINT "**FUMBLE**"; 2520 GOTO 1410 2530 IF S=1 THEN 2560 2540 LET Y=INT(1+3.5*RND(0)) 2550 RETURN 2560 LET M=INT(55*RND(0)/10.5)+1 2570 IF (B1-B)/(5-D)<3 THEN 2590 2580 LET M=INT(6-4*RND(0)^2) 2590 IF L*F*60>=C THEN 2670 2600 IF D<4 THEN 2550 2610 PRINT "I'LL "; 2620 IF B<55 THEN 2720 2630 IF 0<4*RND(0)-B1+B THEN 2750 2640 PRINT "TRY FOR A FIELD GOAL" 2650 LET M=7 2660 RETURN 2670 IF P(2)*U2<=P(1)*U2 THEN 2600 2680 PRINT "TIME OUT" 2690 LET U2=U2-1 2700 GOSUB 3520 2710 GOTO 2600 2720 PRINT "PUNT" 2730 LET M=8 2740 RETURN 2750 PRINT "GO FOR IT" 2760 RETURN 2770 IF X<4 THEN 2830 2780 IF P(1)=P(2) THEN 2830 2790 PRINT "THE GAME IS OVER" 2800 PRINT "FINAL "; 2810 GOSUB 2120 2820 STOP 2830 PRINT "END OF PERIOD";X 2840 GOSUB 2120 2850 LET F=1-F 2860 GOSUB 3520 2870 LET C=900 2880 LET X=X+1 2890 IF F<>0 THEN 810 2900 LET S=3-K 2910 GOTO 580 2920 IF T1=0 THEN 2770 2930 PRINT "2 MINUTE WARNING" 2940 GOSUB 3520 2950 LET T1=0 2960 LET C=120 2970 GOTO 880 2980 LET B1=B+10 2990 IF B1<=100 THEN 3010 3000 LET B1=100 3010 RETURN 3020 LET Q=1.3*(A*RND(0)-1)-.06 3030 LET A=1 3040 IF Q>=0 THEN 3070 3050 LET A=0 3060 LET Q=-Q 3070 LET M1=M-1 3080 LET G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5 3090 LET G=G+INT(RND(0)+.02)*A*100*RND(0) 3100 LET G=INT(G) 3110 RETURN 3120 LET D=D+1 3130 IF D=5 THEN 3240 3140 IF D<> 1 THEN 3160 3150 PRINT "1ST"; 3160 IF D<>2 THEN 3180 3170 PRINT "2ND"; 3180 IF D<>3 THEN 3200 3190 PRINT "3RD"; 3200 IF D<4 THEN 3220 3210 PRINT "4TH"; 3220 PRINT " AND";B1-B;" "; 3230 GOTO 810 3240 LET S=3-S 3250 LET B=100-B 3260 IF S=2 THEN 770 3270 PRINT "MY "; 3280 GOTO 780 3290 PRINT "BALL ON "; 3300 IF B=50 THEN 3400 3310 LET V=50-ABS(B-50) 3320 LET C=C-INT(7+3*RND(0)) 3330 IF S=1 THEN 3420 3340 IF B<50 THEN 3370 3350 PRINT "MY "; 3360 GOTO 3380 3370 PRINT "YOUR "; 3380 PRINT V 3390 RETURN 3400 PRINT "THE 50" 3410 RETURN 3420 IF B<50 THEN 3350 3430 GOTO 3370 3440 IF S=2 THEN 3470 3450 PRINT "YOU"; 3460 GOTO 3480 3470 PRINT "I"; 3480 PRINT " KICK OFF." 3490 LET F2=.06 3500 LET Z2=0 3510 RETURN 3520 LET L=0 3530 PRINT "TIMEOUT CALLED..." 3540 PRINT 3550 RETURN 3560 IF U=0 THEN 3600 3570 LET U=U-1 3580 GOSUB 3520 3590 GOTO 3610 3600 PRINT "..WRONG, TRY AGAIN" 3610 INPUT A 3620 IF ABS(INT(A))>17 THEN 3600 3630 LET Q=R(INT(ABS(A))) 3640 IF Q=0 THEN 3600 3650 IF Q=100 THEN 3560 3660 RETURN 3670 DATA .5,-2,.25,4,.5,13,.55 3680 DATA .4,-2,.3,7,.65,15,.75 3690 DATA .4,-2,.3,6,.6,15,.35 3700 DATA .65,-2,.65,6,.6,17,.9 3710 DATA .4,2,.7,10,.4,27,.2 3720 DATA .1,19,.4,35,.2,100,.1 3730 END 1 PRINT\REM *** MODIFICATIONS TO THE ORIGINAL BY DAVID AHL, DIGITAL 2 PRINT " *** WELCOME TO THE MAYNARD COUNTRY CLUB, AN EIGHTEEN HOLE" 3 PRINT " *** CHAMPIONSHIP LAYOUT, LOCATED JUST A SHORT DISTANCE" 4 PRINT " *** FROM THE HEART OF BEAUTIFUL DOWNTOWN MAYNARD." 5 PRINT" *** THE COMMENTATOR WILL EXPLAIN THE COURSE AS YOU" 6 PRINT" *** PLAY. ENJOY YOUR GAME; SEE YOU AT THE 19TH HOLE..." 7 PRINT 8 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 9 DIM L(10) 10 LET G1=18 20 LET G2=0 30 LET G3=0 40 LET A=0 50 LET N=.8 60 LET S2=0 70 LET F=1 80 PRINT "WHAT IS YOU HANDICAP"; 90 INPUT H 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) IS YOUR WORST"; 150 INPUT T 160 IF T>5 THEN 120 170 LET S1=0 210 RANDOMIZE 230 LET L(0)=0 240 LET J=0 245 LET Q=0 250 LET S2 = S2+1 260 LET K=0 270 IF F=1 THEN 310 290 PRINT"YOUR SCORE ON HOLE";F-1;"WAS";S1 291 GO TO 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 GO TO 310 297 PRINT"KEEP YOUR HEAD DOWN." 298 GO TO 310 299 PRINT"A PAR. NICE GOING." 300 GO TO 310 301 PRINT "A BIRDIE" 302 GO TO 310 303 IF P=3 THEN 306 304 PRINT"A GREAT BIG EAGLE:" 305 GO TO 310 306 PRINT "A HOLE IN ONE" 310 IF F=19 THEN 1710 315 LET S1=0 316 PRINT 320 IF S1=0 THEN 1590 330 IF L(0)<1 THEN 1150 340 LET 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 RULES HANDICAP = 0 TO 30" 472 GOTO 150 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"SELECTION OF CLUBS" 622 PRINT"YARDAGE DESIRED SUGGESTED CLUBS" 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" 626 LET 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 LET S1 = S1-1 690 PRINT"THAT CLUB IS NOT IN THE BAG." 693 PRINT 700 GOTO 620 710 IF C<12 THEN 690 720 LET C=C-6 730 GOTO 650 740 LET S1 = S1+1 741 LET 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 LET D1=INT(((30-H)*2.5+187-((30-H)*.25+15)*C/2)+25*RND(R)) 780 LET D1=INT(D1*W) 800 IF T=2 THEN 1170 820 T7=(SIN(D1*.0035))/(COS(D1*.0035)) 830 O=(RND(0)/.8)*(2*H+16)*ABS(T7) 840 LET D2=INT(SQR(O^2+ABS(D-D1)^2)) 850 IF D-D1<0THEN 870 860 GOTO 890 862 PRINT"YOU DUBBED IT." 864 LET 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 LET B=D 900 LET D=D2 910 IF D2>27 THEN 1020 920 IF D2>20 THEN 1100 930 IF D2>.5 THEN 1120 940 LET 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 LET Q = Q+1 957 IF S1/2<>INT(S1/2) THEN 1011 958 GOTO 862 960 PRINT"YOU MAY NOW GUAGE YOUR DISTANCE BY PERCENT .01 TO .99" 961 PRINT"PERCENT FULL SWING "; 970 INPUT W 972 PRINT 980 IF W>1 THEN 680 985 I F L(0) = 5 THEN 1280 990 IF C=14 THEN 760 1000 LET 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 LET 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 LET S9=(S2+1)/15 1036 IF INT(S9)=S9 THEN 1075 1040 PRINT"YOU HOOKED- "; 1050 LET L(0)=L(2) 1055 IF O>45 THEN 1092 1060 GOTO 320 1070 LET S9=(S2+1)/15 1071 IF INT(S9)=S9 THEN 1040 1075 PRINT"YOU SLICED- "; 1080 LET L(0)=L(1) 1090 GOTO 1055 1092 PRINT"BADLY." 1094 GOTO 320 1100 LET L(0)=5 1110 GOTO 320 1120 LET L(0)=8 1130 LET D2=INT(D2*3) 1140 GOTO 1380 1150 LET L(0)=1 1160 GOTO 320 1170 LET D1=INT(.85*D1) 1180 GOTO 830 1190 IF L(0)>6 THEN 1260 1200 PRINT"YOUR SHOT WENT INTO WATER." 1210 LET S1 = S1+1 1220 PRINT"PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION." 1230 LET J=J+1 1240 LET L(0)=1 1242 LET D=B 1250 GOTO 620 1260 PRINT"YOUR SHOT WENT OUT OF BOUNDS." 1270 GOTO1210 1280 IF T=3 THEN 1320 1300 LET D2=1+(3*INT((80/(40-H))*RND(R))) 1310 GOTO 1380 1320 IF RND(R)>N THEN 1360 1330 LET N=N*.2 1340 PRINT"SHOT DUBBED, STILL IN TRAP." 1350 GOTO 620 1360 LET N=.8 1370 GOTO 1300 1380 PRINT"ON THE GREEN";D2;"FEET FROM THE PIN." 1381 PRINT"CHOOSE YOUR PUTT DISTANCE BY POTENCY NUMBER 1 TO 13." 1382 PRINT "PUTT POTENCY NUMBER"; 1400 INPUT I 1410 LET S1 = S1+1 1420 IF S1+1-P>(H*.072)+2 THEN 1470 1425 IF K>2 THEN 1470 1428 LET K=K+1 1430 IF T=4 THEN 1530 1440 LET D2=D2-I*(4+2*RND(R))+1.5 1450 IF D2<-2 THEN 1560 1460 IF D2>2 THEN 1500 1470 PRINT"YOU HOLED IT" 1472 PRINT 1480 LET F=F+1 1490 GOTO 230 1500 PRINT"PUTT SHORT." 1505 LET D2=INT(D2) 1510 GOTO 1380 1530 LET D2=D2-I*(4+1*RND(R))+1 1550 GOTO 1450 1560 PRINT"PASSED BY CUP." 1570 LET D2=-D2 1580 GOTO 1505 1590 READ D,P,L(1),L(2) 1595 PRINT 1600 PRINT"YOU ARE AT TEE OF HOLE";F;" DISTANCE";D;"YARDS, PAR";P; 1605 LET G3=G3+P 1620 PRINT"ON YOUR RIGHT IS "; 1630 LET X=1 1640 GOSUB 400 1650 PRINT"ON YOUR LEFT IS "; 1660 LET 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 LET G2=G2+S1 1760 PRINT"TOTAL PAR FOR";F-1;"HOLES IS";G3;" YOUR TOTAL IS";G2 1761 IF G1=F-1 THEN 1770 1765 GOTO 292 1770 END 1 REM LIFE CLARK BAKER 3/72 C.O.G. 2 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 3 X1=1\Y1=1\X2=24\Y2=70 4 PRINT "ENTER YOUR PATTERN - END BY " 5 PRINT "ANSWERING THE ? WITH THE LETTER 'Z'" 10 DIM A(24,70),B$(24,24) 40 C=1 50 INPUT B$(C)\IF SEG$(B$(C),1,1)="Z" GOTO 80 55 B$(C)=SEG$(B$(C),1,LEN(B$(C))) 60 C=C+1 70 GO TO 50 80 L=0\C=C-1 90 FOR X=1 TO C 100 IF LEN(B$(X))=-1 GOTO 215\PRINT "INVALID!"; 215 X3=24\Y3=70\X4=1\Y4=1\P=0 220 G=G+1 225 PRINT 230 FOR X=X1 TO X2 240 PRINT 250 FOR Y=Y1 TO Y2 253 IF A(X,Y)<>2 THEN 256\A(X,Y)=0\GO TO 270 256 IF A(X,Y)<>3 THEN 260\A(X,Y)=1\GO TO 261 260 IF A(X,Y)<>1 THEN 270 261 PRINT TAB(Y);"*"; 262 IF X=>X3 GOTO 264\X3=X 264 IF X=Y3 GOTO 268\Y3=Y 268 IF Y==3 THEN 303 \ X1=3\I9=-1 303 IF X2<=22 THEN 305 \X2=22\I9=-1 305 IF Y1>=3 THEN 307 \Y1=3\I9=-1 307 IF Y2=<68 THEN 309 \ Y2=68\I9=-1 309 P=0 500 FOR X=X1-1 TO X2+1 510 FOR Y=Y1-1 TO Y2+1 520 C=0 530 FOR I=X-1 TO X+1 540 FOR J=Y-1 TO Y+1 550 IF A(I,J)<1 GOTO 560\IF A(I,J)>2 THEN 560\ C=C+1 560 NEXT J 570 NEXT I 580 IF A(X,Y)=0 THEN 610 590 IFC=3 GOTO 595\IFC=4 GOTO 595\A(X,Y)=2\GOTO 600 595 P=P+1 600 GO TO 620 610 IF C<>3 THEN 620\A(X,Y)=3\P=P+1 620 NEXT Y 630 NEXT X 635 X1=X1-1\Y1=Y1-1\X2=X2+1\Y2=Y2+1 640 GO TO 210 650 END 1PRINT"COMPETITIVE LIFE, YOU MUST KNOW THE RULES TO PLAY" 2 REM *** WRITTEN BY BRIAN WYVILL, UNIV OF BRADFORD, ENGLAND 3 DATA 3,102,103,120,130,121,112,111,12 4 DATA 21,30,1020,1030,1011,1021,1003,1002,1012 5 DIM N1(6,6),K1(18),A1(16),X(2),Y(2) 6 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 10 FORM=1TO18\READK1(M)\NEXTM 13 DATA-1,0,1,0,0,-1,0,1,-1,-1,1,-1,-1,1,1,1 14 FORO1=1TO16\READA1(O1)\NEXTO1 20 GOTO500 50 FORJ=1TO5 51 FORK=1TO5 55 IFN1(J,K)>99 GOTO 56\GOTO 60 56 GOSUB 200 60 NEXTK 65 NEXTJ 90 LETK=0\LETM2=0\LETM3=0 99 FORJ=0TO6\PRINT 100 FORK=0TO6 101 IF J=0 GOTO 102\IF J<>6 GOTO 105 102 IFK<>6 GOTO 103\PRINT 0;\GOTO 125 103 PRINTK;\GOTO120 105 IF K=0 GOTO 106\IF K<>6 GOTO 110 106IF J<>6 GOTO 107\PRINT 0;\GOTO 126 107 PRINTJ;\GOTO120 110 GOSUB300 120 NEXTK 125 NEXTJ 126 RETURN 200 LETB=1\IFN1(J,K)=<999 GOTO 220\B=10 220 FORO1=1TO15STEP2 230 LETN1(J+A1(O1),K+A1(O1+1))=N1(J+A1(O1),K+A1(O1+1))+B 231 NEXTO1 239 RETURN 300 IFN1(J,K)<3THEN399 305 FORO1=1TO18 310 IFN1(J,K)=K1(O1)THEN350 315 NEXTO1 320 GOTO399 350 IFO1>9THEN360 351 LETN1(J,K)=100\LETM2=M2+1\PRINT" * "; 355 RETURN 360 LET N1(J,K)=1000\LET M3=M3+1\PRINT" # "; 365 RETURN 399 LETN1(J,K)=0\PRINT" ";\RETURN 500 PRINT"SET UP THE BOARD"\PRINT"AND LET'S PLAY..."\PRINT 505 LETM2=0\LETM3=0 510 FORJ=1TO5 511 FORK=1TO5 515 LETN1(J,K)=0 516 NEXTK 517 NEXTJ 519 FORB=1TO2\LETP1=3\IFB<>2 GOTO 520\P1=30 520 PRINT"PLAYER";B;"3 LIVE PIECES" 535 FORK1=1TO3\GOSUB700 540 LETN1(X(B),Y(B))=P1\NEXTK1 542 NEXTB 559 GOSUB90 560 PRINT\GOSUB50 570 IF M2<>0 GOTO 571\IFM3=0GOTO 574 571 IFM3<>0 GOTO 572\B=1\GOTO 574 572 IFM2<>0 GOTO 573\B=2\GOTO 575 573 GOTO580 574 PRINT\PRINT "A DRAW GAME"\GOTO 1 575 PRINT\PRINT "PLAYER";B;"IS THE WINNER"\RESTORE\GOTO 1 580 FORB=1TO2\PRINT\PRINT"PLAYER";B;\GOSUB700 581 IFB=99THEN560 582 NEXTB 586 LETN1(X(1),Y(1))=100\LETN1(X(2),Y(2))=1000 596 GOTO 560 700 PRINT "X,Y"\INPUT Y(B),X(B) 705 IFX(B)>5 GOTO 706\IFX(B)>0 GOTO 708 706 GOTO750 708 IFY(B)>5 GOTO 710\IF Y(B)>0 GOTO 715 710 GOTO750 715 IFN1(X(B),Y(B))<>0THEN750 720 IFB<>1 GOTO 725\RETURN 725 IF X(1)<>X(2) GOTO 730\IF Y(1)=Y(2) GOTO 740 730 RETURN 740 PRINT"SAME COORD. SET TO 0" 741 N1(X(B)+1,Y(B)+1)=0\B=99\RETURN 750 PRINT"ILLEGAL COORDS. RETYPE"\GOTO 700 900 END 1 DIM A(50),B(15) 2DEFFNA(X)=INT(10*RND(X)) 3DEFFNB(X)=X-100*INT(X/100) 4PRINT"WELCOME TO THE HALLDEN CASINO. WE EACH HAVE $200" 5PRINT"I WILL OPEN THE BETTING BEFORE THE DRAW; YOU OPEN AFTER" 6PRINT"WHEN YOU FOLD, BET 0; TO CHECK, BET .5" 7PRINT"ENOUGH TALK -- LET'S GET DOWN TO BUSINESS" 8PRINT 9LETO=1 10LETC=200 11LETS=200 12LETP=0 13RANDOMIZE 14PRINT 15IFC<=5THEN367 16PRINT"THE ANTE IS $5. I WILL DEAL" 17PRINT 18IFS>5THEN20 19GOSUB383 20LETP=P+10 21LETS=S-5 22LETC=C-5 23FORZ=1TO10 24GOSUB174 25NEXTZ 26PRINT"YOUR HAND:" 27LETN=1 28GOSUB185 29LETN=6 30LETI=2 31GOSUB217 32PRINT 33IFI<>6THEN47 34IFFNA(0)<=7THEN37 35LETX=11100 36GOTO42 37IFFNA(0)<=7THEN40 38LETX=11110 39GOTO42 40IFFNA(0)>=1THEN45 41LETX=11111 42LETI=7 43LETZ=23 44GOTO58 45LETZ=1 46GOTO51 47IFU>=13THEN54 48IFFNA(0)>=2THEN50 49GOTO42 50LETZ=0 51LETK=0 52PRINT"I CHECK" 53GOTO62 54IFU<=16THEN57 55LETZ=2 56IFFNA(0)>=1THEN58 57LETZ=35 58LETV=Z+FNA(0) 59GOSUB348 60 PRINT "I'LL OPEN WITH ";V 61LETK=V 62GOSUB305 63GOSUB65 64GOTO82 65IFI<>3THEN76 66PRINT 67PRINT"I WIN" 68LETC=C+P 69PRINT"NOW I HAVE $";C;"AND YOU HAVE $";S 70PRINT"DO YOU WISH TO CONTINUE"; 71INPUTH$ 72IFH$="YES"THEN12 73IFH$="NO"THEN410 74PRINT"ANSWER YES OR NO, IDIOT" 75GOTO70 76IFI<>4THEN81 77PRINT 78PRINT"YOU WIN" 79LETS=S+P 80GOTO69 81RETURN 82PRINT 83 PRINT"NOW WE DRAW -- HOW MANY CARDS DO YOU WANT"; 84INPUTT 85IFT=0THEN98 86LETZ=10 87IFT<4THEN90 88PRINT"YOU CAN'T DRAW MORE THAN THREE CARDS" 89GOTO84 90PRINT"WHAT ARE THEIR NUMBERS" 91FOR Q=1TOT 92INPUTU 93GOSUB173 94NEXTQ 95PRINT"YOUR NEW HAND:" 96LETN=1 97GOSUB185 98LETZ=10+T 99FORU=6TO10 100IFINT(X/10^(U-6))<>10*INT(X/10^(U-5))THEN102 101GOSUB173 102NEXTU 103PRINT 104PRINT"I AM TAKING";Z-10-T;"CARD"; 105IFZ=11+TTHEN109 106PRINT"S" 107PRINT 108GOTO110 109PRINT 110LETN=6 111LETV=I 112LETI=1 113GOSUB217 114LETB=U 115LETM=D 116IFV<>7THEN119 117LETZ=28 118GOTO133 119IFI<>6THEN122 120LETZ=1 121GOTO133 122IFU>=13THEN127 123LETZ=2 124IFFNA(0)<>6THEN126 125LETZ=19 126GOTO133 127IFU>=16THEN132 128LETZ=19 129IFFNA(0)<>8THEN131 130LETZ=11 131GOTO133 132LETZ=2 133LETK=0 134GOSUB305 135IFT<>.5THEN145 136IFV=7THEN140 137IFI<>6THEN140 138PRINT"I'LL CHECK" 139GOTO146 140LETV=Z+FNA(0) 141GOSUB348 142 PRINT "I'LL BET";V 143LETK=V 144GOSUB306 145GOSUB65 146PRINT 147PRINT"NOW WE COMPARE HANDS" 148LETJ$=H$ 149LETK$=I$ 150PRINT"MY HAND:" 151LETN=6 152GOSUB185 153LETN=1 154GOSUB217 155PRINT 156PRINT"YOU HAVE "; 157LETK=D 158GOSUB369 159LETH$=J$ 160LETI$=K$ 161LETK=MOTO 310 240 IF K<8 THEN 260 250 IF K<=200 GO TO 310 260 PRINT "NOT POSSIBLE",,,,"K"; 270 INPUT K \ GOTO 230 310 IF M-N-.001 <=0 GOTO410 320 IF T<.001 GOTO 210 330 LET S=T\IF N+S*K<=M GO TO 350 340 LET S=(M-N)/K 350 LET I0=1 \ GOTO 900 360 IF I <= 0 GOT O 710 370 IF V<=0 GO TO 380 375 IF J<0 GOTO 810 380 LET I0=1\GOTO600 410 PRINT"FUEL OUT AT ";L;"SECS." 420 LET S=(-V+SQR(V*V+2*A*G))/G 430 LET V = V+G*S 440 LET L=L+S 510 PRINT"ON THE MOON AT ";L;"SECS." 511 LET W = 3600*V 514 PRINT "IMPACT VELOCITY OF ";W;"M.P.H." 520 PRINT "FUEL LEFT ";M-N;"LBS." 530 IF W>=1 GOTO 550 540 PRINT "PERFECT LANDING! CONGRATULATIONS!!"\ GOTO 590 550 IF W >=10 THEN 560 552 PRINT "VERY GOOD LANDING, NOT PERFECT YET."\GOTO590 560 IF W >= 25 THEN 570 562 PRINT "A FAIR LANDING, NO CRAFT DAMAGE."\GOTO590 570 IF W >= 60 THEN580 572 PRINT "CRAFT DAMAGE -- BETTER LUCK NEXT TIME."\GOTO 590 580 PRINT "SORRY, BUT THERE WERE NO SURVIVORS." 585 PRINT "IN FACT YOU BLASTED A NEW LUNAR CRATER ";W*.277777;" FEET DEEP." 590 PRINT\PRINT\PRINT "TRY AGAIN? (Y,N,RESTART, OR LOW WINDOW)"; 592 INPUT R$\R$=SEG$(R$,1,1) 593 IF R$="Y" THEN 90 \ IF R$="R" THEN 1200 \ IF R$="L" THEN 1100 595 PRINT\ PRINT "CONTROL OUT" \ GOTO 1800 600 LET L=L+S 610 LET T = T-S 620 LET M=M-S*K 630 LET A=I 640 LET V=J 650 IF I0=1 GO TO 310 660 IF I0=3 GO TO 850 710 IF S< .005 GO TO 510 720 LET S= 2*A/(V+SQR(V*V+2*A*(G-Z*K/M))) 730 LET I0=2 \GOTO 900 810 LET W=(1-M*G/(Z*K))/2 820 LET S=M*V/(Z*K*(W+SQR(W*W+V/Z)))+.05 825 LET I0=3 \GOTO 900 830 IF I<=0 THEN 710 840 GOTO 600 850 IF J>=0 THEN 310 860 IF V<=0 GO TO 310 870 GOTO 810 900 LET Q=S*K/M 905 IF Q<=0 THEN 1000 910 LET J=V+G*S+Z*(-Q-(Q^2)/2-(Q^3)/3-(Q^4)/4-(Q^5)/5) 920 LET I=A-G*S*S/2-V*S+Z*S*(Q/2+Q^2/6+Q^3/12+Q^4/20+Q^5/30) 930 IF I0=1 GOTO 360 940 IF I0=2 GOTO 600 950 IF I0=3 GOTO 830 1000 LET J=V+G*S 1010 LET I=A-G*S*S/2-V*S 1020 GOTO930 1100 LET L=140 1110 LET A=2.382342 1120 LET V=.1257558 1130 LET M=18500 1140 LET N=16500 1150 GOTO 170 1200 M=M1 \ L=L1 \ V=V1 \ A=A1 \ GOTO 210 1800 END 5 REM **** WRITTEN BY ERIC PETERS, DIGITAL 10 REM *** CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL 20 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 70 PRINT "LUNAR LANDING SIMULATION" 80 PRINT "----- ------- ----------"\PRINT 100 PRINT "DO YOU WANT INSTRUCTIONS (YES OR NO)";\INPUT A$ 120 IF A$="NO" THEN 390 160 PRINT 200 PRINT "YOU ARE LANDING ON THE MOON AND HAVE TAKEN OVER MANUAL" 210 PRINT "CONTROL 500 FEET ABOVE A GOOD LANDING SPOT. YOU HAVE A" 220 PRINT "DOWNWARD VELOCITY OF 50 FT/SEC. 120 UNITS OF FUEL REMAIN." 225 PRINT 230 PRINT "HERE ARE THE RULES THAT GOVERN YOUR SPACE VEHICLE:" 240 PRINT "(1) AFTER EACH SECOND, THE HEIGHT, VELOCITY, AND REMAINING" 250 PRINT " FUEL WILL BE REPORTED." 260 PRINT "(2) AFTER THE REPORT, A '?' WILL BE TYPED. ENTER THE" 270 PRINT " NUMBER OF UNITS OF FUEL YOU WISH TO BURN DURING THE" 280 PRINT " NEXT SECOND. EACH UNIT OF FUEL WILL SLOW YOUR DESCENT" 290 PRINT " BY 1 FT/SEC." 310 PRINT "(3) THE MAXIMUM THRUST OF YOUR ENGINE IS 30 FT/SEC/SEC OR" 320 PRINT " 30 UNITS OF FUEL PER SECOND." 330 PRINT "(4) WHEN YOU CONTACT THE LUNAR SURFACE, YOUR DESCENT ENGINE" 340 PRINT " WILL AUTOMATICALLY CUT OFF AND YOU WILL BE GIVEN A" 350 PRINT " REPORT OF YOUR LANDING SPEED AND REMAINING FUEL." 360 PRINT "(5) IF YOU RUN OUT OF FUEL, THE '?' WILL NO LONGER APPEAR," 370 PRINT " BUT YOUR SECOND BY SECOND REPORT WILL CONTINUE UNTIL" 380 PRINT " YOU CONTACT THE LUNAR SURFACE."\PRINT 390 PRINT "BEGINNING LANDING PROCEDURE....."\PRINT 410 PRINT "G O O D L U C K ! ! !" 420 PRINT\PRINT 440 PRINT "SEC FEET SPEED FUEL PLOT OF DISTANCE" 450 PRINT 455 T=0\H=500\V=50\F=120 490 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*" 500 INPUT B 510 IF B<0 THEN 650 520 IF B<=30 THEN 530\B=30 530 IF B<=F THEN 540\B=F 540 V1=V-B+5 560 F=F-B 570 H=H-.5*(V+V1) 580 IF H<=0 THEN 670 590 T=T+1 600 V=V1 610 IF F>0 THEN 490 615 IF B=0 THEN 640 620 PRINT "*** OUT OF FUEL ***" 640 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*" 650 B=0 660 GOTO 540 670 PRINT "*** CONTACT ***" 680 H=H+.5*(V+V1) 690 IF B=5 THEN 720 700 D=(-V+SQR(V*V+H*(10-2*B)))/(5-B) 710 GOTO 730 720 D=H/V 730 V1=V+(5-B)*D 760 PRINT "TOUCHDOWN AT";T+D;"SECONDS." 770 PRINT "LANDING VELOCITY =";V1;"FT/SEC" 780 PRINT F;"UNITS OF FUEL REMAINING." 790 IF V1<>0 THEN 810 800 PRINT "CONGRATULATIONS!! A PERFECT LANDING!" 805 PRINT "YOUR LICENSE WILL BE RENEWED.......LATER." 810 IF ABS(V1)<2 THEN 840 820 PRINT "***** SORRY, BUT YOU BLEW IT!!!!" 830 PRINT "APPROPRIATE CONDOLENCES WILL BE SENT TO YOUR NEXT OF KIN." 840 PRINT\PRINT\PRINT 850 PRINT "ANOTHER MISSION";\INPUT A$ 870 IF A$="YES" THEN 390 880 PRINT\PRINT "CONTROL OUT."\PRINT 999 END 1000 REM *** GAME OF ROULETTE WRITTEN BY DAVID JOSLIN 1010 REM *** CONVERTED TO BASIC-PLUS BY DAVID AHL, DIGITAL 1015 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 1020 PRINT "WELCOME TO THE ROULETTE TABLE" 1030 PRINT 1040 PRINT "WANT INSTRUCTIONS (Y OR N)";\INPUT Y$ 1060 IF Y$="N" THEN 1550 1070 PRINT 1080 PRINT "THIS IS THE BETTING LAYOUT" 1090 PRINT " (*=RED)" 1100 PRINT 1110 PRINT " 1* 2 3*" 1120 PRINT " 4 5* 6 " 1130 PRINT " 7* 8 9*" 1140 PRINT "10 11 12*" 1150 PRINT "---------------" 1160 PRINT "13 14* 15 " 1170 PRINT "16* 17 18*" 1180 PRINT "19* 20 21*" 1190 PRINT "22 23* 24 " 1200 PRINT "---------------" 1210 PRINT "25* 26 27*" 1220 PRINT "28 29 30*" 1230 PRINT "31 32* 33 " 1240 PRINT "34* 35 36*" 1250 PRINT "---------------" 1260 PRINT " 00 0 " 1270 PRINT 1280 PRINT "TYPES OF BETS" 1290 PRINT 1300 PRINT "THE NUMBERS 1 TO 36 SIGNIFY A STRAIGHT BET" 1310 PRINT "ON THAT NUMBER" 1320 PRINT "THESE PAY OFF 35:1" 1330 PRINT 1340 PRINT "THE 2:1 BETS ARE:" 1350 PRINT " 37) 1-12 40) FIRST COLUMN" 1360 PRINT " 38) 13-24 41) SECOND COLUMN" 1370 PRINT " 39) 25-36 42) THIRD COLUMN" 1380 PRINT 1390 PRINT "THE EVEN MONEY BETS ARE:" 1400 PRINT " 43) 1-18 46) ODD" 1410 PRINT " 44) 19-36 47) RED" 1420 PRINT " 45) EVEN 48) BLACK" 1430 PRINT 1440 PRINT " 49)0 AND 50)00 PAY OFF 35:1" 1450 PRINT " NOTE: 0 AND 00 DO NOT COUNT UNDER ANY" 1460 PRINT " BETS EXCEPT THEIR OWN" 1470 PRINT 1480 PRINT "WHEN I ASK FOR EACH BET,TYPE THE NUMBER" 1490 PRINT "AND THE AMOUNT,SEPERATED BY A COMMA" 1500 PRINT "FOR EXAMPLE:TO BET $500 ON BLACK,TYPE 48,500" 1520 PRINT 1530 PRINT "MINIMUM BET IS $5,MAXIMUM IS $500" 1540PRINT"YOU'RE STARTING WITH $1000; I HAVE $100,000 IN THE BANK"\PRINT 1550 REM-PROGRAM BEGINS HERE 1560 REM-TYPE OF BET(NUMBER) ODDS 1580 DIM B(100),C(100),T(100),X(38),A(50) 1590 DIM B$(26) 1600 FOR I=1 TO 38\X(I)=0\NEXT I 1610 P=1000 1620 D=100000. 1630 PRINT "HOW MANY BETS"; 1640 INPUT Y 1650 IF Y<1 THEN 1630\IF Y<>INT(Y) THEN 1630 1660 FOR I=1 TO 50\A(I)=0\NEXT I 1670 FOR C=1 TO Y 1680 PRINT "NUMBER";C; 1690 INPUT X,Z 1700 B(C)=Z 1710 T(C)=X 1720 IF X<1 THEN 1680\IF X>50 THEN 1680\IF X<>INT(X) THEN 1680 1730 IF Z<1 THEN 1680\IF Z<>INT(Z) THEN 1680 1740 IF Z<5 THEN 1680\IF Z>500 THEN 1680 1750 IF A(X)=0 THEN 1780 1760 PRINT "YOU MADE THAT BET ONCE ALREADY,DUM-DUM" 1770 GOTO 1680 1780 A(X)=1 1790 NEXT C 1800 PRINT "SPINNING" 1810 PRINT 1820 PRINT 1830 S=INT(RND(0)*100) 1840 IF S=0 THEN 1830\IF S>38 THEN 1830 1850 X(S)=X(S)+1 1860 IF S<37 THEN 1920 1870 IF S=37 THEN 1900 1880 PRINT "00" 1890 GOTO 2020 1900 PRINT "0" 1910 GOTO 2020 1920 RESTORE 1930 FOR I=1 TO 18 1940 READ R 1950 IF R=S THEN 2000 1960 NEXT I 1970 A$="BLACK" 1980 PRINT S;A$ 1990 GOTO 2020 2000 A$="RED" 2010 GOTO 1980 2020 PRINT 2030 FOR C=1 TO Y 2040 IF T(C)<37 THEN 2710 2050 F=T(C)-36\IF F=1 GOTO 2090\IF F=2 GOTO 2190 2052 IF F=3 GOTO 2220\IF F=4 GOTO 2250\IF F=5 GOTO 2300 2054 IF F=6 GOTO 2350\IF F=7 GOTO 2400\IF F=8 GOTO 2470 2056 IF F=9 GOTO 2500\IF F=10 GOTO 2530\IF F=11 GOTO 2560 2058 IF F=12 GOTO 2630 2070 GOTO 2710 2080 STOP 2090 REM 1-12(37) 2:1 2100 IF S <= 12 THEN 2150 2110 PRINT "YOU LOSE";B(C);"DOLLARS ON BET";C 2120 D=D+B(C) 2130 P=P-B(C) 2140 GOTO 2180 2150 PRINT "YOU WIN";B(C)*2;"DOLLARS ON BET";C 2160 D=D-B(C)*2 2170 P=P+B(C)*2 2180 GOTO 2810 2190 REM 13-24(38) 2:1 2200 IF S=<12 GOTO 2210\IF S<25 GOTO 2150 2210 GOTO 2110 2220 REM 25-36(39) 2:1 2230 IF S=<24 GOTO 2240\IF S<37 GOTO 2150 2240 GOTO 2110 2250 REM FIRST COLUMN(40) 2:1 2260 FOR I=1 TO 34 STEP 3 2270 IF S=I THEN 2150 2280 NEXT I 2290 GOTO 2110 2300 REM SECOND COLUMN(41) 2:1 2310 FOR I=2 TO 35 STEP 3 2320 IF S=I THEN 2150 2330 NEXT I 2340 GOTO 2110 2350 REM THIRD COLUMN(42) 2:1 2360 FOR I=3 TO 36 STEP 3 2370 IF S=I THEN 2150 2380 NEXT I 2390 GOTO 2110 2400 REM 1-18(43) 1:1 2410 IF S<19 THEN 2430 2420 GOTO 2110 2430 PRINT "YOU WIN";B(C);"DOLLARS ON BET";C 2440 D=D-B(C) 2450 P=P+B(C) 2460 GOTO 2810 2470 REM 19-36(44) 1:1 2480 IF S=<18 GOTO 2490\IF S<37 GOTO 2430 2490 GOTO 2110 2500 REM EVEN(45) 1:1 2510 IF S/2<> INT(S/2) THEN 2520\IF S<37 THEN 2430 2520 GOTO 2110 2530 REM ODD(46) 1:1 2540 IF S/2=INT(S/2) THEN 2550\IF S<37 THEN 2430 2550 GOTO 2110 2560 REM RED(47) 1:1 2570 RESTORE 2580 FOR I=1 TO 18 2590 READ R 2600 IF S=R THEN 2430 2610 NEXT I 2620 GOTO 2110 2630 REM BLACK(48) 1:1 2640 RESTORE 2650 FOR I=1 TO 18 2660 READ R 2670 IF S=R THEN 2110 2680 NEXT I 2690 IF S>36 THEN 2110 2700 GOTO 2430 2710 REM--1TO36,0,00(1-36,49,50)35:1 2720 IF T(C)<49 THEN 2760 2730 IF T(C)<>49 GOTO 2740\IF S=37 GOTO 2780 2740 IF T(C)<>50 GOTO 2750\IF S=38 GOTO 2780 2750 GOTO 2110 2760 IF T(C)=S THEN 2780 2770 GOTO 2110 2780 PRINT "YOU WIN";B(C)*35;"DOLLARS ON BET";C 2790 D=D-B(C)*35 2800 P=P+B(C)*35 2810 NEXT C 2820 PRINT 2830 PRINT "TOTALS:","ME","YOU" 2840 PRINT " ",D,P 2850 IF P>0 THEN 2880 2860 PRINT "OOPS! YOU JUST SPENT YOUR LAST DOLLAR" 2870 GOTO 3190 2880 IF D>0 THEN 2920 2890 PRINT "YOU BROKE THE HOUSE!" 2900 P=101000. 2910 GOTO 2960 2920 PRINT "AGAIN"; 2930 INPUT Y$ 2935 Y$=SEG$(Y$,1,1) 2940 IF Y$="Y" THEN 1630 2950 DATA 1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36 2960 IF P<1 THEN 3190 2970 PRINT "TO WHOM SHALL I MAKE OUT THE CHECK"; 2980 INPUT B$ 2990 PRINT 3000 PRINT "-------------------------------------------------------" 3010 PRINT TAB(50);"CHECK NO. ";INT(RND(0)*100) 3020 PRINT 3040 PRINT TAB(40);DAT$(0) 3050 PRINT 3060 PRINT 3070 PRINT "PAY TO THE ORDER OF-----";B$;"-----$ "; 3080 PRINT P 3090 PRINT 3100 PRINT 3110 PRINT TAB(10),"THE MEMORY BANK OF VIRGINIA" 3120 PRINT 3130 PRINT TAB(40),"THE COMPUTER" 3140 PRINT TAB(40);"----------X-----" 3150 PRINT 3160 PRINT "--------------------------------------------------------------" 3170 PRINT "COME BACK SOON!" 3180 GOTO 3210 3190 PRINT "THANKS FOR YOUR MONEY" 3200 PRINT "I'LL USE IT TO BUY A SOLID GOLD ROULETTE WHEEL" 3210 PRINT 3220 GOTO 3420 3420 END 1 DATA 2,3,4,9,1,5,8,7,6 2 DATA 2,3,4,9,1,5,8,7,6,2,9,8,3,1,7 3 DATA 4,5,6,2,1,6,4,1,8 4 DATA 0,1,-1,1,-1,1,-1,1,-1 5 DIM A(9) 6 DIM B(9) 7 DIM C(24) 8 DIM D(24) 9 DIM F(9) 10 FOR I=1 TO 9 11 READ A(I) 12 NEXT I 13 FOR I=1 TO 24 14 READ C(I) 15 NEXT I 16 FOR I=1 TO 9 17 READ F(I) 18 NEXT I 19 PRINT "TIC-TAC-TOE" 20 PRINT 21 PRINT "THE MOVE POSITIONS ARE:" 22 PRINT 23 PRINT "1 2 3" 24 PRINT "4 5 6" 25 PRINT "7 8 9" 26 GOSUB 133 27 GOSUB 133 32 LET E=0 33 LET G=2 34 LET K=0 35 FOR I=1 TO 9 36 LET B(I)=0 37 NEXT I 38 FOR I=1 TO 24 39 LET D(I)=0 40 NEXT I 41 PRINT 42 PRINT 43 PRINT "--BEGIN GAME--" 44 PRINT "YOU WILL BE 'X', I WILL BE 'O'" 47 PRINT "TYPE 0 IF YOU WANT ME TO GO FIRST"; 48 INPUT I 49 IF I=0 THEN 65 50 LET L=-1 51 PRINT "YOUR MOVE"; 52 INPUT I 53 PRINT 54 PRINT 55 LET H=INT(ABS(I)) 56 IF H<>I THEN 50 57 IF H < 1 THEN 50 58 IF H>9 THEN 50 59 LET H=A(H) 60 IF B(H) <> 0 THEN 50 61 IF K=1 THEN 64 62 LET G=F(H) 63 LET K=1 64 GOSUB 111 65 LET L=1 66 FOR I=1 TO 22 STEP 3 67 IF D(I) + D(I+1) + D(I+2) = -3 THEN 92 68 NEXT I 69 FOR I=1 TO 22 STEP 3 70 IF D(I) + D(I+1) + D(I+2) = 2 THEN 90 71 NEXT I 72 FOR I=1 TO 22 STEP 3 73 IF D(I) + D(I+1) + D(I+2) = -2 THEN 106 74 NEXT I 75 IF E=1 THEN 77 76 IF G = -1 THEN 78 77 IF B(1)=0 THEN 100 78 IF G <> 0 THEN 82 79 FOR I=2 TO 8 STEP 2 80 IF B(I)=0 THEN 101 81 NEXT I 82 IF H=8 THEN 86 83 FOR I=H+1 TO 8 84 IF B(I)=0 THEN 101 85 NEXT I 86 FOR I=2 TO 9 87 IF B(I)=0 THEN 101 88 NEXT I 89 GO TO 98 90 PRINT "I WIN" 91 GOTO 900 92 PRINT "YOU ARE NOT ALLOWED TO WIN" 93 FOR I=1 TO 9 94 LET B(I)=1 95 NEXT I 96 GOSUB 117 97 GOTO 900 98 PRINT "DRAW" 99 GOTO 900 100 LET I=1 101 LET H=I 102 GOSUB 111 103 LET E=1 104 GOSUB 117 105 GO TO 50 106 FOR J=I TO I+2 107 IF D(J)=0 THEN 109 108 NEXT J 109 LET I=C(J) 110 GO TO 101 111 LET B(H)=L 112 FOR M=1 TO 24 113 IF C(M) <> H THEN 115 114 LET D(M)=L 115 NEXT M 116 RETURN 117 FOR N=1 TO 9 118 IF B(N)=0 THEN 200 119 NEXT N 120 IF N<100 THEN 98 121 FOR N=1 TO 9 STEP 3 122 FOR O= 0 TO 2 123 IF B(A(O+N))=0 THEN 127 124 IF B(A(O+N))=1 THEN 129 125 PRINT "X "; 126 GO TO 130 127 PRINT "- "; 128 GO TO 130 129 PRINT "O "; 130 NEXT O 131 PRINT 132 NEXT N 133 PRINT 136 RETURN 137 STOP 200 LET N=1000 210 GOTO 119 900 GOTO 910 910 PRINT "TRY AGAIN (IF SO TYPE 0)"; 920 INPUT I 930 IF I<>0 THEN 999 940 GOTO 27 999 END 1 REM THIS PROGRAM PLAYS THE CARD GAME OF WAR. THE ONLY CHANGE 2 REM IS THAT A TIE MAKES NO SCORE AT ALL. THE PACK IS READ IN 3 REM AND THEN SHUFFLES IN A RANDOM WAY. THE COMPUTER THEN DEALS THE 4 REM CARDS TWO AT A TIME AS LONG AS THE GAME COMTINUES. A RUNNING 5 REM SCORE IS KEPT. 6 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 100 PRINT "THIS IS THE CARD GAME OF WAR. EACH CARD IS GIVEN BY SUIT-#" 110 PRINT "AS S-7 FOR SPADE 7. "; 120 PRINT "DO YOU WANT DIRECTIONS"; 130 INPUT B$ 140 IF B$="NO" THEN 210 150 IF B$="YES" THEN 180 160 PRINT "YES OR NO, PLEASE. "; 170 GOTO 120 180 PRINT "THE COMPUTER GIVES YOU AND IT A 'CARD'. THE HIGHER 'CARD' "; 190 PRINT "(NUMERICALLY) WINS. THE GAME ENDS WHEN YOU CHOOSE NOT"; 200 PRINT " TO CONTINUE OR WHEN YOU HAVE FINISHED THE PACK." 210 PRINT 220 PRINT 230 DIM A$(52,3),L(54) 240 FOR I=1 TO 52 250 READ A$(I) 260 NEXT I 270 RANDOMIZE 280 FOR J=1 TO 52 290 LET L(J)=INT(52*RND(X)+1) 300 FOR K=1 TO J-1 310 IF L(K)<>L(J) THEN 340 320 LET J=J-1 330 GOTO 350 340 NEXT K 350 NEXT J 360 LET P=P+1 370 LET M1=L(P) 380 LET P=P+1 390 LET M2=L(P) 400 PRINT 410 PRINT 420 PRINT "YOU: ";A$(M1), "COMPUTER: ";A$(M2), 430 LET N1=INT((M1-.5)/4) 440 LET N2=INT((M2-.5)/4) 450 IF N1>=N2 THEN 490 460 LET A1=A1+1 470 PRINT "COMPUTER WINS.";PNT(7);PNT(7);PNT(7);PNT(7);PNT(7) 475 PRINT " YOU HAVE";B1;"; COMPUTER HAS";A1 480 GOTO 540 490 IF N1=N2 THEN 530 500 LET B1=B1+1 510 PRINT "YOU WIN. YOU HAVE";B1;"; COMPUTER HAS";A1 520 GOTO 540 530 PRINT "TIE. NO SCORE CHANGE." 540 IF L(P+1)=0 THEN 610 550 PRINT "DO YOU WANT TO CONTINUE"; 560 INPUT V$ 570 IF V$="YES" THEN 360 580 IF V$="NO" THEN 650 590 PRINT "YES OR NO, PLEASE. "; 600 GOTO 540 610 PRINT 620 PRINT 630 PRINT "YOU HAVE RUN OUT OF CARDS. FINAL SCORE: YOU--";B1; 640 PRINT "; COMPUTER--";A1 650 PRINT "THANKS FOR PLAYING. IT WAS FUN.";PNT(7);PNT(7) 660 DATA "S-2","H-2","C-2","D-2","S-3","H-3","C-3","D-3","S-4","H-4","C-4" 665 DATA "D-4","S-5","H-5","C-5" 670 DATA "D-5","S-6","H-6","C-6","D-6","S-7","H-7","C-7","D-7","S-8","H-8" 675 DATA "C-8","D-8","S-9","H-9" 680 DATA "C-9","D-9","S-10","H-10","C-10","D-10","S-J","H-J","C-J" 685 DATA "D-J","S-Q","H-Q","C-Q","D-Q" 690 DATA "S-K","H-K","C-K","D-K","S-A","H-A","C-A","D-A" 700 END 1 REM BOB DORES/WAR 2 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 3 PRINT "I AM AT WAR WITH YOU." 4 PRINT "WE HAVE 72000 SOLDIERS A PIECE." 5 PRINT "DISTRIBUTE YOUR FORCES." 6 PRINT " ","ME","YOU" 7 PRINT"ARMY","30000", 8 INPUT A 9 PRINT"NAVY","20000", 10 INPUT B 11 PRINT"A.F.","22000", 12 INPUT C 13 IF A+B+C>72000 THEN 5 14 D=30000 15 E=20000 16 F=22000 17 PRINT "YOU ATTACK FIRST. TYPE 1 FOR ARMY 2 FOR NAVY" 18 PRINT "AND 3 FOR AIR FORCE." 19 INPUT Y 20 PRINT "HOW MANY MEN" 21 INPUT X 22 IF X<0 THEN 20 23 IF Y=2 GOTO 200\IF Y=3 GOTO 300 100 IF X>A THEN 20 105 IF XB THEN 20 210 IF XC THEN 20 310 IF XA THEN 1030 1610 IF TB THEN 1030 1710 IF TC THEN 1030 1810 IF T>F/2 THEN 1830 1820 GOTO 1850 1830 PRINT "MY NAVY AND AIR FORCE IN A COMBINED ATTACK LEFT" 1831 PRINT "YOUR COUNTRY IN SHAMBLES." 1835 A=A/3 1837 B=B/3 1840 C=C/3 1845 GOTO 2000 1850 PRINT"ONE OF YOUR PLANES CRASHED INTO MY HOUSE. I AM DEAD." 1851 PRINT"MY COUNTRY FELL APART." 1860 GOTO 2010 2000 PRINT 2001 PRINT "FROM THE RESULTS OF BOTH OF YOUR ATTACKS," 2002 IF A+B+C>3/2*(D+E+F) THEN 2010 2005 IF A+B+C<2/3*(D+E+F) THEN 2015 2006 PRINT"THE TREATY OF PARIS CONCLUDED THAT WE TAKE OUR" 2007 PRINT"RESPECTIVE COUNTRIES, AND LIVE IN PEACE." 2008 GOTO 2020 2010 PRINT "YOU WON, OH! SHUCKS!!!!!" 2012 GOTO 2020 2015 PRINT "YOU LOST-I CONQUERED YOUR COUNTRY. IT SERVES YOU " 2016 PRINT "RIGHT FOR PLAYING THIS STUPID GAME!!!" 2020 END 10 PRINT"" 20 REM MODIFIED TO LOOK RESPECTABLE ON PDP-8'S BY KAY R. FISHER ...DEC 120PRINT 124 LET Y1 = 1970 130 PRINT" ENTER TODAY'S DATE IN THIS FORM: MONTH,DAY, YEAR"; 140 INPUT M1,D1,Y1 150 IF Y1>100 THEN 170 160 LET Y1 = Y1 + 1900 170 DEF FNA(A)=INT(A/4) 180 DIM T(12) 190 DEF FNB(A)=INT(A/7) 210 FOR I= 1 TO 12 220 READ T(I) 230 NEXT I 240 PRINT 241PRINT"THIS PROGRAM DEMONSTRATES OS8 BASIC AND ALSO GIVES " 242PRINT"FACTS ABOUT A DATE OF INTEREST TO YOU" 244 PRINT 245 PRINT"ENTER DATE OF BIRTH IN THIS FORM: MO,DAY,YEAR"; 250 INPUT M,D,Y 260 PRINT 270 IF Y - 75 >0 THEN 280 275 LET Y = Y+1900 280 LET I1 = INT((Y-1500)/100) 290 IF Y-1582<0 THEN 1300 300 LET A = I1*5+(I1+3)/4 310LET I2 = INT(A-FNB(A)*7) 320 LET Y2= INT(Y/100) 330 LET Y3 = INT(Y-Y2*100) 340 LET A = Y3/4+Y3+D+T(M)+I2 350 LET B = INT(A-FNB(A)*7)+1 360 IF M>2 THEN 470 370 IF Y3= 0 THEN 440 380 LET T1 = INT(Y-FNA(Y)*4) 390 IF T1<> 0 THEN 470 400 IF B<>0 THEN 420 410 LET B = 6 420 LET B = B-1 430 GOTO 470 440 LET A = I1-1 450 LET T1 = INT(A-FNA(A)*4) 460 IF T1 = 0 THEN 400 470 IF B <> 0 THEN 490 480 LET B = 7 490 IF (Y1*12+M1)*31+D1<(Y*12+M)*31+D THEN 550 500 IF (Y1*12+M1)*31+D1=(Y*12+M)*31+D THEN 530 510 PRINT M;"/";D;"/";Y;" WAS A "; 520 GOTO 570 530 PRINT M;"/";D;"/";Y;" IS A "; 540 GOTO 570 550 PRINT M;"/";D;"/";Y;" WILL BE A "; 570 IF B<>1 THEN 590 580 PRINT "SUNDAY" 590 IF B<>2 THEN 610 600 PRINT "MONDAY" 610 IF B<>3 THEN630 620 PRINT "TUESDAY" 630 IF B<>4 THEN 650 640 PRINT "WEDNESDAY" 650 IF B<>5 THEN 670 660 PRINT "THURSDAY" 670 IF B<>6 THEN 690 680 GOTO 1250 690 IF B<>7 THEN 710 700 PRINT "SATURDAY" 710 IF (Y1*12+M1)*31+D1=(Y*12+M)*31+D THEN 1120 720 LET I5=Y1-Y 730 PRINT 740 LET I6=M1-M 750 LET I7=D1-D 760 IF I7>=0 THEN 790 770 LET I6=I6-1 780 LET I7=I7+30 790 IF I6>=0 THEN 820 800 LET I5=I5-1 810 LET I6=I6+12 820 IF I5<0 THEN 1310 830 IF I7<>0 THEN 850 835 IF I6<>0 THEN 850 840 PRINT "****HAPPY BIRTHDAY*****" 850 PRINT " "," ","YEARS","MONTHS","DAYS" 860 PRINT "YOUR AGE ",I5,I6,I7 870 LET A8= (I5*365)+(I6*30)+I7+INT(I6/2) 880 LET K5=I5 890 LET K6=I6 900 LET K7=I7 920 LET E=Y+65 940 LET F=.35 950 PRINT "YOU HAVE SLEPT ", 960 GOSUB 1370 970 LET F=.17 980 PRINT "YOU HAVE EATEN ", 990 GOSUB 1370 1000 LET F=.23 1010 IF K5 > 3 THEN 1040 1020 PRINT"YOU HAVE PLAYED ", 1030 GOTO 1080 1040 IF K5 > 9 THEN 1070 1050 PRINT "YOU HAVE PLAYED/STUDIED", 1060 GOTO 1080 1070 PRINT "YOU HAVE WORKED/STUDIED", 1080 GOSUB 1370 1090 PRINT "YOU HAVE RELAXED ",K5,K6,K7 1100 PRINT 1110 PRINT " ","**YOU MAY RETIRE IN";E;"**" 1120 PRINT 1130 PRINT" CALCULATED BY THE BEST MINICOMPUTER TODAY - THE GREAT PDP-8" 1140 FOR Q=1 TO 2 1150 PRINT 1160 NEXT Q 1170 PRINT 1240 GOTO 240 1250 IF D=13 THEN 1280 1260 PRINT "FRIDAY " 1270 GOTO 710 1280 PRINT "FRIDAY THE THIRTEENT@---BEWARE!" 1290 GOTO 710 1300 PRINT "NOT PREPARED TO GIVE DAY OF WEEK PRIOR TO MDLXPXII -" 1305 PRINT " THE CURRENT CALENDAR DID NOT EXIST BEFORE THAT YEAR." 1310 GOTO 1140 1330 DATA 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 1370 LET K1= INT(F*A8) 1380 LET I5 = INT(K1/365) 1390 LET K1 = K1-(I5*365) 1400 LET I6 = INT(K1/30) 1410 LET I7 = K1-(I6*30) 1420 LET K5 = K5-I5 1430 LET K6 = K6-I6 1440 LET K7 = K7-I7 1450 IF K7 >= 0 THEN 1480 1460 LET K7 = K7+30 1470 LET K6 = K6-1 1480 IF K6 > 0 THEN 1510 1490 LET K6 = K6+12 1500 LET K5 = K5-1 1510 PRINT I5,I6,I7 1520 RETURN 1530 IF K6 = 12 THEN 1550 1540 GOTO 1090 1550 LET K5 = K5+1 1560 LET K6=0 1570 GOTO 1090 1580 END 100 REM PROGRAM WRITTEN BY DANIEL R. VERNON 110 REM SENIOR AT BUTLER SENIOR HIGH SCHOOL 120 REM BUTLER, PENNSYLVANIA 16001 130 REM DATE: 2-1-73 140 REM COMPUTER SUPERVISION- MR. WILLIAM ELLIS 150 REM COMPUTER TOPICS INSTRUCTION- MR. ALBERT STEWART 160 REM 170 REM THIS PROGRAM IS DESIGNED TO CREATE POSTERS 180 REM 185 REM TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 190 DIM G$(54,1),H$(6,6),B$(54),G(6),A(54) 195 FILEV #1:"LPT:" 200 PRINT "INPUT HEIGHT IN INCHES"\INPUT L 205 PRINT "INPUT WIDTH IN INCHES"\INPUT R\S=0\A=R*2\C=A 210 PRINT"HOW FAR, IN INCHES FROM THE LEFT HAND SIDE, DO YOU WANT TO PLACE " 220 PRINT"THE LETTERS";\INPUT S\S=12*S 230 PRINT"INPUT MESSAGE HERE" 240 INPUT B$ 250 FOR I=1TO LEN(B$) 252 A(I)=ASC(SEG$(B$,I,I)) 253 NEXT I 260 H$(1)=" "\H$(2)=" "\H$(3)=" "\H$(4)=" " 261 H$(5)=" "\H$(6)=" "\H$=H$(L) 262 GOSUB 940 270 F=F+1\IF A(F)=0 GOTO 990\G(0)=L 271 FOR I=1 TO LEN(B$) 272 G$(I)=CHR$(A(I)) 280 NEXT I 290 FOR X=1TO A/2 291 PRINT#1: 292 NEXT X 295 G$=CHR$(A(F)) 297 FOR X=2 TO L\G$=G$&CHR$(A(F))\NEXT X 300 IF A(F)=46 GOTO 345\IFA(F)=36GOTO990\IFA(F)=32GOTO630\IFA(F)<27GOTO305 301 IF A(F)<48 GOTO 270\IF A(F)>57 GOTO 270 305 IFA(F)<27 GOTO310\IF A(F)=48 GOTO500\IF A(F)=49 GOTO 440 306 IFA(F)=50GOTO 620\IF A(F)=51 GOTO625\IF A(F)=52 GOTO 635 307 IF A(F)=53 GOTO 550\IF A(F)=54 GOTO 615\IF A(F)=55 GOTO 605 308 IF A(F)=56 GOTO 595\IF A(F)=57 GOTO 585 310 IF A(F)>26 GOTO 270\IF A(F)>15 GOTO 330 320 IF A(F)=1 GOTO 350\IF A(F)=2 GOTO 360\IF A(F)=3 GOTO 370 321 IF A(F)=4 GOTO 380\IF A(F)=5 GOTO 390\IF A(F)=6 GOTO 400 322 IF A(F)=7 GOTO 410\IF A(F)=8 GOTO 430\IF A(F)=9 GOTO 440 323 IF A(F)=10 GOTO 450\IF A(F)=11 GOTO 460\IF A(F)=12 GOTO 470 324 IF A(F)=13 GOTO 480\IF A(F)=14 GOTO 490\IF A(F)=15 GOTO 500 330 IF A(F)>26 GOTO 270\IF A(F)=16 GOTO 510\IF A(F)=17 GOTO 520 331 IF A(F)=18 GOTO 540\IF A(F)=19 GOTO 550\IF A(F)=20 GOTO 560 332 IF A(F)=21 GOTO 570\IF A(F)=22 GOTO 580\IF A(F)=23 GOTO 590 333 IF A(F)=24 GOTO 600\IF A(F)=25 GOTO 610\IF A(F)=26 GOTO 620 340 GOTO 270 345 FOR X=1 TO A 346 PRINT #1:TAB(S);G$;G$ 347 NEXT X 348 GOTO 270 350 GOSUB 640 351 GOSUB 690 352 GOSUB 640 353 GOTO 270 360 GOSUB 640 361 GOSUB 650 363 A=C*.5 365 GOSUB 640 366 A=C 367 GOSUB 810 368 GOTO 270 370 GOSUB 640 372 GOSUB 700 374 GOSUB 700 376 GOTO 270 380 GOSUB 640 382 GOSUB 700 384 A=C*.5\GOSUB 640 386 A=C\GOSUB 840 388 GOTO 270 390 GOSUB 640 392 GOSUB 650 394 GOSUB 650 396 GOTO 270 400 GOSUB 640 402 GOSUB 690 404 GOSUB 690 406 GOTO 270 410 GOSUB 640 412 A=C*.75\GOSUB 700 414 A=C*.25\GOSUB 650 416 A=C\GOSUB 760 420 A=C*.25\GOSUB 710 422 A=C\GOTO 270 430 GOSUB 640 432 GOSUB 710 434 GOSUB 640 436 GOTO 270 440 GOSUB 640 442 GOTO 270 450 GOSUB 750 452 GOSUB 740 454 GOSUB 640 456 GOTO 270 460 GOSUB 640 462 GOSUB 860 464 GOTO 270 470 GOSUB 640 472 GOSUB 740 474 GOSUB 740 476 GOTO 270 480 GOSUB 640 482 GOSUB 890 484 GOSUB 880 486 GOSUB 640 488 GOTO 270 490 GOSUB 640 492 GOSUB 890 494 GOSUB 640 496 GOTO 270 500 GOSUB 640 502 GOSUB 700 504 GOSUB 640 506 GOTO 270 510 GOSUB 640 512 GOSUB 690 514 GOSUB 790 516 GOTO 270 520 GOSUB 640 522 A=C*.75\GOSUB 700 524 A=C*.25\GOSUB 650 526 A=C\GOSUB 640 530 A=C*.25\GOSUB 710 532 A=C\GOTO 270 540 GOSUB 640 542 GOSUB 690 544 A=C*.5\GOSUB 640 546 GOSUB 810 548 A=C\GOTO 270 550 GOSUB 770 552 GOSUB 650 554 GOSUB 760 556 GOTO 270 560 GOSUB 780 562 GOSUB 640 564 GOSUB 780 566 GOTO 270 570 GOSUB 640 572 GOSUB 740 574 GOSUB 640 576 GOTO 270 580 GOSUB 890 582 GOSUB 880 584 GOTO 270 585 GOSUB 790 586 GOSUB 690 587 GOSUB 640 588 GOTO 270 590 GOSUB 640 591 GOSUB 880 592 GOSUB 890 593 GOSUB 640 594 GOTO 270 595 GOSUB 640 596 GOSUB 650 597 GOSUB 640 598 GOTO 270 600 GOSUB 900 601 GOTO 270 605 GOSUB 780 606 GOSUB 780 607 GOSUB 640 608 GOTO 270 610 GOSUB 970 611 GOSUB 800 612 GOSUB 960 613 GOTO 270 615 GOSUB 640 616 GOSUB 650 617 GOSUB 760 618 GOTO 270 620 GOSUB 920 621 GOTO 270 625 GOSUB 700 626 GOSUB 650 627 A=C*.5\GOSUB 640 628 A=C\GOSUB 810 629 GOTO 270 630 GOSUB 940 631 GOTO 270 635 GOSUB 790 636 GOSUB 710 637 GOSUB 640 638 GOTO 270 640 FOR Y=1 TO A 641 PRINT #1:TAB(S); 642 FOR X=1 TO 10 643 PRINT #1:G$; 644 NEXT X 645 PRINT #1: 646 NEXT Y 647 RETURN 650 IF A<1 THEN 660\GOTO 670 660 A=1 670 FOR X=1 TO A\PRINT #1:TAB(S);G$;G$;H$;H$;G$;G$;H$;H$;G$;G$\NEXT X 672 RETURN 680 PRINT#1:TAB(S); 690 FOR X=1 TO A\PRINT #1:TAB(4*L+S);G$;G$;H$;H$;G$;G$\NEXT X 692 RETURN 700 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;\PRINT#1:TAB(8*L+S);G$;G$\NEXT X 701 RETURN 710 IF A<1 THEN 720\GOTO 730 720 A=1 730 FOR X=1 TO A\PRINT#1:TAB(4*L+S);G$;G$\NEXT X 731 RETURN 740 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$\NEXT X 742 RETURN 750 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$\NEXT X 752 RETURN 760 FOR Y=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$;G$;G$;H$;H$;G$;G$\NEXT Y 761 RETURN 770 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;H$;H$;G$;G$;G$;G$;G$;G$\NEXT X 772 RETURN 780 FOR X=1 TO A\PRINT #1:TAB(8*L+S);G$;G$\NEXT X 782 RETURN 790 FOR X=1 TO A\PRINT#1:TAB(4*L+S);G$;G$;G$;G$;G$;G$\NEXT X 792 RETURN 800 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$;G$;G$\NEXT X 805 RETURN 810 FOR X=1 TO C/2 811 PRINT #1:TAB(S); 812 FOR Y=1 TO 2 813 FOR Z=1 TO (5*L)-X