10 REM *** CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL 30 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 40 DIM A(100) 55 RANDOMIZE 95 PRINT "WELCOME TO 'SPLAT' -- THE GAME THAT SIMULATES A PARACHUTE" 96 PRINT "JUMP. TRY TO OPEN YOUR CHUTE AT THE LAST POSSIBLE" 97 PRINT "MOMENT WITHOUT GOING SPLAT." 118 PRINT\PRINT\D1=0\V=0\A=0\N=0\M=0\D1=INT(9001*RND(1)+1000) 119 PRINT " SELECT YOUR OWN TERMINAL VELOCITY (YES OR NO)";\INPUT A1$ 120 IF A1$="NO" THEN 128 \ IF A1$="YES" THEN 123 121 PRINT "'YES' OR 'NO' PLEASE";\INPUT A1$\GOTO 120 123 PRINT "WHAT TERMINAL VELOCITY (MI/HR)";\INPUT V1 125 V1=V1*(5280/3600)\V=V1+((V1*RND(0))/20)-((V1*RND(0))/20)\GOTO 135 128 V1=INT(1000*RND(0)) 130 PRINT "OK. TERMINAL VELOCITY =";V1;"MI/HR" 131 V1=V1*(5280/3600)\V=V1+((V1*RND(0))/20)-((V1*RND(0))/20) 135 PRINT "WANT TO SELECT ACCELERATION DUE TO GRAVITY (YES OR NO)"; 136 INPUT B1$ 140 IF B1$="NO" THEN 146 \ IF B1$="YES" THEN 143 141 PRINT "'YES' OR 'NO' PLEASE";\INPUT B1$\GOTO 140 143 PRINT "WHAT ACCELERATION (FT/SEC/SEC)";\INPUT A2 145 A=A2+((A2*RND(0))/20)-((A2*RND(0))/20)\GOTO 205 146 F=INT(1+(10*RND(0)))\IF F=1 GOTO 151\IF F=2 GOTO 152 147 IF F=3 GOTO 153\IF F=4 GOTO 154\IF F=5 GOTO 155 148 IF F=6 GOTO 156\IF F=7 GOTO 157\IF F=8 GOTO 158 149 IF F=9 GOTO 159\IF F=10 GOTO 160 151 PRINT"FINE. YOU'RE ON MERCURY. ACCELERATION=12.2FT/SEC/SEC"\GOTO161 152 PRINT"ALRIGHT. YOU'RE ON VENUS. ACCELERATION=28.3 FT/SEC/SEC"\GOTO162 153 PRINT "THEN YOU'RE ON EARTH. ACCELERATION=32.16 FT/SEC/SEC"\GOTO 163 154 PRINT"FINE. YOU'RE ON THE MOON. ACCELERATION=5.15FT/SEC/SEC"\GOTO 164 155 PRINT"ALRIGHT. YOU'RE ON MARS. ACCELERATION=12.5FT/SEC/SEC"\GOTO 165 156 PRINT"THEN YOU'RE ON JUPITER. ACCELERATION=85.2FT/SEC/SEC"\GOTO 166 157 PRINT"FINE. YOU'RE ON SATURN. ACCELERATION=37.6FT/SEC/SEC"\GOTO 167 158 PRINT"ALRIGHT. YOU'RE ON URANUS. ACCELERATION=33.8FT/SEC/SEC"\GOTO 168 159 PRINT"THEN YOU'RE ON NEPTUNE. ACCELERATION=39.6FT/SEC/SEC"\GOTO 169 160 PRINT"FINE. YOU'RE ON THE SUN. ACCELERATION=896FT/SEC/SEC"\GOTO 170 161 A2=12.2\GOTO 145 162 A2=28.3\GOTO 145 163 A2=32.16\GOTO 145 164 A2=5.15\GOTO 145 165 A2=12.5\GOTO 145 166 A2=85.2\GOTO 145 167 A2=37.6\GOTO 145 168 A2=33.8 \GOTO 145 169 A2=39.6\GOTO 145 170 A2=896\GOTO 145 205 PRINT 206 PRINT " ALTITUDE =";D1;"FT" 207 PRINT " TERM.VELOCITY =";V1;"FT/SEC +-5%" 208 PRINT " ACCELERATION =";A2;"FT/SEC/SEC +-5%" 210 PRINT "SET THE TIMER FOR YOUR FREEFALL." 211 PRINT "HOW MANY SECONDS";\INPUT T 215 PRINT "HERE WE GO." 217 PRINT 218 PRINT "TIME (SEC)","DIST TO FALL (FT)" 219 PRINT "==========","=================" 300 FOR I=0 TO T STEP (T/8) 310 IF I>V/A GOTO 400 320 D=D1-((A/2)*I^2) 330 IF D<=0 GOTO 1000 340 PRINT I,D 350 NEXT I 360 GOTO 500 400 PRINT "TERMINAL VELOCITY REACHED AT T PLUS";V/A;"SECONDS" 405 FOR I=I TO T STEP (T/8) 410 D=D1-((V^2/(2*A))+(V*(I-(V/A)))) 420 IF D<=0 GOTO 1010 430 PRINT I,D 440 NEXT I 450 GOTO 500 500 PRINT "CHUTE OPEN" 510 K=0\K1=0 530 FOR I=1 TO 100 550 IF A(I)=0 GOTO 620 560 K=K+1 570 IF D>=A(I) GOTO 600 580 K1=K1+1 600 NEXT I 620 A(I)=D 630 I=I-1 650 IF K-K1<=.1*K GOTO 700 660 IF K-K1<=.25*K GOTO 710 670 IF K-K1<=.5*K GOTO 720 680 IF K-K1<=.75*K GOTO 730 690 IF K-K1<=.9*K GOTO 740 695 GOTO 750 700 PRINT "WOW! THAT'S SOME JUMPING. OF THE";K;"SUCCESSFUL JUMPS" 701 PRINT "BEFORE YOURS, ONLY";K-K1;"OPENED THEIR CHUTES LOWER THAN" 702 PRINT "YOU DID." 703 GOTO 2000 710 PRINT "PRETTY GOOD! ";K;"SUCCESSFUL JUMPS PRECEDED YOURS AND ONLY" 711 PRINT K-K1;" OF THEM GOT LOWER THAN YOU DID BEFORE THEIR CHUTES" 712 PRINT "OPENED." \GOTO 2000 720 PRINT "NOT BAD. THERE HAVE BEEN";K;"SUCCESSFUL JUMPS BEFORE YOURS." 721 PRINT"YOU WERE BEATEN OUT BY";K-K1;"OF THEM."\GOTO 2000 730 PRINT "CONSERVATIVE AREN'T YOU? YOU RANKED ONLY";K-K1;"IN THE" 731 PRINT K;"SUCCESSFUL JUMPS BEFORE YOURS."\GOTO 2000 740 PRINT "HUMPH! DON'T YOU HAVE ANY SPORTING BLOOD? THERE WERE" 741 PRINT K;"SUCCESSFUL JUMPS BEFORE YOURS AND YOU CAME IN";K1;"JUMPS" 742 PRINT "BETTER THAN THE WORST. SHAPE UP!!!"\GOTO 2000 750 PRINT "HEY! YOU PULLED THE RIP CORD MUCH TOO SOON. ";K;"SUCCESSFUL" 751 PRINT "JUMPS BEFORE YOURS AND YOU CAME IN NUMBER";K-K1;"! GET WITH IT!" 752 GOTO 2000 800 PRINT "REQUIESCAT IN PACE."\GOTO 1950 801 PRINT "MAY THE ANGEL OF HEAVEN LEAD YOU INTO PARADISE"\GOTO 1950 802 PRINT "REST IN PEACE"\GOTO 1950 803 PRINT "SON-OF-A-GUN"\GOTO 1950 804 PRINT "#$%&&%!$"\GOTO 1950 805 PRINT "A KICK IN THE PANTS IS A BOOST IF YOU'RE HEADED RIGHT"\GOTO 1950 806 PRINT "HMMM. SHOULD HAVE PICKED A SHORTER TIME."\GOTO 1950 807 PRINT "MUTTER. MUTTER. MUTTER."\GOTO 1950 808 PRINT "PUSHING UP DAISIES."\GOTO1950 809 PRINT "EASY COME, EASY GO."\GOTO 1950 1000 PRINT SQR(2*D1/A),"SPLAT" 1005 G=INT(1+(10*RND(0)))\IF G=1 GOTO 800\IF G=2 GOTO 801 1006 IF G=3 GOTO 802\IF G=4 GOTO 803\IF G=5 GOTO 804 1007 IF G=6 GOTO 805\IF G=7 GOTO 806\IF G=8 GOTO 807 1008 IF G=9 GOTO 808\IF G=10 GOTO 809 1010 PRINT (V/A)+((D1-(V^2/(2*A)))/V),"SPLAT" 1020 GOTO 1005 1950 PRINT "I'LL GIVE YOU ANOTHER CHANCE."\GOTO 2000 2000 PRINT "DO YOU WANT TO PLAY AGAIN";\INPUT Z$ 2001 IF Z$="YES" GOTO 118 2002 IF Z$="NO" GOTO 2005 2003 PRINT "YES OR NO"\GOTO 2000 2005 PRINT "PLEASE";\INPUT Z$\IF Z$="YES" THEN 118 2007 PRINT "SSSSSSSSSS." 9999 END 100 REM STOCK MARKET SIMULATION -STOCK- 101 REM REVISED 8/18/70 (D. PESSEL, L. BRAUN, C. LOSIK) 102 REM IMP VRBLS: A-MRKT TRND SLP; B5-BRKRGE FEE; C-TTL CSH ASSTS; 103 REM C5-TTL CSH ASSTS (TEMP); C(I)-CHNG IN STK VAL; D-TTL ASSTS; 104 REM E1,E2-LRG CHNG MISC; I-STCK #; I1,I2-STCKS W LRG CHNG; 105 REM N1,N2-LRG CHNG DAY CNTS; P5-TTL DAYS PRCHSS; P(I)-PRTFL CNTNTS; 106 REM Q9-NEW CYCL?; S4-SGN OF A; S5-TTL DYS SLS; S(I)-VALUE/SHR; 107 REM T-TTL STCK ASSTS; T5-TTL VAL OF TRNSCTNS; 108 REM W3-LRG CHNG; X1-SMLL CHNG(<$1); Z4,Z5,Z6-NYSE AVE.; Z(I)-TRNSCTN. 109 PRINT TAB(20);"THE STOCK MARKET" 110 DIM S(5),P(5),Z(5),C(5) 112 REM SLOPE OF MARKET TREND:A (SAME FOR ALL STOCKS) 113 RANDOMIZE 114 LET A=INT((RND(X)/10)*100+.5)/100 115 LET T5=0 116 LET X9=0 117 LET N1=0 118 LET N2=0 119 LET E1=0 120 LET E2=0 121 REM INTRODUCTION 122 PRINT "DO YOU WANT THE INSTRUCTIONS (YES-TYPE 1, NO-TYPE 0)"; 123 INPUT Z9 124 PRINT 125 PRINT 126 IF Z9<1 THEN 200 130 PRINT "THIS PROGRAM PLAYS THE STOCK MARKET. YOU WILL BE GIVEN" 132 PRINT "$10,000 AND MAY BUY OR SELL STOCKS. THE STOCK PRICES WILL" 134 PRINT "BE GENERATED RANDOMLY AND THEREFORE THIS MODEL DOES NOT" 135 PRINT "REPRESENT EXACTLY WHAT HAPPENS ON THE EXCHANGE. A TABLE" 136 PRINT "OF AVAILABLE STOCKS, THEIR PRICES, AND THE NUMBER OF SHARES" 137 PRINT "IN YOUR PORTFOLIO WILL BE PRINTED. FOLLOWING THIS, THE" 138 PRINT "INITIALS OF EACH STOCK WILL BE PRINTED WITH A QUESTION" 139 PRINT "MARK. HERE YOU INDICATE A TRANSACTION. TO BUY A STOCK" 140 PRINT "TYPE +NNN, TO SELL A STOCK TYPE -NNN, WHERE NNN IS THE" 141 PRINT "NUMBER OF SHARES. A BROKERAGE FEE OF 1% WILL BE CHARGED" 142 PRINT "ON ALL TRANSACTIONS. NOTE THAT IF A STOCK'S VALUE DROPS" 143 PRINT "TO ZERO IT MAY REBOUND TO A POSITIVE VALUE AGAIN. YOU" 144 PRINT "HAVE $10,000 TO INVEST. USE INTEGERS FOR ALL YOUR INPUTS." 145 PRINT "(NOTE: TO GET A 'FEEL' FOR THE MARKET RUN FOR AT LEAST" 146 PRINT "10 DAYS)" 147 PRINT "-----GOOD LUCK!-----" 200 REM GENERATION OF STOCK TABLE; INPUT REQUESTS 210 REM INITIAL STOCK VALUES 220 LET S(1)=100 230 LET S(2)=85 240 LET S(3)=150 250 LET S(4)=140 260 LET S(5)=110 265 REM INITIAL T8 - # DAYS FOR FIRST TREND SLOPE (A) 266 LET T8=INT(4.99*RND(X)+1) 267 REM RANDOMIZE SIGN OF FIRST TREND SLOPE (A) 268 IF RND(X)>.5 THEN 270 269 LET A=-A 270 REM RANDOMIZE INITIAL VALUES 280 GOSUB 830 285 REM INITIAL PORTFOLIO CONTENTS 290 FOR I=1 TO 5 300 LET P(I)=0 305 LET Z(I)=0 310 NEXT I 320 PRINT 330 PRINT 333 REM INITIALIZE CASH ASSETS:C 335 LET C=10000 338 REM PRINT INITIAL PORTFOLIO 340 PRINT "STOCK"," ","INITIALS","PRICE/SHARE" 350 PRINT "INT. BALLISTIC MISSILES"," IBM",S(1) 352 PRINT "RED CROSS OF AMERICA"," RCA",S(2) 354 PRINT "LICHTENSTEIN, BUMRAP & JOKE"," LBJ",S(3) 356 PRINT "AMERICAN BANKRUPT CO."," ABC",S(4) 358 PRINT "CENSURED BOOKS STORE"," CBS",S(5) 360 PRINT 361 REM NYSE AVERAGE:Z5; TEMP. VALUE:Z4; NET CHANGE:Z6 363 LET Z4=Z5 364 LET Z5=0 365 LET T=0 370 FOR I=1 TO 5 375 LET Z5=Z5+S(I) 380 LET T=T+S(I)*P(I) 390 NEXT I 391 LET Z5=INT(100*(Z5/5)+.5)/100 392 LET Z6=INT((Z5-Z4)*100+.5)/100 393 REM TOTAL ASSETS:D 394 LET D=T+C 395 IF X9>0 THEN 398 396 PRINT "NEW YORK STOCK EXCHANGE AVERAGE: ";Z5 397 GO TO 399 398 PRINT "NEW YORK STOCK EXCHANGE AVERAGE: ";Z5;" NET CHANGE: ";Z6 399 PRINT 400 LET T=INT(100*T+.5)/100 401 PRINT "TOTAL STOCK ASSETS ARE $";T 403 LET C=INT(100*C+.5)/100 405 PRINT "TOTAL CASH ASSETS ARE $";C 407 LET D=INT(100*D+.5)/100 408 PRINT "TOTAL ASSETS ARE $";D 410 PRINT 411 IF X9=0 THEN 416 412 PRINT "DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)"; 413 INPUT Q9 414 IF Q9<1 THEN 998 416 REM INPUT TRANSACTIONS 420 PRINT "WHAT IS YOUR TRANSACTION IN" 430 PRINT "IBM"; 440 INPUT Z(1) 450 PRINT "RCA"; 460 INPUT Z(2) 470 PRINT "LBJ"; 480 INPUT Z(3) 490 PRINT "ABC"; 500 INPUT Z(4) 510 PRINT "CBS"; 520 INPUT Z(5) 525 PRINT 530 REM TOTAL DAY'S PURCHASES IN $:P5 540 LET P5=0 550 REM TOTAL DAY'S SALES IN $:S5 560 LET S5=0 570 FOR I=1 TO 5 575 LET Z(I)=INT(Z(I)+.5) 580 IF Z(I)<=0 THEN 610 590 LET P5=P5+Z(I)*S(I) 600 GO TO 620 610 LET S5=S5-Z(I)*S(I) 612 IF -Z(I)<=P(I) THEN 620 614 PRINT "YOU HAVE OVERSOLD A STOCK; TRY AGAIN." 616 GO TO 420 620 NEXT I 622 REM TOTAL VALUE OF TRANSACTIONS:T5 625 LET T5=P5+S5 630 REM BROKERAGE FEE:B5 640 LET B5=INT(.01*T5*100+.5)/100 650 REM CASH ASSETS=OLD CASH ASSETS-TOTAL PURCHASES 652 REM -BROKERAGE FEES+TOTAL SALES:C5 654 LET C5=C-P5-B5+S5 656 IF C5>=0 THEN 674 658 PRINT "YOU HAVE USED $";-C5;"MORE THAN YOU HAVE." 660 GO TO 420 674 LET C=C5 675 REM CALCULATE NEW PORTFOLIO 680 FOR I=1 TO 5 690 LET P(I)=P(I)+Z(I) 700 NEXT I 710 REM CALCULATE NEW STOCK VALUES 720 GOSUB 830 750 REM PRINT PORTFOLIO 751 REM BELL RINGING-DIFFERENT ON MANY COMPUTERS 752 FOR I=1 TO 20 753 PRINT 754 NEXT I 755 PRINT 756 PRINT "********** END OF DAY'S TRADING" 757 PRINT 758 PRINT 759 IF X9<1 THEN 769 769 PRINT "STOCK","PRICE/SHARE","HOLDINGS","VALUE","NET PRICE CHANGE" 770 PRINT "IBM", S(1), P(1), S(1)*P(1), C(1) 771 PRINT "RCA", S(2), P(2), S(2)*P(2), C(2) 772 PRINT "LBJ", S(3), P(3), S(3)*P(3), C(3) 773 PRINT "ABC", S(4), P(4), S(4)*P(4), C(4) 774 PRINT "CBS", S(5), P(5), S(5)*P(5), C(5) 775 LET X9=1 780 PRINT 790 PRINT 810 GO TO 360 829 REM NEW STOCK VALUES - SUBROUTINE 830 REM RANDOMLY PRODUCE NEW STOCK VALUES BASED ON PREVIOUS 831 REM DAY'S VALUES 832 REM N1,N2 ARE RANDOM NUMBERS OF DAYS WHICH RESPECTIVELY 833 REM DETERMINE WHEN STOCK I1 WILL INCREASE 10 PTS. AND STOCK 834 REM I2 WILL DECREASE 10 PTS. 840 REM IF N1 DAYS HAVE PASSED, PICK AN I1, SET E1, DETERMINE NEW N1 841 IF N1>0 THEN 850 845 LET I1=INT(4.99*RND(X)+1) 846 LET N1=INT(4.99*RND(X)+1) 847 LET E1=1 850 REM IF N2 DAYS HAVE PASSED, PICK AN I2, SET E2, DETERMINE NEW N2 851 IF N2>0 THEN 860 855 LET I2=INT(4.99*RND(X)+1) 856 LET N2=INT(4.99*RND(X)+1) 857 LET E2=1 860 REM DEDUCT ONE DAY FROM N1 AND N2 861 LET N1=N1-1 862 LET N2=N2-1 890 REM LOOP THROUGH ALL STOCKS 900 FOR I=1 TO 5 910 LET X1=RND(X) 915 IF X1>.25 THEN 920 916 LET X1=.25 917 GO TO 935 920 IF X1>.50 THEN 925 921 LET X1=.50 922 GO TO 935 925 IF X1>.75 THEN 930 926 LET X1=.75 927 GO TO 935 930 LET X1=0.0 931 REM BIG CHANGE CONSTANT:W3 (SET TO ZERO INITIALLY) 935 LET W3=0 936 IF E1<1 THEN 945 937 IF INT(I1+.5)<>INT(I+.5) THEN 945 938 REM ADD 10 PTS. TO THIS STOCK; RESET E1 939 LET W3=10 943 LET E1=0 945 IF E2<1 THEN 955 947 IF INT(I2+.5)<>INT(I+.5) THEN 955 948 REM SUBTRACT 10 PTS. FROM THIS STOCK; RESET E2 949 LET W3=W3-10 953 LET E2=0 954 REM C(I) IS CHANGE IN STOCK VALUE 955 LET C(I)=INT(A*S(I))+X1+INT(3-6*RND(X)+.5)+W3 956 LET C(I)=INT(100*C(I)+.5)/100 957 LET S(I)=S(I)+C(I) 960 IF S(I)>0 THEN 967 964 LET C(I)=0 965 LET S(I)=0 966 GO TO 970 967 LET S(I)=INT(100*S(I)+.5)/100 970 NEXT I 972 REM AFTER T8 DAYS RANDOMLY CHANGE TREND SIGN AND SLOPE 973 LET T8=T8-1 974 IF T8<1 THEN 985 980 RETURN 985 REM RANDOMLY CHANGE TREND SIGN AND SLOPE (A), AND DURATION 990 T8=INT(4.99*RND(X)+1) 992 A=INT((RND(X)/10)*100+.5)/100 993 S4=RND(X) 994 IF S4<=.5 THEN 997 995 A=-A 997 RETURN 998 PRINT "HOPE YOU HAD FUN!!" 999 END 5 REMARKABLE PROGRAM CONVERTED TO BASIC-PLUS BY DAVE AHL, DIGITAL 6 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 10 DIM R$(5,7),W$(10,13),L(30),R(30) 20 R$(1)="RIGHT"\R$(2)="CORRECT"\R$(3)="FINE"\R$(4)="GOOD!"\R$(5)="CHECK" 70 RANDOMIZE\C=0\PRINT \PRINT "SYNONYM DRILL"\PRINT 90 PRINT "A SYNONYM OF A WORD MEANS ANOTHER WORD IN THE ENGLISH LANGUAGE" 100 PRINT "WHICH HAS THE SAME OR VERY NEARLY THE SAME MEANING."\PRINT 130 PRINT "I CHOOSE A WORD -- YOU TYPE A SYNONM." 140 PRINT "IF YOU CAN'T THINK OF A SYNONYM, TYPE THE WORD 'HELP'" 145 PRINT "AND I WILL TELL YOU A SYNONYM."\PRINT 150 RESTORE\C=C+1\READ N 160 IF C>N THEN 420 170 N1=INT(RND(0)*N+1) 174 IF R(N1)=1 THEN 170 176 R(N1)=1 180 FOR I=1 TO N1 190 READ N2 200 FOR J=1 TO N2 210 READ W$(J) 220 NEXT J 230 NEXT I 232 FOR J=1 TO N2\L(J)=J\NEXT J 235 L(0)=N2\G=1\PRINT 237 L(G)=L(L(0))\L(0)=N2-1\PRINT 240 PRINT " WHAT IS A SYNONYM OF ";W$(G);\INPUT A$ 250 IF A$="HELP" THEN 340 260 FOR J=1 TO N2 270 IF G=J THEN 290 280 IF A$=W$(J) THEN 320 290 NEXT J 300 PRINT " TRY AGAIN."\GOTO 240 320 PRINT R$(RND(0)*5+1)\GOTO 150 340 G1=INT(RND(0)*L(0)+1) 360 PRINT "**** A SYNONYM OF ";W$(G);" IS ";W$(L(G1));"."\PRINT 370 L(G1)=L(L(0))\L(0)=L(0)-1\GOTO 240 420 PRINT \PRINT "SYNONYM DRILL COMPLETED."\GOTO 999 500 DATA 10 510 DATA 5,"FIRST","START","BEGINNING","ONSET","INITIAL" 520 DATA 5,"SIMILAR","ALIKE","SAME","LIKE","RESEMBLING" 530 DATA 5,"MODEL","PATTERN","PROTOTYPE","STANDARD","CRITERION" 540 DATA 5,"SMALL","INSIGNIFICANT","LITTLE","TINY","MINUTE" 550 DATA 6,"STOP","HALT","STAY","ARREST","CHECK","STANDSTILL" 560 DATA 6,"HOUSE","DWELLING","RESIDENCE","DOMICILE","LODGING","HABITATION" 570 DATA 7,"PIT","HOLE","HOLLOW","WELL","GULF","CHASM","ABYSS" 580 DATA 7,"PUSH","SHOVE","THRUST","PROD","POKE","BUTT","PRESS" 590 DATA 6,"RED","ROUGE","SCARLET","CRIMSON","FLAME","RUBY" 600 DATA 7,"PAIN","SUFFERING","HURT","MISERY","DISTRESS","ACHE","DISCOMFORT" 999 END 50 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 70 P1=3.14159 100 R=1\R1=57.296\RANDOMIZE 110 PRINT "YOU ARE THE WEAPONS OFFICER ON THE STAR SHIP ENTERPRISE" 120 PRINT "AND THIS IS A TEST TO SEE HOW ACCURATE A SHOT YOU" 130 PRINT "ARE IN A THREE-DIMENSIONAL RANGE. YOU WILL BE TOLD" 140 PRINT "THE RADIAN OFFSET FOR THE X AND Z AXES, THE LOCATION" 150 PRINT "OF THE TARGET IN THREE-DIMENSIONAL RECTANGULAR COORDINATES," 160 PRINT "THE APPROXIMATE NUMBER OF DEGREES FROM THE X AND Z" 170 PRINT "AXES, AND THE APPROXIMATE DISTANCE TO THE TARGET." 180 PRINT "YOU WILL THEN PROCEED TO SHOOT AT THE TARGET UNTIL IT IS" 190 PRINT "DESTROYED!"\PRINT\PRINT "GOOD LUCK!!"\PRINT\PRINT 220 A=RND(0)*2*P1\B=RND(0)*2*P1\Q=INT(A*R1)\W=INT(B*R1) 260 PRINT "RADIANS FROM X AXIS =";A;" FROM Z AXIS =";B 270 PRINT "APPROX DEGREES FROM X AXIS =";Q;" FROM Z AXIS =";W 280 P=100000*RND(0)+RND(0)\X=SIN(B)*COS(A)*P\Y=SIN(B)*SIN(A)*P\Z=COS(B)*P 340 PRINT "TARGET SIGHTED: APPROX COORDINATES X=";X;" Y=";Y;" Z=";Z 345 R=R+1\IF R>5 THEN 390 350 IF R=1 GOTO 355\IF R=2 GOTO 360\IF R=3 GOTO 365\IF R=4 GOTO 370 352 IF R=5 GOTO 375 355 P3=INT(P*.05)*20\GOTO 390 360 P3=INT(P*.1)*10\GOTO 390 365 P3=INT(P*.5)*2\GOTO 390 370 P3=INT(P)\GOTO 390 375 P3=P 390 PRINT " ESTIMATED DISTANCE=";P3 400 PRINT "INPUT ANGLE DEVIATION FROM X, DEVIATION FROM Z, DISTANCE";\INPUTA1,B1,P2 410 PRINT\IF P2=>20 THEN 420\PRINT "YOU BLEW YOURSELF UP!!"\GOTO 580 420 A1=A1/R1\B1=B1/R1\PRINT "RADIANS FROM X AXIS =";A1;" FROM Z AXIS =";B1 480 X1=P2*SIN(B1)*COS(A1)\Y1=P2*SIN(B1)*SIN(A1)\Z1=P2*COS(B1) 510 D=((X1-X)^2+(Y1-Y)^2+(Z1-Z)^2)^(1/2) 520 IF D>20 THEN 670 530 PRINT\PRINT " * * * HIT * * * TARGET IS NON-FUNCTIONAL"\PRINT 550 PRINT "DISTANCE OF EXPLOSION FROM TARGET WAS";D;"KILOMETERS" 570 PRINT\PRINT "MISSION ACCOMPLISHED IN";R;"SHOTS." 580 R=0\FOR I=1 TO 5\PRINT\NEXT I\PRINT "NEXT TARGET...."\PRINT\GOTO 220 670 X2=X1-X\Y2=Y1-Y\Z2=Z1-Z\IF X2<0 THEN 730 710 PRINT "SHOT IN FRONT OF TARGET";X2;"KILOMETERS."\GOTO 740 730 PRINT "SHOT BEHIND TARGET";-X2;"KILOMETERS." 740 IF Y2<0 THEN 770 750 PRINT "SHOT TO LEFT OF TARGET";Y2;"KILOMETERS."\GOTO 780 770 PRINT "SHOT TO RIGHT OF TARGET";-Y2;"KILOMETERS." 780 IF Z2<0 THEN 810 790 PRINT "SHOT ABOVE TARGET";Z2;"KILOMETERS."\GOTO 820 810 PRINT "SHOT BELOW TARGET";-Z2;"KILOMETERS." 820 PRINT "APPROX POSITION OF EXPLOSION: X=";X1;" Y=";Y1;" Z=";Z1 830 PRINT " DISTANCE FROM TARGET =";D\PRINT\PRINT\PRINT\GOTO 345 999 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 90 PRINT 100 REM *** INITIALIZE 110 DIM T(7,3) 120 E=0 130 FOR D=1 TO 7 140 FOR N=1 TO 3 150 T(D,N)=0 160 NEXT N 170 NEXTD 180 PRINT "TOWERS OF HANOI PUZZLE"\PRINT 200 PRINT "YOU MUST TRANSFERTHE DISKS FROMTHE LEFT TO THE RIGHT" 205 PRINT "TOWER, ONE AT A TIME, NEVER PUTTING A LARGERON A" 210 PRINT "SMALLER DISK."\PRINT 215 PRINT "HOW MANY DISKS DO YOU WANT TO MOVE (7 IS MAX)"; 220 INPUT S\PRINT 230 M=0 240 FOR Q=1 TO 7 250 IF Q=S THEN 350 260 NEXT Q 270 E=E+1 280 IF E>2 THEN 310 290 PRINT "SORRY, BUT I CAN'T DO THAT JOB FOR YOU."\GOTO 215 310 PRINT "ALRIGHT, WISE GUY, IF YOU CAN'T PLAY THE GAME RIGHT, I'LL" 320 PRINT "JUST TAKE MY PUZZLE AND GO HOME. SO LONG."\STOP 340 REM *** STORE DISKS FROM SMALLEST TO LARGEST 350 PRINT "INTHIS PROGRAM, WE SHALL REFER TO DISKS BY A NUMERICAL CODE." 355 PRINT "3 WILL REPRESENT THE SMALLEST DISK, 5 THE NEXT SIZE, 7 THE NEXT," 360 PRINT "AND SO ON, UP TO 15. IF YOU DO THE PUZZLE WITH 2 DISKS, THEIR" 365 PRINT "CODE NAMES WOULDBY 13 AND 15. WITH THREE DISKS, THE CODE" 370 PRINT "NAMES WOULD BE 11, 13, AND 15, ETC. THE NEEDLES ARE" 375 PRINT "NUMBERED FROM LEFT TO RIGHT, 1 TO 3. WE WILL START WITH THE " 380 PRINT "DISKS ON NEEDLE 1, AND ATTEMPT TO MOVE THEM TO NEEDLE 3." 390 PRINT\PRINT "GOOD LUCK!!"\PRINT 400 Y=7\D=15 420 FOR X=S TO 1 STEP -1 430 T(Y,1)=D\D=D-2\Y=Y-1 460 NEXT X 470 GOSUB 1230 480 PRINT "WHICH DISK WOULD YOU LIKE TO MOVE";\E=0 500 INPUT D 510 IF (D-3)*(D-5)*(D-7)*(D-9)*(D-11)*(D-13)*(D-15)=0 THEN 580 520 PRINT "ILLEGAL ENTRY...YOU MAY ONLY TYPE 3,5,7,9,11,13, OR 15." 530 E=E+1\IF E>1 THEN 560 550 GOTO 500 560 PRINT\PRINT "STOP WASTING MY TIME. GO BOTHER SOMEONE ELSE."\STOP 580 REM *** CHECK IF REQUESTED DISK IS BELOW ANOTHER 590 FOR R=1 TO 7 600 FOR C=1 TO 3 610 IF T(R,C)=D THEN 640 620 NEXT C\NEXT R 640 FOR Q=R TO 1 STEP -1 645 IF T(Q,C)=0 THEN 660 650 IF T(Q,C)1 THEN 780 750 PRINT "I'LL ASSUME YOU HIT THE WRONG KEY THIS TIME. BUT WATCH IT," 760 PRINT "I ONLY ALLOW ONE MISTAKE."\GOTO 705 780 PRINT "I TRIED TO WARN YOU, BUT YOU WOULDN'T LISTEN." 790 PRINT "BYE, BYE, BIG SHOT."\STOP 795 REM *** LOCATE DISK TO BE MOVED 800 FOR R=1 TO 7 810 IF T(R,N)<>0 THEN 840 820 NEXT R 830 GOTO 880 835 REM *** CHECK IF DISK TO BE PLACED ON A LARGER ONE 840 IF D0 THEN 970 950 NEXT U 960 GOTO 980 965 REM *** MOVE DISK AND SET OLD LOCATION TO 0 970 U=U-1 980 T(U,N)=T(V,W)\T(V,W)=0 995 REM *** PRINT OUT CURRENT STATUS 1000 GOSUB 1230 1010 REM *** CHECK IF DONE 1020 M=M+1 1030 FOR R=1 TO 7\FOR C=1 TO 2 1050 IF T(R,C)<>0 THEN 1090 1060 NEXT C\NEXT R 1080 GOTO 1120 1090 IF M<=128 THEN 480 1100 PRINT "SORRY, BUT I HAVE ORDERS TO STOP IF YOU MAKE MORE THAN" 1110 PRINT "128 MOVES."\STOP 1120 IF M<>2^S-1 THEN 1140 1130 PRINT "CONGRATULATIONS!! "; 1140 PRINT "YOU HAVE PERFORMED THE TASK IN";M;"MOVES." 1150 PRINT\PRINT "TRY ANOTHER ONE (YES OR NO)";\INPUT A$ 1160 IF A$="NO" THEN 1390 1170 IF A$="YES" THEN 90 1180 PRINT\PRINT "'YES' OR 'NO' PLEASE";\INPUT A$\GOTO 1160 1230 REM *** PRINT SUBROUTINE 1240 FOR K=1 TO 7 1250 Z=10 1260 FOR J=1 TO 3 1270 IF T(K,J)=0 THEN 1330 1280 PRINT TAB(Z-INT(T(K,J)/2)); 1290 FOR V=1 TO T(K,J) 1300 PRINT "*"; 1310 NEXT V 1320 GOTO 1340 1330 PRINT TAB(Z);"*"; 1340 Z=Z+21 1350 NEXT J 1360 PRINT 1370 NEXT K 1380 RETURN 1390 PRINT\ PRINT "THANKS FOR THE GAME!"\PRINT 1400 CHAIN"DSK1:INHALT.BA" 1410 END 4 PRINT "TIME - SPEED - DISTANCE EXERCISE"\PRINT 5 RANDOMIZE 10 C=INT(RND(0)*25)+40 15 D=INT(RND(0)*15)+5 20 T=INT(RND(0)*19)+20 25 PRINT " A CAR TRAVELING";C;"MPH CAN MAKE A CERTAIN TRIP IN" 30 PRINT D;"HOURS LESS THAN A TRAIN TRAVELING AT";T;"MPH." 35 PRINT "HOW LONG DOES THE TRIP TAKE BY CAR"; 40 INPUT A 45 V=D*T/(C-T) 50 E=INT(ABS((V-A)*100/A)+.5) 55 IF E>5 THEN 70 60 PRINT "GOOD! ANSWER WITHIN";E;"PERCENT." 65 GOTO 80 70 PRINT "SORRY. YOU WERE OFF BY";E;"PERCENT." 80 PRINT "CORRECT ANSWER IS";V;"HOURS." 90 PRINT 95 PRINT "ANOTHER PROBLEM (YES OR NO)"; 100 INPUT A$\PRINT 105 IF A$="YES" THEN 10 999 END 1 REM*******COPYRIGHT 1972 PEOPLE'S COMPUTER COMPANY*** 2 REM *** MENLO PARK 5 RANDOMIZE 10 LET G=6 20 LET N=100 30 REM-TRAP 40 REM-STEVE ULLMAN, 8-1-72 50 PRINT "WANT INSTRUCTIONS (1 FOR YES)"; 60 INPUT Z 70 IF Z<>1 THEN 180 80 PRINT "I AM THINKING OF A NUMBER BETWEEN 1 AND";N 90 PRINT "TRY TO GUESS MY NUMBER. ON EACH GUESS," 100 PRINT "YOU ARE TO ENTER 2 NUMBERS, TRYING TO TRAP" 110 PRINT "MY NUMBER BETWEEN THE TWO NUMBERS. I WILL" 120 PRINT "TELL YOU IF YOU HAVE TRAPPED MY NUMBER, IF MY" 130 PRINT "NUMBER IS LARGER THAN YOUR TWO NUMBERS, OR IF" 140 PRINT "MY NUMBER IS SMALLER THAN YOUR TWO NUMBERS." 150 PRINT "IF YOU WANT TO GUESS ONE SINGLE NUMBER, TYPE" 160 PRINT "YOUR GUESS FOR BOTH YOUR TRAP NUMBERS." 170 PRINT "YOU GET";G;"GUESSES TO GET MY NUMBER." 180 LET X=INT(N*RND(0))+1 190 FOR Q=1 TO G 200 PRINT 210 PRINT "GUESS #";Q; 220 INPUT A,B 230 IF A<>B THEN 240 235 IF X=A THEN 400 240 IF A <= B THEN 260 250 GOSUB 340 260 IF A>X THEN 270 265 IF X<=B THEN 320 270 IF XM THEN 510 250 IF H<>INT(H) THEN 510 260 IF H<=0 THEN 510 270 IF H>=4 THEN 510 280 LET M=M-H 290 IF M=0 THEN 410 300 REM ***THE COMPUTER MOVES 305 IF M=1 THEN 440 310 LET R=M-4*INT(M/4) 320 IF R<>1 THEN 350 330 LET C=INT(3*RND(0))+1 340 GO TO 360 350 LET C=(R+3)-4*INT((R+3)/4) 360 LET M=M-C 370 IF M=0 THEN 440 375 PRINT 380 PRINT "I TOOK";C;"..."; 390 GO TO 210 400 REM ***SOMEBODY WON (SEE LINES 290,305,370) 410 PRINT 420 PRINT "I WON!!! BETTER LUCK NEXT TIME." 430 GO TO 140 440 PRINT 450 PRINT "O.K. SO YOU WON. LET'S PLAY AGAIN." 460 GO TO 140 500 REM ***THE HUMAN CHEATED! (SEE LINES 240 THRU 270) 510 PRINT "YOU CHEATED! BUT I'LL GIVE YOU ANOTHER CHANCE." 520 GO TO 215 999 END 4 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 5 PRINT "PROGRAM 'UGLY'"\PRINT 6 D=1\E=1\F=1\PRINT "DO YOU WANT CHANCE(1), OR SPECIAL(2)"; 7 INPUT G 8 IF G=2 THEN 17 9 RANDOMIZE 10 A=INT(40*RND(0))+15 11 B=INT(40*RND(0))+10 12 C=INT(40*RND(0))+15 13 PRINT "A=";A,"B=";B,"C=";C 14 PRINT "DO YOU STILL WANT CHANCE -- 1 FOR YES, 2 FOR NO"; 15 INPUT H 16 IF H=1 GOTO 19\IF H=2 GOTO 6 17 PRINT "WHAT ARE YOUR VALUES FOR A, B, AND C"; 18 INPUT A,B,C 19 PRINT\PRINT\PRINT TAB(20);"XXX" 20 PRINT TAB(19);"XXXXX" 25 PRINT TAB(20);"XXX" 30 PRINT TAB(21);"X" 35 PRINT TAB(15);"X"; 40 D=D+1 45 PRINT "X"; 50 IF D>=A-2 THEN 60 55 GOTO 40 60 PRINT "X" 65 PRINT TAB(15);"X"; 70 D=1 75 D=D+1 80 PRINT "X"; 85 IF D=A-1 THEN 95 90 GOTO 75 95 PRINT "X)." 100 PRINT TAB(15);"X"; 105 D=1 110 D=D+1 115 PRINT "X"; 120 IF D>=A-2 THEN 130 125 GOTO 110 130 PRINT "X" 135 PRINT TAB(15);"X"; 140 E=E+1 150 PRINT "X"; 155 IF E=B-1 THEN 165 160 GOTO 140 165 PRINT "X" 170 PRINT TAB(15);"X"; 175 E=1 180 E=E+1 185 PRINT "X"; 190 IF E=B-1 THEN 205 200 GOTO 180 205 PRINT "X" 210 PRINT TAB(15);"X"; 215 E=1 220 E=E+1 225 PRINT "X"; 230 IF E=B-1 THEN 240 235 GOTO 220 240 PRINT "X" 245 PRINT TAB(15);"X"; 250 F=F+1 255 PRINT "X"; 260 IF F>=C-2 THEN 270 265 GOTO 250 270 PRINT "X" 275 PRINT TAB(15);"X"; 280 F=1 285 F=F+1 290 PRINT "X"; 295 IF F=C-1 THEN 305 300 GOTO 285 305 PRINT "X" 310 PRINT TAB(15);"X"; 315 F=1 316 GOTO 320 317 F=F+3 320 F=F+1 325 PRINT "X"; 327 IF F=7 THEN 329 328 GOTO 331 329 PRINT "()"; 330 GOTO 317 331 IF F=C-1 THEN 340 335 GOTO 320 340 PRINT "X" 345 PRINT TAB(19);"XX XX" 350 PRINT TAB(18);"XX XX" 355 PRINT TAB(17);"XX XX" 360 PRINT TAB(16);"XX XX" 365 PRINT TAB(15);"XX XX" 370 PRINT TAB(13);"XXXX XXXX" 380 PRINT\PRINT 385 IF BL(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 5 REM *** WRITTEN BY CHRIS REID, LEXINGTON HS, '73 6 REM *** CONVERTED TO BASIC-PLUS BY DAVE AHL, DIGITAL 11/45 GROUP 7 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 10 DIM S(5),A(5),L(5),D(5),P(5) 15 PRINT \PRINT \PRINT "I AM THINKING OF A WORD -- YOU GUESS IT. I WILL GIVE" 16 PRINT "YOU CLUES TO HELP YOU. GOOD LUCK !!"\PRINT \PRINT 20 RANDOMIZE 30 PRINT \PRINT \PRINT "STARTING A NEW GAME...."\RESTORE 40 READ N\C=INT(N*RND(0)+1) 60 FOR I=1 TO C\READ S$\NEXT I 90 G=0 100 S(0)=LEN(S$)\S(1)=ASC(SEG$(S$,1,1)) 101 S(2)=ASC(SEG$(S$,2,2))\S(3)=ASC(SEG$(S$,3,3)) 102 S(4)=ASC(SEG$(S$,4,4))\S(5)=ASC(SEG$(S$,5,5)) 110 FOR I=1 TO 5\A(I)=45\NEXT I 120 FOR J=1 TO 5\P(J)=0\NEXT J 150 PRINT "GUESS A 5-LETTER WORD";\INPUT L$ 170 G=G+1 174 IF L$=S$ THEN 500 180 L(0)=LEN(L$)\L(1)=ASC(SEG$(L$,1,1)) 181 L(2)=ASC(SEG$(L$,2,2))\L(3)=ASC(SEG$(L$,3,3)) 182 L(4)=ASC(SEG$(L$,4,4))\L(5)=ASC(SEG$(L$,5,5)) 190 IF L(1)=63 THEN 300 200 IF L(0)<>5 THEN 400 205 M=0\Q=1 210 FOR I=1 TO 5 220 FOR J=1 TO 5 230 IF S(I)<>L(J) THEN 260 231 P(Q)=L(J)\Q=Q+1 233 IF I<>J THEN 250 240 A(J)=L(J) 250 M=M+1 260 NEXT J 265 NEXT I 270 A(0)=5\P(0)=M 275 A$=CHR$(A(1))&CHR$(A(2))&CHR$(A(3))&CHR$(A(4))&CHR$(A(5)) 276 P$=CHR$(P(1))&CHR$(P(2))&CHR$(P(3))&CHR$(P(4))&CHR$(P(5)) 280 PRINT "THERE WERE";M;"MATCHES AND THE COMMON LETTERS WERE....";P$ 285 PRINT "FROM THE EXACT LETTER MATCHES, YOU KNOW.............";A$ 286 IF A$=S$ THEN 500 287 IF M>1 THEN 290 288 PRINT \PRINT "IF YOU GIVE UP, TYPE ? FOR YOUR NEXT GUESS" 289 PRINT 290 PRINT \GOTO 150 300 S$=CHR$(S(1))&CHR$(S(2))&CHR$(S(3))&CHR$(S(4))&CHR$(S(5)) 310 PRINT "THE SECRET WORD IS ";S$\PRINT \GOTO 30 400 PRINT \PRINT "PLEASE GUESS A 5 LETTER WORD. AGAIN...."\G=G-1\GOTO 150 500 PRINT "YOU HAVE GUESSED THE WORD!! IT TOOK";G;"GUESSES."\PRINT 510 PRINT "WANT TO PLAY AGAIN (Y OR N)";\INPUT Q$\IF Q$="Y" THEN 30 520 PRINT "OKAY. HOPE YOU HAD FUN !!"\GOTO 999 530 DATA 12,"DINKY","SMOKE","WATER","GRASS","TRAIN","MIGHT","FIRST" 540 DATA "CANDY","CHAMP","WOULD","CLUMP","DOPEY" 999 END 95 REM *** CWS/LPR 26.1.1976 R.WITTEK 100 PRINT "LOTTOZAHLEN 6 AUS 49 (PROGNOSE) BY R.WITTEK" 110 PRINT "*********************" 111 LET Z=1 112 PRINT 113 PRINT 114 PRINT 115 PRINT Z;". SPIEL" 116 PRINT "*************" 117 LET Z=Z+1 120 LET X=0 125 REM *** ERZEUGEN DER 6 ZAHLEN 130 RANDOMIZE 140 LET A=INT(49*RND(0)+1) 150 LET B=INT(49*RND(0)+1) 160 LET C=INT(49*RND(0)+1) 170 LET D=INT(49*RND(0)+1) 180 LET E=INT(49*RND(0)+1) 190 LET F=INT(49*RND(0)+1) 191 PRINT 196 REM *** DAS PROGRAMM SPRINGT NACH ZEILE 800 ZUR PRUEFUNG 197 REM *** OB DOPPELTE ZAHLEN ERZEUGT WURDEN. 198 GOTO 800 199 REM *** SORTIEREN UND DRUCKEN 200 LET X=X+1 210 IF A=X THEN 400 220 IF B=X THEN 420 230 IF C=X THEN 440 240 IF D=X THEN 460 250 IF E=X THEN 480 260 IF F=X THEN 500 270 IF X=50 GOTO 970 280 GOTO 200 400 PRINT A; 410 GOTO 200 420 PRINT B; 430 GOTO 200 440 PRINT C; 450 GOTO 200 460 PRINT D; 470 GOTO 200 480 PRINT E; 490 GOTO 200 500 PRINT F; 510 GOTO 200 800 IF A=B THEN 130 810 IF A=C THEN 130 820 IF A=D THEN 130 830 IF A=E THEN 130 840 IF A=F THEN 130 850 IF B=C THEN 130 860 IF B=D THEN 130 870 IF B=E THEN 130 880 IF B=F THEN 130 890 IF C=D THEN 130 900 IF C=E THEN 130 910 IF C=F THEN 130 920 IF D=E THEN 130 930 IF D=F THEN 130 940 IF E=F THEN 130 960 GOTO 200 970 PRINT 980 PRINT "***********************" 981 IF Z=25 THEN 1111 990 PRINT 999 PRINT 1000 PRINT "NAECHSTES SPIEL TIPPE 1 "; 1100 INPUT Y 1110 IF Y=1 GOTO 112 1111 PRINT 1112 PRINT 1113 PRINT 1120 PRINT "V I E L G L U E C K ! ! !" 1130 PRINT "*****************************" 1140 PRINT 1150 PRINT 1160 END 50 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER...DEC 60 REM MODIFYD BY R WITTEK...SEL 29-APR-81 100 PRINT "SPIEL 'VERMUTE DAS LEBEWESEN'" 150 PRINT "DENKE AN EIN LEBEWESEN UND DER COMPUTER WIRD VERSUCHEN," 152 PRINT "ES ZU ERRATEN"\PRINT 500 DIM A$(200,50) 510 DIM F$(15) 520 F$="DSK1:ANIMAL.GM" 525 DIM Z8$(50) 530 DIM Z9$(26) 535 PRINT "HAST DU ZUVOR SCHON EIN ANIMAL FILE IM SYSTEM GESPEICHERT ?" 540 INPUT S$ 541 IF SEG$(S$,1,1)="J" THEN 550 542 GOTO 1050 550 FILE #3:F$ 560 INPUT #3:N 570 IF END #3 THEN 1000 575 RESTORE #3 580 FOR I = 0 TO N - 1 590 INPUT #3:A$(I) 600 IF END #3 THEN 1000 610 NEXT I 620 CLOSE #3 630 GOTO 1300 1000 CLOSE #3 1050 FOR I=0 TO 3 1060 READ A$(I) 1070 NEXT I 1100 DATA "4","*QSCHWIMMT ES *J2*N3*","* FISCH","* VOGEL" 1300 PRINT "DENKE AN EIN LEBEWESEN"; 1301 INPUT Z9$ 1305 IF Z9$="J" THEN 1350 1306 IF Z9$="N" THEN 1460 1307 IF Z9$="LIST" THEN 1320 1308 IF Z9$="SAVE" THEN 1310 1309 GOTO 1330 1310 FILEV#1:F$ 1311 REM RESTORE #3 1312 FOR I=0 TO VAL(A$(0)) 1314 PRINT #1:A$(I) 1316 NEXT I 1317 CLOSE #1 1318 GOTO 1300 1320 PRINT "TIERE WELCHE ICH ZUR ZEIT KENNE:" 1322 FOR I=1 TO 200 1324 IF SEG$(A$(I),1,2)<>"*A" THEN 1327 1326 PRINT SEG$(A$(I),3,72) 1327 NEXT I 1328 PRINT 1329 GOTO 1300 1330 PRINT "BITTE ANTWORTE 'J','N','SAVE',ODER 'LIST'" 1340 GOTO 1300 1350 K=1 1375 D=1 1400 IF SEG$(A$(K),D,D)<>"*" THEN 1407 1405 D=D+2 1407 PRINT SEG$(A$(K),D,D); 1408 D=D+1 1410 IF SEG$(A$(K),D,D)<>"*" THEN 1407 1415 INPUT Z9$ 1417 Z9$=SEG$(Z9$,1,1) 1420 IF Z9$="J" THEN 1424 1422 Z9$="N" 1424 D=D+1 1426 IF SEG$(A$(K),D,D)<>Z9$ THEN 1424 \ D=D+1 1427 X=VAL(SEG$(A$(K),D,D)) \ GOTO 1429 1428 X=(X*10)+VAL(SEG$(A$(K),D,D)) 1429 D=D+1 \ IF SEG$(A$(K),D,D)<> "*" THEN 1428 \K=X 1430 REM PRINT A$(K) 1431 IF LEN (A$(K))<>0 THEN 1440 1432 GOSUB 1400 1433 GOTO 1460 1440 IF SEG$(A$(K),1,2)="*Q" THEN 1375 1442 PRINT "IST ES EIN "; 1444 PRINT SEG$(A$(K),3,72);\D=D+1 1446 INPUT Z7$ 1448 Z7$=SEG$(Z7$,1,1) 1450 IF Z7$<>"J" THEN 2000 1460 PRINT "WARUM PROBIERST DU KEIN ANDERES TIER ?" 1470 GOTO 1300 2000 PRINT "WAS IST DAS FUR EIN SELTSAMES TIER ?" 2020 INPUT Z9$ 2050 PRINT "BITTE SCHREIBE IN EINER FRAGE WAS UNTERSCHEIDET EIN "; 2052 PRINT Z9$;" VON EINEM ";SEG$(A$(K),3,72) 2060 INPUT Z8$ 2100 PRINT "FUER EIN ";Z9$;" DIE ANTWORT WAERE "; 2110 INPUT Z7$ 2120 Z7$=SEG$(Z7$,1,1) 2130 IF Z7$="J" THEN 2160 2140 IF Z7$="N" THEN 2180 2150 PRINT "BITTE ANTWORTE 'J' ODER 'N'"\GOTO2100 2160 Z6$="N" 2170 GOTO 2200 2180 Z6$="J" 2200 Z1=VAL (A$(0)) 2220 A$(0)=STR$(Z1+2) 2240 A$(Z1)=A$(K) 2260 A$(Z1+1)="*A"&Z9$ 2280 A$(K)="*Q"&Z8$&"*"&Z7$&STR$(Z1+1)&"*"&Z6$&STR$(Z1)&"*" 2300 GOTO 1300 2310 END 10 PRINT "DO YOU WANT INSTRUCTIONS (IF SO TYPE A 1)"; 15 INPUT K 25 IF K<>1 THEN 155 30 PRINT 35 PRINT 40 PRINT 45 PRINT 50 PRINT"THIS IS A GAME OF BLACKJACK, LAS VEGAS STYLE." 55 PRINT"HERE ARE THE RULES OF THE HOUSE. THE DEALER" 60 PRINT"MUST HIT ON 16 OR LESS AND WILL STAY ON 17 OR" 65 PRINT"MORE. YOU MAY SPLIT TWO CARDS IF THEY ARE THE" 70 PRINT"SAME AND PLAY ONE HAND WITH EACH OF THEM. ALSO," 75 PRINT"YOU MAY DOUBLE YOUR BET AND RECEIVE EXACTLY ONE " 80 PRINT"MORE CARD ANY TIME ON YOUR FIRST HIT. THE TYPING" 85 PRINT"INSTRUCTIONS ARE: 0-NO HIT; 1-HIT; 2-DOUBLE; AND" 90 PRINT "3-SPLIT A PAIR." 100 PRINT"WHEN THE DEALER HAS AN EXPOSED ACE HE WILL ASK" 105 PRINT"YOU FOR AN INSURANCE BET. AN INSURANCE BET WILL" 110 PRINT"RISK HALF YOUR BET FOR AN AMOUNT EQUAL TO YOUR BET" 115 PRINT"IF YOU WIN. YOU WIN IF THE DEALER HAS A BLACKJACK" 120 PRINT"AND LOSE IF HE DOESN'T. THE HOUSE LIMIT IS $500.00" 121 PRINT "ANY TIME YOU WANT ME TO RESHUFFLE THE CARDS SIMPLY" 122 PRINT "TYPE 7777 WHEN I ASK FOR YOUR WAGER AND I'LL BE VERY" 123 PRINT "HAPPY TO OBLIGE." 124 PRINT"**NOTE** IF I START SPENDING TOO MUCH TIME DEALING,JUST RESHUFFLE." 125 PRINT"GOOD LUCK. OH, BY THE WAY, THE DEALER IS NOTED FOR" 130 PRINT"DEALING OFF THE BOTTOM OF THE DECK. WATCH HIM VERY" 135 PRINT"CLOSELY. HERE HE IS NOW." 140 PRINT 145 PRINT 150 PRINT 155 LET K=0 157 LET R=0 160 LET W1=0 165 RANDOMIZE 170 LET N=INT(1945*RND(0)+1) 175 PRINT 195PRINT 196PRINT"O.K. HERE IS THE FIRST HAND." 200 LET X=INT(10*RND(0)) 210 DIM D(52),E(5),V(5),T(5),W(5) 215 FOR A=1 TO 52 220 LET D(A)=0 225 NEXT A 230 DIM Q(52) 235 FOR A=0 TO 39 STEP 13 240 FOR C=1 TO 13 245 LET Q(A+C)=C 250 NEXT C 255 NEXT A 260 PRINT 265 LET K=K+1 270 FOR P=1 TO 5 275 LET E(P)=0 280 LET V(P)=0 285 LET T(P)=0 290 NEXT P 295 LET V(3)=1 300 PRINT 305 PRINT 310 PRINT 315 PRINT"WAGER"; 316 LET B=1 320 LET P=1 325 INPUT W 330 LET W(2)=W 335 IF W<=0 THEN 1685 340 IF W<=500 THEN 370 345 IF W<>7777 THEN 360 350 GOSUB 1645 355 GOTO315 360 PRINT"THAT'S TOO MUCH - HOUSE LIMIT IS $500" 365 GOTO 315 370 PRINT 375 PRINT "I SHOW", 380 GOSUB 865 385 IF E(1)=0 THEN 395 390 LET V(4)=1 395 LET V(5)=1 400 GOSUB 865 405 LET M=X 410 LET P=2 415 PRINT"FIRST CARD IS", 420 GOSUB 865 425 LET G=X 430 PRINT"NEXT CARD IS", 435 GOSUB 865 440 IF V(2)>0 THEN 605 445 LET S=X 450 IF V(3)<>1 THEN 605 455 IF T(P)<>21 THEN 505 460 PRINT " ***BLACKJACK*** " 465 PRINT 470 PRINT" THAT'S GETTING A BIT RIDICULOUS::::" 475 PRINT 480 PRINT "MY HOLE CARD WAS "; 485 LET X=M 490 GOSUB 1035 495 LET W1=W1+1.5*W 500 GOSUB 1335 505 IF V(4)=0 THEN 570 510 PRINT"INSURANCE ANYONE (TYPE 1 OR 0, 1 MEANS YES)"; 515 INPUT I 520 PRINT 525 IF I=0 THEN 570 530 IF T(1)<>21 THEN 555 535 LET W1=W1+W 540 PRINT 545 PRINT "YOU WIN $";W;"ON YOUR INSURANCE BET" 550 GOTO 570 555 LET W1=W1-W/2 560 PRINT 565 PRINT "YOU LOST $";W/2;"OM YOUR INSURANCE BET - I DON'T HAVE BLACKJACK" 570 IF T(1)<>21 THEN 605 575 PRINT 580 PRINT"**I HAVE BLACKJACK**" 585 PRINT "MY HOLE CARD WAS "; 590 LET X=M 595 GOSUB 1035 600 GOTO 1300 605 IF T(P)<=21 THEN 650 610 IF E(P)>0 THEN 640 615 PRINT"YOU BUSTED, "; 620 PRINT "YOUR TOTAL IS";T(P) 625 LET C1=T(P)-5*(INT(T(P)/5)) 630 IF V(2)=1 THEN 775 635 GOTO 1175 640 LET E(P)=E(P)-1 645 LET T(P)=T(P)-10 650 IF V(1)=2 THEN 620 655 LET V(3)=V(3)+1 660 PRINT"HIT "; 665 INPUT V(1) 670 IF V(1)<>3 THEN 830 675 IF V(2)>0 THEN 820 680 IF V(3)<>2 THEN 820 685 IF Q(G)=Q(S) THEN 700 690 PRINT"NOW IS THAT A PAIR?" 695 GOTO 660 700 LET V(2)=1 705 IF Q(G)<>1 THEN 715 710 LET V(1)=2 715 LET P=3 720 PRINT" PLAY HAND ONE NOW" 725 PRINT"FIRST CARD IS ", 730 LET W(3)=W 735 LET X=G 740 GOSUB 750 745 GOTO 430 750 GOSUB 990 755 GOSUB 1035 760 LET V(3)=1 765 LET T(P)=C 770 RETURN 775 LET P=2 780 LET V(2)=2 785 PRINT" PLAY HAND TWO NOW" 790 PRINT"FIRST CARD IS", 795 LET X=S 800 GOSUB 750 805 IF Q(G)=1 THEN 815 810 LET V(1)=0 815 GOTO 430 820 PRINT"NO SPLITS NOW -- TRY AGAIN" 825 GOTO 660 830 IF V(1)<>2 THEN 855 835 IF V(3)=2 THEN 850 840 PRINT"TOO LATE TO DOUBLE, CHARLIE." 845 GOTO 660 850 LET W(P)=2*W(P) 855 IF V(1)>0 THEN 430 860 GOTO 620 865 GOSUB 900 870 LET T(P)=T(P)+C 875 IF V(5)=0 THEN 890 880 LET V(5)=0 885 RETURN 890 GOSUB 1035 895 RETURN 900 IF R>=50 THEN 945 905 LET N=10*(1+ABS(COS(N+W1))) 910 FOR A=1 TO N 915 LET X=INT(52.999999*RND(0)) 920 IF X=0 THEN 915 925 NEXT A 930 IF D(X)=0 THEN 980 935 LET R=R+1 940 IF R<50 THEN 900 945 FOR A=1 TO 52 950 IF D(A)=K THEN 960 955 LET D(A)=0 960 NEXT A 965 LET R=0 970 PRINT" I RESHUFFLED "; 975 GOTO 900 980 LET R=0 985 LET D(X)=K 990 IF Q(X)<>1 THEN 1010 995 LET C=11 1000 LET E(P)=E(P)+1 1005 RETURN 1010 IF Q(X)>10 THEN 1025 1015 LET C=Q(X) 1020 RETURN 1025 LET C=10 1030 RETURN 1035 GOSUB 1050 1040 GOSUB 1120 1045 RETURN 1050 IF Q(X)<>1 THEN 1065 1055 PRINT" ACE "; 1060 RETURN 1065 IF Q(X)>10 THEN 1080 1070 PRINT Q(X);" "; 1075 RETURN 1080 IF Q(X)>11 THEN 1095 1085 PRINT " JACK "; 1090 RETURN 1095 IF Q(X)>12 THEN 1110 1100 PRINT" QUEEN "; 1105 RETURN 1110 PRINT" KING "; 1115 RETURN 1120 IF X>39 THEN 1145 1125 IF X>26 THEN 1155 1130 IF X>13 THEN 1165 1135 PRINT"OF SPADES" 1140 RETURN 1145 PRINT"OF CLUBS" 1150 RETURN 1155 PRINT"OF HEARTS" 1160 RETURN 1165 PRINT"OF DIAMONDS" 1170 RETURN 1175 LET P=2 1180 PRINT "MY HOLE CARD WAS "; 1185 LET X=M 1190 GOSUB 1035 1195 IF T(2)<22 THEN 1210