100 PRINT "THIS DEMONSTRATION SHOWS THE VERSATILITY OF DEC S" 101 PRINT "PDP-8 COMPUTER BY SIMULATING A GAME OF BLACKJACK." 102 PRINT "THE COMPUTER IS THE DEALER AND GETS A BREAK AT 2516(?)" 103 PRINT "HOURS. WHAT TIME IS IT NOW"; 140 LET K=0 150 LET W1=0 160 INPUT N 170 FOR I = 1TO N/2 180 LET X=T(10*RND(X)) 190 NEXT I 200 DIM D(52) 210 FOR A=1 TO 52 220 LET D(A) = 0 230 NEXT A 240 DIM Q(52) 250 FOR A=0 TO 39 STEP 13 260 FOR C=1 TO 13 270 LET Q(A+C)=C 280 NEXT C 290 NEXT A 300 PRINT 310 LET K=K+1 320 FOR P=1 TO 5 330 LET E(P)=0 340 LET V(P) = 0 350 LET T(P)=0 360 NEXT P 370 LET V(3)=1 380 PRINT 390 PRINT "WAGER"; 400 LET P=1 410 INPUT W 420 LET W(2)=W 430 IF W<=0 THEN 2470 440 IF W<=500 THEN 470 450 PRINT "THAT S TOO MUCH - HOUSE LIMIT IS $500." 460 GOTO 390 470 PRINT 480 PRINT "I SHOW ", 490 GOSUB 1390 500 IF E(1)=0 THEN 520 510 LET V(4)=1 520 LET V(5)=1 530 GOSUB 1390 540 LET M=X 550 LET P=2 560 PRINT "FIRST CARD IS", 570 GOSUB 1390 580 LET G=X 590 PRINT "NEXT CARD IS", 600 GOSUB 1390 610 IF V(2)>0 THEN 870 620 LET S=X 630 IF V(3)<>1 THEN 870 640 IF T(P)<>21 THEN 710 650 PRINT "***BLACKJACK***" 660 PRINT "MY HOLE CARD WAS ", 670 LET X=M 680 GOSUB 1730 690 LET W1=W1+1.5*W 700 GOTO 2250 710 IF V(4)=0 THEN 810 720 PRINT "INSURANCE ANYONE? (TYPE 1 OR 0)"; 730 INPUT I 740 IF I=0 THEN 810 750 IF T(1)<>21 THEN 790 760 LET W1=W1+W 770 PRINT "YOU WIN $";W;" ON YOUR INSURANCE BET"; 780 GOTO 810 790 LET W1=W1-W/2 800 PRINT "YOU LOST $";W/2; 801 PRINT " ON YOUR INSURANCE BET - I DON T HAVE BLACKJACK!" 810 IF T(1)<>21 THEN 870 820 PRINT "**I HAVE BLACKJACK**" 830 PRINT "MY HOLE CARD IS ", 840 LET X=M 850 GOSUB 1730 860 GOTO 2230 870 IF T(P)<=21 THEN 950 880 IF E(P)>0 THEN 930 890 PRINT "YOU BUSTED, "; 900 PRINT "YOUR TOTAL IS ";T(P) 910 IF V(2)=1 THEN 1200 920 GOTO 2030 930 LET E(P)=E(P)-1 940 LET T(P)=T(P)-10 950 IF V(1)=2 THEN 900 960 LET V(3)=V(3)+1 970 PRINT "HIT"; 980 INPUT V(1) 990 IF V(1)<>3 THEN 1310 1000 IF V(2)>0 THEN 1290 1010 IF V(3)<>2 THEN 1290 1020 IF Q(G)=Q(S) THEN 1050 1030 PRINT "NOW IS THAT A PAIR?" 1040 GOTO 970 1050 LET V(2)=1 1060 IF Q(G)<>1 THEN 1080 1070 LET V(1)=2 1080 LET P=3 1090 PRINT " PLAY HAND ONE NOW" 1100 PRINT "FIRST CARD IS", 1110 LET W(3)=W 1120 LET X=G 1130 GOSUB 1150 1140 GOTO 590 1150 GOSUB 1630 1160 GOSUB 1730 1170 LET V(3)=1 1180 LET T(P)=C 1190 RETURN 1200 LET P=2 1210 LET V(2)=2 1220 PRINT " PLAY HAND TWO NOW" 1230 PRINT "FIRST CARD IS", 1240 LET X=S 1250 GOSUB 1150 1260 IF Q(G)=1 THEN 1280 1270 LET V(1)=0 1280 GOTO 590 1290 PRINT "NO SPLITS NOW -- TRY AGAIN" 1300 GOTO 970 1310 IF V(1)<>2 THEN 1360 1320 IF V(3)=2 THEN 1350 1330 PRINT "TOO LATE TO DOUBLE, CHARLIE." 1340 GOTO 970 1350 LET W(P)=2*W(P) 1360 IF V(1)>0 THEN 590 1370 GOTO 900 1380 REM DEAL 1390 GOSUB 1460 1400 LET T(P)=T(P)+C 1410 IF V(5)=0 THEN 1440 1420 LET V(5)=0 1430 RETURN 1440 GOSUB 1730 1450 RETURN 1460 LET N=10 *(1+ABS(COS(N+W1))) 1470 FOR A=1 TON 1480 LET X=INT(52.9999999*RND(Y)) 1490 IF X=0 THEN 1480 1500 NEXT A 1510 IF D(X)=0 THEN 1610 1520 LET R=R+1 1530 IF R<50 THEN 1460 1540 FOR A=1 TO 52 1550 IF D(A)=K THEN 1570 1560 LET D(A)=0 1570 NEXT A 1580 LET R=0 1590 PRINT "I RESHUFFLED" 1600 GOTO 1460 1610 LET R=0 1620 LET D(X)=K 1630 IF Q(X)<>1 THEN 1670 1640 LET C=11 1650 LET E(P)=E(P)+1 1660 RETURN 1670IF Q(X)>10 THEN 1700 1680 LET C=Q(X) 1690 RETURN 1700 LET C=10 1710 RETURN 1720 REM PRINT CARD 1730 GOSUB 1760 1740 GOSUB 1910 1750 RETURN 1760 IF Q(X)<>1 THEN 1790 1770 PRINT " ACE "; 1780 RETURN 1790 IF Q(X)>10 THEN 1820 1800 PRINT Q(X); 1810 RETURN 1820 IF Q(X)>11 THEN 1850 1830 PRINT " JACK "; 1840 RETURN 1850 IF Q(X)>12 THEN 1880 1860 PRINT " QUEEN "; 1870 RETURN 1880 PRINT " KING "; 1890 RETURN 1900 REM PRINT SUIT 1910 IF X>39 THEN 1960 1920 IF X>26 THEN 1980 1930 IF X>13 THEN 2000 1940 PRINT "OF SPADES" 1950 RETURN 1960 PRINT "OF CLUBS" 1970 RETURN 1980 PRINT "OF HEARTS" 1990 RETURN 2000 PRINT "OF DIAMONDS" 2010 RETURN 2020 REM DEALER PLAYS 2030 LET P=2 2040 PRINT "MY HOLE CARD IS ", 2050 LET X=M 2060 GOSUB 1730 2070 IF T(2)<22 THEN 2100 2080 IF V(2)=0 THEN 2230 2090 IF T(3)>21 THEN 2230 2100 LET P=1 2110 IF T(1)<17 THEN 2300 2120 IF T(1)>17 THEN 2140 2130 IF E(1)>0 THEN 2300 2140 IF T(1)>21 THEN 2330 2150 LET P=2 2160 PRINT "MY TOTAL IS ";T(1) 2170 IF T(P)>21 THEN 2230 2180 IF T(1)>21 THEN 2210 2190 IF T(1)>T(P) THEN 2230 2200 IF T(1)=(P) THEN 2240 2210 LET W1=W1+W(P) 2220 GOTO 2240 2230 LET W1=W1-W(P) 2240 IF V(2)>0 THEN 2270 2250 GOSUB 2390 2260 GOTO 310 2270 LET P=3 2280 LET V(2)=0 2290 GOTO 2170 2300 PRINT "I DRAW ", 2310 GOSUB 1390 2320 GOTO 2100 2330 IF E(1)= 0 THEN 2370 2340 LET E(1) = E(1) -1 2350 LET T(1)=T(1)-10 2360 GOTO 2100 2370 PRINT "I BUSTED***"; 2380 GOTO 2150 2390 IF W1<0 THEN 2430 2400 IF W1=0 THEN 2450 2410 PRINT"YOU RE AHEAD $";W1 2420 RETURN 2430 PRINT "YOU RE BEHIND $";-W1 2440 RETURN 2450 PRINT "YOU RE EVEN" 2460 RETURN 2465 PRINT "THANK YOU FOR PLAYING!! " 2470 PRINT\PRINT\PRINT 2480 CHAIN "DEMON " 2490 END AA?M73>R8AW(LJHAUMCRPB