File SPLAT.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

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)<D THEN 680
660 NEXT Q
670 GOTO 700
680 PRINT "THAT DISK IS BELOW ANOTHER ONE.  MAKE ANOTHER CHOICE."\GOTO 480
700 E=0
705 PRINT "PLACE DISK ON WHICH NEEDLE";\INPUT N
730 IF (N-1)*(N-2)*(N-3)=0 THEN 800
735 E=E+1
740 IF E>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 D<T(R,N) THEN 880
850 PRINT "YOU CAN'T PLACE A LARGER DISK ON TOP OF A SMALLER ONE."
860 PRINT "IT MIGHT CRUSH IT!"\PRINT "NOW THEN, ";\GOTO 480
875 REM *** RELOCATE MOVED DISK
880 FOR V=1 TO 7\FOR W=1 TO 3
900 IF T(V,W)=D THEN 930
910 NEXT W\NEXT V
925 REM *** LOCATE FIRST EMPTY SPACE ON NEEDLE N
930 FOR U=1 TO 7
940 IF T(U,N)<>0 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 X<A THEN 300
280 PRINT "MY NUMBER IS LARGER THAN YOUR TRAP NUMBERS."
290 GOTO 330
300 PRINT "MY NUMBER IS SMALLER THAN YOUR TRAP NUMBERS."
310 GOTO 330
320 PRINT "YOU HAVE TRAPPED MY NUMBER."
330 NEXT Q
340 PRINT "SORRY, THAT'S";G;"GUESSES. NUMBER WAS";X
350 GOTO 410
390 RETURN
400 PRINT "YOU GOT IT!!!     "
410 PRINT
420 PRINT "TRY AGAIN."
430 PRINT
440 GOTO 180
450 END
5   REM *** WRITTEN BY BOB ALBRECHR, PEOPLES COMPUTER CO
10  REM *** CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL
100 REM ***23 MATCHES
110 PRINT "LET'S PLAY 23 MATCHES. WE START WITH 23 MATCHES."
115 PRINT "YOU MOVE FIRST. YOU MAY TAKE 1,2 OR 3 MATCHES."
120 PRINT "THEN I MOVE...I MAY TAKE 1,2 OR 3 MATCHES."
125 PRINT "YOU MOVE, I MOVE AND SO ON. THE ONE WHO HAS TO"
130 PRINT "TAKE THE LAST MATCH LOSES."
135 PRINT "GOOD LUCK AND MAY THE BEST COMPUTER (HA HA) WIN."
140 PRINT 
150 LET M=23
200 REM ***THE HUMAN MOVES
205 PRINT 
210 PRINT "THERE ARE NOW";M;"MATCHES."
215 PRINT 
220 PRINT "HOW MANY DO YOU TAKE";
230 INPUT H
240 IF H>M 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 B<A THEN 6
395 FOR X=1 TO 48
400 PRINT "UGLY! ";
405 NEXT X
407 PRINT\PRINT
410 GOTO 6
415 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 X<A/3 THEN 120
110 IF X<2*A/3 THEN 150
115 GOTO 270
120 PRINT "YOU LOST";X;"MEN FROM YOUR ARMY."
125 A=INT(A-X)
130 GOTO 500
150 PRINT "YOU LOST";INT(X/3);"MEN, BUT I LOST";INT(2*D/3)
155 A=INT(A-X/3)
160 D=0
165 GOTO 500
200 IF X>B THEN 20
210 IF X<E/3 THEN 230
215 IF X<2*E/3 THEN 250
220 GOTO 270
230 PRINT "YOUR ATTACK WAS STOPPED!"
232 B=INT(B-X)
235 GOTO 500
250 PRINT "YOU DESTROYED";INT(2*E/3);"OF MY ARMY."
255 E=INT(E/3)
260 GOTO 500
270 PRINT"YOU SUNK 1 OF MY PATROL BOATS, BUT I WIPED OUT 2"
275 PRINT"OF YOUR A.F. BASES, AND 3 ARMY BASES."
280 A=INT(A/3)
285 C=INT(C/3)
290 E=INT(2*E/3)
293 GOTO 500
300 IF X>C THEN 20
310 IF X<C/3 THEN 350
320 IF X<2*C/3 THEN 370
330 GOTO 380
350 PRINT "YOUR ATTACK WAS WIPED OUT."
355 C=INT(C-X)
360 GOTO 500
370 PRINT "WE HAD A DOGFIGHT- YOU WON - AND FINISHED YOUR MISSION."
375 D=INT(2*D/3)
377 E=INT(E/3)
378 F=INT(F/3)
379 GOTO 500
380 PRINT "YOU WIPED OUT ONE OF MY ARMY PATROLS, BUT I"
381 PRINT "DESTROYED 2 NAVY BASES, AND BOMBED 3 ARMY BASES."
385 A=INT(A/4)
387 B=INT(B/3)
390 D=INT(2*D/3)
500 PRINT
501 PRINT,"YOU","ME"
510 PRINT"ARMY",A,D
520 PRINT"NAVY",B,E
530 PRINT"A.F.",C,F
1000 PRINT "WHAT IS YOUR NEXT MOVE?"
1010 PRINT "ARMY=1  NAVY=2  AIR FORCE=3"
1020 INPUT G
1030 PRINT "HOW MANY MEN"
1040 INPUT T
1045 IF T<0 THEN 1030
1050 IF G=2 GOTO 1700\IF G=3 GOTO 1800
1600 IF T>A THEN 1030
1610 IF T<D/2 THEN 1630
1615 PRINT "YOU DESTROYED MY ARMY!"
1616 D=0
1617 GOTO 2000
1630 PRINT "I WIPED OUT YOUR ATTACK"
1635 A=A-T
1640 GOTO 2000
1700 IF T>B THEN 1030
1710 IF T<E/2 THEN 1750
1720 GOTO 1770
1750 PRINT "I SUNK 2 OF YOUR BATTLESHIPS, AND MY AIR FORCE"
1751 PRINT "WIPED OUT YOUR UNGUARDED CAPITOL."
1755 A=A/4
1760 B=B/2
1765 GOTO 2000
1770 PRINT "YOUR NAVY SHOT DOWN 3 OF MY X111 PLANES ,"
1771 PRINT"AND SUNK 3 BATTLESHIPS."
1775 F=2*F/3
1780 E=(E/2)
1790 GOTO 2000
1800 IF T>C 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 



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search