IMD 1.15: 16/05/2007 7:54:03 fog gam 007   \X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<ϯ2 Ї!ֶ2:2a{_:ַʖ:ַ>Ľʖ:=2–!B!6#5ʖ:ַĽ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ "ѷ"͌#>?͌͘ =_.:;<> Oхo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USER # !yO#< Ty#O 3ү21y_͸2y2ͽ:Ϸ˜1͘A͌>>͌92^ :ַ¥.!_~#fow]ԭՎե!v"!çREAD ERRORçNO FILE^:ַ ! ~ 3#0 Wx x р т G ~ # 3x~#B!Y~ɯ2:ַ=!־ý:ַ=!־:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ ԯw4!Y~ʆ͌†t=ʆf ^ T ԯ2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Yոpsp2mÆÆf ͧÆFILE EXISTS _: É: :ַʉ=2)ͽÉ T!@k!}|q=qf^!~2>`~2֯2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: !ֶ Â$$$ SUB # יץ׫ױ"C{2!"E9"1Aگ22!ty)K!G_^#V*Cِ~E ,&-AGMSڛ!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6 O͐  :ڷE B 2>: ڷb# : ڷy! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: ! ھ Hù H H $O͐: 2 *CN#   x: 2 p&x~+é7د2 H! >w_: ! ھ5ͤNkͱ¦ͱxʊ#Nx: ڷ! ږ2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD#2E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \۷Sۀ*C :qn& ^#V>O^"*}:*)=":O:䡵o"*C *C!ͮ~2~2ͦ:2ͮ:ۯO:w:w |g}o*䯆#  ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw**{#zr+s{ozg**͕** ܾ,w͜͸Ͳ!!N#F$**O!~#:Aھ#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | sޖ-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #  w ~>2!E5T*C!"C"C!w# F! w͌xܯ2͢*C ~<wʃG:!ʎì 4~ʶ¬:<ʶ$ʶïZͻۯx>2>2ͻ:!Z2:Eڷẅ́͊Ͳ>2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:Eڷ͊:==»y==»*Ww#*"͸*:G#š"͸:!w4 iw:Z!E~=26ۯ2*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{  s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!Bھw!>2*C~=2u:B2~2wE:A*Cڶw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>2 4 %-ßð5Ojccccccccccccc@UAUTOST 0123456789   50$5@*-?Oy2:Oy{o{_"!91*>2͚>2ͪ2P2R22y2i&))))Cxj!:2C*S}O|ȯ2Ry2 C:Uy2Vi`n&G>2x21:f2:iO<:j2l>1͟j >!"2`<2>22!"!"!c"@!:(;~(7O8Osborne Computer System 60K CP/M 2.2A >(!!:O2RK:"ȯ2Py2# >2R*"S:V<!R~*5:U< *S#"S2U>K>2Q:":#̪:"2!!:0)2*!P~6(! #ͪ:22*"":22:!>!Q~6:2*":2>_!'" !4>2* j2":= 2"ɯ2": 2~#O !y!!=!=!=!=!="!91y*:_^#fk`7lT:kt/;b;: :^n!~( *~4 h'_!knf^VSR}2:` y :h/2h h:h*Z)>d8 :aȯ:ad;Z} }d !aw:b +w++N #Sk(2:*O,b(y2*,͇:g > ͇t ktt y2*,:, O:*߱O:2,::@OKh Qh}(2_Kh :(!~6: OKh Nh ?Kh :b>*2)>2)>.2)>2)>2)>2)>2)>2b:b>*2)>2)>.2)>2)>2)>2)> 2)>2bc:)@(,͒: :)2(,(2:)/O,(y/2)>"2)>2),>2>2  -FOG/GAM007CRAZY-8 BAS5BIO-FF BAS"CHECKERSBAS( BUBBLE BAS/ BUBBLE DOC DESIGN BASDESIGN DOC ETCH BASMENU BAS SEARCH BASSEARCH DOCHEXAPAWNBAS'GAMMON BASu !"HANOI BAS#$NUCREAC BAS7%&'(AWARI BAS)*DCHARGE BAS +DISK BAK -DISK DOC ,DISK DOC ,1 REM Revised for Osborne 1 by Jim Woolley, FOG Librarian, 7/82 2 RANDOMIZE 100 REM SOURCE UNKNOWN: REVISED BY D. KURLAND 11/16/75 110 PRINT "THIS IS THE GAME OF CRAZY EIGHTS" 120 DIM A(52),D(52),G(52),H(52) 130 DIM T(52),S(52),V(52) 140 DIM Z(52),U$(4),C$(13) 150 READ U$(1),U$(2),U$(3),U$(4) 160 FOR I=1 TO 13 170 READ C$(I) 180 NEXT I 190 FOR I=1 TO 52 200 READ Z(I) 210 NEXT I 220 DATA CLUBS,DIAMONDS,HEARTS,SPADES 230 DATA "2","3","4","5","6","7","8","9","10",JAC  K,QUEEN,KING,ACE 240 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 250 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 260 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 270 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 280 PRINT "DO YOU KNOW HOW TO PLAY"; 290 INPUT A$ 300 IF A$="YES"I)=RND(1) 570 NEXT I 580 W1=0 590 B1=0 600 P1=1 610 P2=1 620 J=0 630 M1=99999! 640 FOR I=1 TO 52 650 IF A(I)>=M1 THEN 680 660 M1=A(I) 670 I1=I 680 NEXT I 690 J=J+1 700 D(J)=I1 710 A(I1)=99999! 720 IF J<52 THEN 630 730 FOR I= OR A$="Y" THEN 400 304 PRINT:PRINT 305 PRINT "YOU MUST FOLLOW SUIT OR MATCH FACE VALUE (EXAMPLE: 9 ON 9)." 310 PRINT "WHEN ASKED WHICH CARD YOU WISH TO PLAY, YOUR ANSWER SHOULD" 320 PRINT "BE OF THE FORM: CARD,SUIT (EXAMPLE: 9,C). ANY EIGHT M1 TO 7 740 G(D(52-2*I+2))=1 750 H(D(52-2*I+1))=1 760 NEXT I 770 T(1)=D(38) 780 T1=1 790 P=S(T(1)) 800 H1=7 810 H2=7 820 D1=37 830 GOSUB 1390 840 GOSUB 1510 850 IF W1=1 THEN 910 860 IF B1=1 THEN 910 870 GOSUB 2020 880 IF W1=1 AY BE" 330 PRINT "PLAYED AT ANY TIME REGARDLESS OF SUIT TO CHANGE THE SUIT." 340 PRINT "IF YOU ARE UNABLE OR UNWILLING TO PLAY, YOU WILL BE GIVEN" 350 PRINT "ANOTHER CARD FROM THE DRAW STACK. IF ALL CARDS HAVE BEEN" 360 PRINT "DRAWN, ANY PERSTHEN 910 890 IF B1=1 THEN 910 900 GOTO 830 910 GOSUB 1140 920 PRINT "YOUR SCORE IS";C1 930 PRINT "MY SCORE IS";C2 940 IF C2>=C1 THEN 980 950 PRINT "YOU WON THAT HAND." 960 N1=N1+1 970 GOTO 1000 980 PRINT "I WON THAT HAND." 990 N2=N2+1 ON WHO IS ABLE TO PLAY MUST DO SO." 370 PRINT "AT THE END OF THE GAME, THE PERSON HOLDING CARDS HAS POINTS" 380 PRINT "SCORED AGAINST HIM AS FOLLOWS: EIGHTS=50, ACE=1, FACE" 390 PRINT "CARD=10, INDEX VALUE FOR EACH OTHER CARD." 400 PRINT : PR 1000 PRINT 1010 N3=N3+1 1020 PRINT "DO YOU WISH TO PLAY AGAIN"; 1030 INPUT A$ 1040 IF A$="YES" OR A$="Y" THEN 530 1050 PRINT 1060 PRINT "OUT OF";N3;"HANDS YOU WON";N1 1070 PRINT "YOUR TOTAL SCORE IS";S1;": MINE IS";S2;"." 1080 IF S1<INT "GAME WILL START SHORTLY..." 410 L=0 : FOR I=1 TO 4 420 FOR J=1 TO 13 430 L=L+1 440 S(L)=I 450 V(L)=J 460 NEXT J 470 NEXT I 480 N1=0 490 N2=0 500 N3=0 510 S1=0 520 S2=0 530 FOR I=1 TO 52 540 G(I)=0 550 H(I)=0 560 A(=S2 THEN 1110 1090 PRINT "LOOKS LIKE YOU'RE HIGH SCORER." 1100 GOTO 1120 1110 PRINT "LOOKS LIKE I AM THE HIGH SCORER." 1120 PRINT "BYE." 1130 STOP 1140 C1=0 1150 C2=0 1160 IF H2=0 THEN 1240 1170 PRINT 1180 PRINT "CARDS LEFT IN M  Y HAND" 1190 FOR I=1 TO 52 1200 IF H(I)=0 THEN 1230 1210 PRINT C$(V(I));TAB(6);"OF ";U$(S(I)) 1220 C1=C1+Z(I) 1230 NEXT I 1240 IF H1=0 THEN 1360 1250 FOR I=1 TO 52 1260 IF G(I)=0 THEN 1280 1270 C2=C2+Z(I) 1280 NEXT I 1290 IF C1=0  1650 GOSUB 2610 1660 IF V9>0 THEN 1680 ELSE PRINT "UNKNOWN CARD, TRY AGAIN"; 1670 GOTO 1640 1680 GOSUB 2500 1690 IF S9>0 THEN 1710 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN"; 1700 GOTO 1640 1710 IF V9=7 THEN 1760 1720 IF S9=P THEN 1760 1730 IF THEN 1360 1300 IF C1>=C2 THEN 1340 1310 C2=C2-C1 1320 C1=0 1330 GOTO 1360 1340 C1=C1-C2 1350 C2=0 1360 S1=S1+C1 1370 S2=S2+C2 1380 RETURN 1390 PRINT 1400 PRINT "YOUR HAND IS" 1410 FOR I=1 TO 52 1420 IF G(I)=0 THENV9=V(T(T1)) THEN 1760 1740 PRINT "THAT IS NOT A LEGAL PLAY." 1750 GOTO 1510 1760 FOR I=1 TO 52 1770 IF G(I)=0 THEN 1800 1780 IF V(I)<>V9 THEN 1800 1790 IF S(I)=S9 THEN 1830 1800 NEXT I 1810 PRINT "YOU DO NOT HAVE THAT CARD." 1820 G 1440 1430 PRINT C$(V(I));TAB(6);"OF ";U$(S(I)) 1440 NEXT I 1450 PRINT 1460 PRINT "THE LAST CARD PLAYED WAS THE "; 1470 PRINT C$(V(T(T1)));" OF ";U$(S(T(T1))) 1480 IF V(T(T1))<>7 THEN 1500 1490 PRINT "THE SUIT CALLED FOR IS ";U$(P) 150OTO 1510 1830 G(I)=0 1840 H1=H1-1 1850 T1=T1+1 1860 T(T1)=I 1870 IF V9<>7 THEN 1930 1880 PRINT "WHAT SUIT DO YOU WISH"; 1890 INPUT Y$ 1900 GOSUB 2500 1910 IF S9>0 THEN 1930 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN"; 1920 GOTO 1890 1930 P=S90 RETURN 1510 PRINT "DO YOU WISH TO PLAY A CARD"; 1520 INPUT A$ 1530 AZ$=LEFT$(A$,1) 1531 IF AZ$<>"Y" AND AZ$<>"N" THEN PRINT "(Y OR N) PLEASE ! "; : GOTO 1520 1532 IF AZ$="Y" THEN 1630 1540 IF D1<>0 THEN 1570 1550 PRINT "ALL THE CARDS HAVE BEE 1940 P1=1 1950 IF H1<>0 THEN 1970 1960 W1=1 1970 RETURN 1980 IF P2<>0 THEN 2000 1990 B1=1 2000 P1=0 2010 RETURN 2020 I=53 2030 I=I-1 2040 IF H(I)=0 THEN 2080 2050 IF V(I)=7 THEN 2080 2060 IF S(I)=P THEN 2220 2070 IF VN DEALT---YOU ARE BLOCKED" 1560 GOTO 1980 1570 I=D(D1) 1580 D1=D1-1 1590 H1=H1+1 1600 G(I)=1 1610 PRINT "YOUR NEW CARD IS THE ";C$(V(I));" OF ";U$(S(I)) 1620 GOTO 1510 1630 PRINT "WHICH OF YOUR CARDS DO YOU WISH TO PLAY"; 1640 INPUT X$,Y$(I)=V(T(T1)) THEN 2220 2080 IF I>1 THEN 2030 2090 FOR I=1 TO 52 2100 IF V(I)<>7 THEN 2120 2110 IF H(I)<>0 THEN 2220 2120 NEXT I 2130 IF D1=0 THEN 2460 2140 I=D(D1) 2150 D1=D1-1 2160 IF V(I)=7 THEN 2240 2170 IF S(I)=P THEN 2240 218  0 IF V(I)=V(T(T1)) THEN 2240 2190 H2=H2+1 2200 H(I)=1 2210 GOTO 2130 2220 H(I)=0 2230 H2=H2-1 2240 T1=T1+1 2250 T(T1)=I 2260 P=S(I) 2270 IF V(I)<>7 THEN 2420 2280 FOR J=1 TO 4 2290 Y(J)=0 2300 K1=13*(J-1)+1 2310 K2=13*J 2320 FOR K=K1 TO K2 2330 IF H(I)=0 THEN 2350 2340 Y(J)=Y(J)+1 2350 NEXT K 2360 NEXT J 2370 P=1 2380 FOR J=2 TO 4 2390 IF Y(J)<=Y(P) THEN 2410 2400 P=J 2410 NEXT J 2420 P2=1 2430 IF H2<>0 THEN 2450 2440 W1=1 2450 RETURN 2460 IF P1<>0 THEN 2480 2470 B1=1 2480 P2=0 2490 RETURN 2500 FOR I0 = 1 TO 4 2510 IF Y$=U$(I0) THEN 2590 2520 NEXT I0 2530 S9 = 0 2540 IF Y$="C" THEN S9=1 2550 IF Y$="D" THEN S9=2 2560 IF Y$="H" THEN S9=3 2570 IF Y$="S" THEN S9=4 2580 RETURN 2590 S9 = I0 2600 RETURN 2610 FOR I0 = 1 TO 13 2620 IF X$=C$(I0) THEN 2700 2630 NEXT I0 2640 V9 = 0 2650 IF X$="J" THEN V9=10 2660 IF X$="Q" THEN V9=11 2670 IF X$="K" THEN V9=12 2680 IF X$="A" THEN V9=13 2690 RETURN 2700 V9 = I0 2710 RETURN 2720 END THEN V9=11 2670 IF X$="K" THEN V9=12 2680 IF X$="A" THEN V9=13 2690 RETURN 2700 V9 = IEN V9=10 2660 IF X$="Q" THEN V9=11 2670 IF X$="K" THEN V9=12 2680 IF X$="A" THEN V9=13 2690 RETURN 2700 V9 = I  10 'COPYRIGHT [C] 1977 BY W.A.BURTON. ALL RIGHTS RESERVED 20 DIM A(12), M$(12) 30 DATA 1,31,59,90,120,151,181,212,243,273,304,334 40 FOR I=1 TO 12: READ A(I): NEXT 50 PI=3.14159:P1=1:P2=0:QP=0 60 INPUT" INSTRUCTIONS (Y OR N)";Z$ 70 IF Z$="Y"THEN GOSU 350 F(2)=42+FNE(X):F$(2)="E" 360 F(3)=42+FNP(X):F$(3)="P" 370 FOR I=0 TO 2 380 FOR J=I+1 TO 3 390 IF F(I)":"THEN GOSUB 820 470 NEXT 480 FOR I=0 TO 3 490 LPRINT TAB(F(I));F$(I); 500 NEXT 510 LPRINT:X=X+1 520 IF P2>52 THEN 880 530 P2=P2+1 540 IF Z=DL THEN 640 550 R=R+1:IF R=7 THEN R=0 560 D=D+1X)=INT(25*SIN(2*PI*X/28)+.5) 140 DEF FNP(X)=INT(25*SIN(2*PI*X/23)+.5) 150 T=INT(D+365.25*Y+A(M)+.01*M-.03) 160 TB=INT(DB+365.25*YB+A(MB)+.01*MB-.03) 170 X=T-TB 180 RB=TB-1-INT((TB-1)/7)*7 190 DATA MON,TUE,WED,THU,FRI,SAT,SUN 200 FOR I=0 TO 6:READ D$:IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30:GOTO 600 570 IF M=2 AND Y/4=INT(Y/4) THEN L=29:GOTO 600 580 IF M=2 THEN L=28:GOTO 600 590 L=31 600 IF D>L THEN D=D-L:M=M+1:GOTO 620 610 LPRINT D$(R);D;TAB(10)":";:Z=Z+1:GOTO 330 620 IF M=13 THEN M=1:Z=Z+1:GOTO (I):NEXT 210 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 220 FOR I=1 TO 12:READ M$(I):NEXT 230 GOSUB 1090 240 R=T-1-INT((T-1)/7)*7 250 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(V),2)) 260 LPRINT"STARTING DATE: ";D$(R)", ";M310 630 Z=Z+1:GOTO 310 640 QP=2:GOTO 880 650 END 660 PRINT"ENTER DATES AS FOLLOWS: MM,DD,YY - IGNORE LEADING ZEROS" 670 PRINT"EXAMPLE: ENTER PEARL HARBOR DAY AS - 12,7,41" 680 PRINT 690 PRINT"FOR FURTHER INFO TYPE 'GOTO 940', OTHERWISE 'GOTO 80'" 7$(M)STR$(D);", 19"; 270 LPRINT RIGHT$(STR$(Y),2), 280 LPRINT"BIRTH DATE: "D$(RB)", "M$(MB)STR$(DB)", 19"; 290 LPRINT RIGHT$(STR$(YB),2) 300 GOSUB 1110 310 LPRINT D$(R)D;M$(M);TAB(10)":"; 320 C$=":" 330 F(0)=42:F$(0)=C$ 340 F(1)=42+FNI(X):F$(1)="I"00 END 710 LPRINT 720 LPRINT"TO DETERMINE WHICH DAYS ARE CRITICAL FOR YOU, EXAMINE THE" 730 LPRINT"THREE CURVES (P,E, AND I); WHENEVER A CURVE CROSSES THE CRITICAL" 740 LPRINT"LINE I.E. GOES FROM 'UP' TO 'DOWN' OR VICE-VERSA, THEN THAT" 750 LPRINT"WIL  L BE ONE OF YOUR CRITICAL DAYS." 760 LPRINT 770 LPRINT" I=INTELLECTUAL 33 DAY CYCLE" 780 LPRINT" E=EMOTIONAL 28 DAY CYCLE" 790 LPRINT" P=PHYSICAL 23 DAY CYCLE" 800 LPRINT 810 GOTO 650 820 FOR WB=0 TO 3 830 IF F$(WB)=":"TT"PARTICULAR THE COMMAND 'PRINT CHR$(12)' IN LINE 890 MUST BE" 1060 PRINT"CHANGED (USUALLY TO 'PRINT' STATEMENTS IN FOR-NEXT LOOP).":PRINT 1070 PRINT"TO RUN PROGRAM, TYPE 'GOTO 80'.......":PRINT:PRINT 1080 END 1090 LPRINT"BIORHYTHM ANALYSIS FOR ";A$;:LHEN F$(WB)="" 840 NEXT 850 RETURN 860 FOR I=1 TO 72:LPRINT"-";:NEXT 870 LPRINT:RETURN 880 P1=P1+1:P2=0 890 LPRINT CHR$(12) 900 FOR LI=1 TO 100:WL=WL+1:NEXT 910 GOSUB 1090 920 GOSUB 1110 930 IF QP>1 THEN 710 ELSE 540 940 PRINT"THIS PROGRAM IS PREPRINT TAB(60)"PAGE ";P1 1100 IF QP>1 THEN 710 ELSE RETURN 1110 GOSUB 860 1120 LPRINT TAB(20)"DOWN",TAB(38)"CRITICAL",TAB(61)"UP" 1130 GOSUB 860 1140 RETURN >1 THEN 710 ELSE RETURN 1110 GOSUB 860 1120 LPRINT TAB(20)"DOWN",TAB(38)"CRITICAL",TAB(61)SENTLY CONFIGURED TO OPERATE WITH 8-1/2 BY" 950 PRINT"11 INCH PAPER IN A HARDCOPY PRINTER EQUIPPED WITH AUTOMATIC TOP" 960 PRINT"OF FORM OPTION. TO USE THIS FEATURE PROPERLY, YOU MUST REPLY" 970 PRINT"TO ALL OF THE INPUT PROMPTS, HOWEVER !! WHEN YOU HAVE TYPED IN" 980 PRINT"'YOUR NAME' -DO NOT- HIT CARRIAGE RETURN. MANUALLY ADVANCE THE" 990 PRINT"PAPER IN YOUR PRINTER SO THAT THE PRINTHEAD IS ABOUT 3/4 INCH" 1000 PRINT"FROM TOP OF PAPER. THEN SET TOP OF FORM IN YOUR PRINTER, THEN" 1010 PRINT"HIT CARRIAGE RETURN.":PRINT 1020 PRINT"TO RE-CONFIGURE THIS PROGRAM FOR PRINTERS OR TELETYPES WITH NO" 1030 PRINT"TOP OF FORM OPTION, OR CRT'S: LINES 520 - 530 WILL HAVE TO BE" 1040 PRINT"MODIFIED; ALSO THE ROUTINE AT 880 WILL HAVE TO BE CHANGED. IN" 1050 PRIN  0 PRINT"DO NOT ATTEMPT A DOUBLE JUMP ON YOUR PIECE MIGHT JUST " 160 PRINT"DISAPPEAR(SAME FOR A TRIPLE!)" 170 PRINT" WAIT FOR THE COMP. TO MOVE!!!!!" 180 G=-1 190 L=-1 200 DIM R(50),M(50) 210 REM ODD(X) 220 DEF FND(X)=X-2*INT(X/2) 230 DIM S(10,10) 240 DATA 1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,15 250 FOR X=1 TO 8 260 FOR Y=1 TO 8 270 READ J 280 IF J=15 THEN 310 290 S(X,Y)=J 300 GOTO 330 310 RESTORE 320 READ S(X,Y) 330 NEXT Y 340 NEXT X 350 REM 360 L=1 370 REM 380 FOR X2=1 TO 8 390 FOR Y2=1 TO 8 400 S9=S(X2,Y2) 410 IF S9>=0 THEN 460 420 IF S9=-2 THEN 450 430 GOSUB 530 440 GOTO 460 450 GOSUB 850 460 NEXT Y2 470 NEXT X2 480 IF L=1 THEN 500 490 RETURN 500 PRINT  510 GOSUB 1380 520 GOTO 350 530 REM 540 U=X2-1 550 IF U<1 THEN 680 560 REM 570 V=Y2-1 580 IF V<1 THEN 830 590 IF S(U,V)<>0 THEN 610 600 GOSUB 1100 610 IF S(U,V)<=0 THEN 680 620 U=X2-2 630 IF U<1 THEN 680 640 V=V-1 650 IF V<1 THEN 100 REM REVISED 22 NOV 1981 ****CHECKERS***** 110 PRINT CHR$(26); 120 PRINT"I CAN PLAY CHECKERS WITH YOU. I AM X." 130 PRINT"AND YOU ARE O. THE COMPUTER WILL GO FIRST,-NOTE: SQUARES" 140 PRINT"ARE IN THE FORM-(X,Y) AND SQ. 1,1 IS THE BOTTOM LEFT!" 15680 660 IF S(U,V)<>0 THEN 680 670 GOSUB 1100 680 REM 690 U=X2+1 700 IF U>8 THEN 840 710 REM 720 V=Y2-1 730 IF V<1 THEN 840 740 IF S(U,V)<>0 THEN 760 750 GOSUB 1100 760 IF S(U,V)<=0 THEN 840 770 U=X2+2 780 IF U>8 THEN 840 790 V=V-1    800 IF V<1 THEN 840 810 IF S(U,V)<>0 THEN 840 820 GOSUB 1100 830 REM WHERE DID I GO ?? 840 RETURN 850 REM KING MOVES 860 FOR A=-1 TO 1 STEP 2 870 FOR B=-1 TO 1 STEP 2 880 U=X2+A 890 V=Y2+B 900 IF U<1 THEN 1060 910 IF U>8 1=-10 1400 J2=1 1410 FOR F=1 TO P 1420 IF R(F)<=J1 THEN 1450 1430 J1=R(F) 1440 J2=F 1450 NEXT F 1460 X2=INT (M(J2)/10) 1470 Y2=INT (M(J2)-X2*10) 1480 V=INT ((M(J2)- INT (M(J2)))*10) 1490 U=INT ((M(J2)-X2*10-Y2-V/10)*100+.5) 1500 PRINT"I MTHEN 1060 920 IF V<1 THEN 1060 930 IF V>8 THEN 1060 940 IF S(U,V)<>0 THEN 970 950 GOSUB 1100 960 GOTO 1060 970 IF S(U,V)=G THEN 1060 980 IF S(U,V)=2*G THEN 1060 990 U=U+A 1000 IF U<1 THEN 1060 1010 OVE FROM ";X2;Y2,"TO ";U;V 1510 F=0 1520 P2=P 1530 P=0 1540 K=0 1550 IF V<>1 THEN 1580 1560 S(U,V)=2*G 1570 GOTO 1590 1580 S(U,V)=S(X2,Y2) 1590 S(X2,Y2)=0 1600 IF ABS (X2-U)<>2 THEN 1620 1610 S((X2+U)/2,(Y2+V)/2)=0 1620 GOTO 1660 1630 PRI IF U>8 THEN 1060 1020 IF V<1 THEN 1060 1030 IF V>8 THEN 1060 1040 IF S(U,V)<>0 THEN 1060 1050 GOSUB 1100 1060 NEXT B 1070 NEXT A 1080 RETURN 1090 REM 1100 REM EVAL. SECTION 1110 P=P+1 1120 IF V<>1 THEN 1140 1130 Q=Q+NT"BOARD"; 1640 INPUT D 1650 IF D=0 THEN 1680 1660 GOSUB 1700 1670 IF F9=0 THEN PRINT"GEE - I WIN, THANKS FOR THE GAME":END 1680 GOSUB 2000 1690 RETURN 1700 PRINT 1710 F9=0:REM COUNT PLAYER'S PIECES 1720 FOR Y=8 TO 1 STEP -1 1730 PRINT" ";2 1140 IF V<>8 THEN 1160 1150 Q=Q-2 1160 REM 1170 IF U<>1 THEN 1190 1180 Q=Q+1 1190 IF U<>8 THEN 1210 1200 Q=Q+1 1210 FOR C=-1 TO 1 STEP 2 1220 IF U+C<1 THEN 1260 1230 IF U+C>8 THEN 1260 1240 IF S(U+C,V+G)<1 THEN 1260 1250 Q=Q-1 Y; 1740 FOR X=1 TO 8 1750 X9=S(X,Y) 1760 IF FND(X)=FND(Y) THEN 1790 1770 PRINT" "; 1780 GOTO 1950 1790 IF S(X,Y)<>0 THEN 1820 1800 PRINT". "; 1810 GOTO 1950 1820 IF ABS (X9)=2 THEN 1890 1830 IF X9=-1 THE 1260 REM 1270 IF U-C>8 THEN 1330 1280 IF U-C<1 THEN 1330 1290 IF S(U-C,V-G)<1 THEN 1310 1300 Q=Q+5 1310 REM 1320 REM 1330 NEXT C 1340 R(P)=Q 1350 M(P)=X2*10+Y2+V/10+U/100 1360 Q=0 1370 RETURN 1380 IF P=0 THEN 2290 1390 JN 1870 1840 PRINT"O "; 1850 F9=1 1860 GOTO 1950 1870 PRINT"X "; 1880 GOTO 1950 1890 IF S(X,Y)<>-2 THEN 1920 1900 PRINT"X*"; 1910 GOTO 1950 1920 REM 1930 PRINT"O*"; 1940 F9=1 1950 NEXT X 1960    PRINT 1970 NEXT Y 1980 PRINT" 1.2.3.4.5.6.7.8." 1990 RETURN 2000 PRINT 2010 PRINT"FROM"; 2020 INPUT E,H 2030 X=E 2040 Y=H 2050 IF S(X,Y)>0 THEN 2090 2060 PRINT"THERE IS NO ONE OCCUPING THAT SPACE" 2070 PRINT 2080 GOTO 2010 2090 PRINT ,"TO "; 2100 INPUT A,B 2110 X=A 2120 Y=B 2130 IF S(X,Y)=0 THEN 2170 2140 PRINT"THAT SPACE IS ALREADY OCCUPIED" 2150 PRINT 2160 GOTO 2010 2170 IF ABS(E-A)=ABS(H-B) THEN 2190 2180 PRINT"ILLEGAL MOVE" : GOTO 2010 2190 IF ABS(E-A)>2 OR (ABS(E-A)=2 AND S((E+A)/2,(H+B)/2)=0) THEN 2180 2200 S(A,B)=S(E,H) 2210 S(E,H)=0 2220 T=(4.5-(3.5*G)) 2230 IF ABS (E-A)<>2 THEN 2250 2240 S((E+A)/2,(H+B)/2)=0 2250 IF B<>T THEN 2270 2260 S(A,B)=-2*G 2270 REM 2280 RETURN 2290 PRINT" VERY GOOD, YOU WIN!" 2300 PRINT 2310 PRINT 2320 END 2330 FOR F=1 TO P2 2340 PRINT R(F);M(F), 2350 NEXT F 2360 END 2370 GOSUB 1700 2380 GOTO 2000 310 PRINT 2320 END 2330 FOR F=1 TO P2 2340 PRINT R(F);M(F), 2350 NEXT F 2360 END 2370 GOSUB a :Program Name--BUBBLE 7/3/82b:Adapted from Apple program of 10/27/82 b:;b(:This program demonstrates how a computerVb2:does a bubble sort.^b<:xbF: Archie AbairebP: July 1982bZ:bdDELAY d:: Timing delay factorbx LYST$( )c XY$(R,C) () "=" (R ) (C ):c:** Warning -- RESTORE instruction has been **rc:** used in subroutine for computer generated **c:** list. **c  :c:* Introduction to program *c:c ();dXY$ XY$(,): XY$;d Kd "Hello! My name is Ozzie. What's yours?"dXY$ XY$(,): XY$;"Type response and press 'RETURN'";dXY$ XY$(,): XY$;: "",QNAM h CHOICE$ "3" h CHOICE$ "4" "B:MENU"i CHOICE$ "1" CHOICE$ "3" Ri XY$ XY$(, ): ();XY$;"*** Bubble Sort ***"ti XY$ XY$(,): XY$;"List"i M :: M controls vertical spacingi CHOICE$ E$ d (QNAME$)  QNAME$ (QNAME$, )d PNAME$ (QNAME$,)e  I  (QNAME$)Ge  PNAME$ PNAME$ (((QNAME$,I,)) )Me [e ();veXY$ XY$(,): XY$;e" "Hello, ";PNAME$;"!":e, "You are about to see"2" Ri I  i M M j XY$ XY$(M, ): XY$;LYST$(I)j j Z ()0j: Set screen format8j:BjM Rj I  ij M M :A j XY$ XY$(M,): XY$;Ij J :AA::: Timin an example of how a"e6 "computer does its work.":f@ "The bubble sort gets its name from the way"JfJ "that items in a list seem to 'bubble' to"|fT "their correct positions like bubbles in a"f^ "fish tank.":fh "Shortly you will see tg delay loopjjXY$ XY$(,): XY$;"Pass"j FkXY$ XY$(,): XY$;"Temporary"=kXY$ XY$(,): XY$;"Register";Ek:ok: ** Beginning of sort procedure **wk:kB10$ ( ," "):Z ()k LL   khe kinds of operations"fr "that the computer has to perform to put a"g| "list into order."g F)g ();EgXY$ XY$(,): XY$;Mg:\g "Menu":ug$ );"Bubble Sort"}g.:g8 );"1. Let me make a list for you"gB PASS  LLk XY$ XY$(,): XY$;" ";XY$;PASSl FLAG1$ "OFF"l : ** Sort loop **5l L  LL [l FLAG2 :: Decision flagl LYST$(L) LYST$(L) FLAG2 l XY$ XY$(L,): XY$gL );"2. You give me a list"gVg` );"3. Return to instructions"hbhd );"4. Exit"1hjXY$ XY$(,): XY$;aht "Please enter a number ";:CHOICE$ $()}h~ CHOICE$ "9"  Nh CHOICE$ "1" PFh CHOICE$ "2" ;"*"l  XY$ XY$(L,): XY$;"*"l :m FLAG2  -m( : ** Swap occurs here **Wm2 XY$ XY$(L, ): XY$;B10$rm< TEMP$ LYST$(L)mF XY$ XY$(L,): XY$;B10$;XY$;TEMP$mP    :mZ LYST$(L) LYST$(L) nd XY$ XY$(L, ): XY$;B10$;XY$;LYST$(L)7nn XY$ XY$(L, ): XY$;B10$Gnx :rn XY$ XY$(L, ): XY$;TEMP$n XY$ XY$(L,): XY$;B10$n LYST$(L) "board."rMSG$() "Press RETURN key"sMSG$( ) "to enter each word." s:s()%s I  >s XY$ XY$(I,)Ss XY$;MSG$(I)Ys |sXY$ XY$( ,):XY$;MSG$()s  I  s* XY$ XY$(I,)s4 ) TEMP$n FLAG1$ "ON ":: End of swap o XY$ XY$(L,): XY$;" "4o" XY$ XY$(L,): XY$;" "=o, [o6 FLAG1$ "OFF" pho@ :noJoT: ** End of sort routine **o^:op: ** Job Exit ** XY$;MSG$(I)s>sH: Prenumber listsR I   t\ XY$ XY$( I,): XY$;Itftp:1t@: ** Enter list **9tJ:OtTMARK$ ( ,".")_t^ I  xth XY$ XY$(,)tr XY$;MARK$;XY$;t| "",WORD$t XY$oz:oXY$ XY$(,): XY$;"Job"oXY$ XY$(,): XY$;"Completed" pXY$ XY$(,): XY$;B10$BpXY$ XY$(,): XY$;B10$;Lp Fhp: Set delay to normalp$ DELAY  DELAY d: :: Return to menup8XY$ XY$(;(WORD$) )t LYST$(I) (WORD$, )t XY$ XY$( I,)u XY$;LYST$(I)uu:@u: Extra copy of original listHu:Xu I  xu EXTRALYST$(I) LYST$(I)~uu u'u:: ** Delay loop **u::u ,): ();XY$;pB "Would you like to see how fast I can go? (Y/N)"qLQ$ $()qV Q$ "N" 3q` Q$ "Y" L GqjDELAY : PFQqt  nqX: ** User keys list **vqb:qMSG$() "Enter the words you would like to"qMS: I  DELAYu: A A u:u:A u:u::vE: ** Data for computer generated list **%vE:LvPF DEMOCRITUS,OZZIE,ZENO,ARCHIMEDESzvZF CARVER,KEPLER,BOOLE,PASTEUR,HARVEY,HEROvdF I  vnF LYST$(I)vxFvFLYST$()G$() "have sorted. They may have up to" rMSG$() "ten characters. Numbers will be":rMSG$() "treated as if they were letters."\rMSG$() "TO CORRECT ERRORS"rMSG$() "use backspace arrow"rMSG$() "at right end of key"rMSG$( QNAME$vFvFvF: ** 'Ready to continue' display **wFXY$ XY$(,)-wF XY$;"Press any key to continue...";N:C  OUNT = COUNT - 1wHN "Initial delay factor = 100" xRN: "Present delay factor =";DELAY.x\N: "Change factor to ",NEWDELAYGxfN NEWDELAY  NjxpN NEWDELAY  NEWDELAY dxzN NEWDELAY  NEWDELAY xNDELAY NEWDELAYxNxirs lette o thi person's name. I th use generate th list word wil b truncate t te characters I uppe an lowe cas character ar mixe o i number wit decimals wit an withou leadin zeroes ar used thR:** Reuse user's list **xR:xR I  y&R LYST$(I) EXTRALYST$(I)y0Ry:RNDELAY NEWDELAYxNxGxfN NEWDELAY  NjxpN NEWDELAY  NEWDELAY dxzN NEWDELAY  NEWDELAY xNDELAY NEWDELAYxNx result ar rathe interesting an unexpecte t anyon no familia wit ASCI codes. Th timin delay whic contro th sortin displa ca b altere b th user Thi i accomplishe b enterin "9 a men choic (no shoProgram Name BUBBLE Author Archie L. Abaire, Jr. PO Box 29157 Richmond, Virginia 23233 (804) 740-7639 Date July, 1982 Thi progra demonstratw o th men - add littl mystery) Th rat i initialize t defaul valu whe th progra i firs run Afte eac sort th questio i aske whethe yo wan t se ho fas th compute ca go I th respons i "yes the th e ho bubbl sor works Mos o th instruction ar displaye o th scree an ar fairl straightforward. I th compute generate th list i use name containe i DAT statement i th subroutin startin a statemen 1dela facto i se t "1" Upo completion i i se bac to the default value.  eac sort th questio i aske whethe yo wan t se ho fas th compute ca go I th respons i "yes the th 8000 Th use wh enter his/he nam i respons t prompt a th beginnin o th progra wil fin his/he nam a th botto o th lis t b sorted Th numbe o passe th compute make throug th algorith depend o th f  a : Program Name--DESIGN 7/2/82b: To print nifty designs on the screen b:-b: Archie L. Abaire, Jr.Fb: PO Box 29157lb: Richmond, Virginia 23233b: (804) 740-7639b:b:b( ();b-K$    f X,Xff R,C,Pf ();f X  ::0g  );"Select a number between 40 and 51 ";GgCLIMIT ($())mg CLIMIT ( CLIMIT 3 {g$ ();g.R g8COL gBPLACE gL (K$)""b2 X  ::b<  );"1. Reflection"bF  );"2. Wrap around"cH  );"3. Wave in a box"/cI  );"4. Wave"DcK  );"5. Exit"LcP:bcZ  );"Select ";qcdQ$ $()cn Q$ "1" cx Q$ "2" cz Q$ "3"  gV R  RDIR g[ R  RDIR  h` COL CLIMIT COL hj:+ht PCHAR (PLACE)Qh~ PCHAR  CHAR  : vh PCHAR  CHAR : h PCHAR  CHAR O: h PCHAR Oc{ Q$ "4"  c} Q$ "5" $c (c R,C,Pc ()d X  ::Cd  );"Select a number between 40 and 51 ";ZdCLIMIT ($())d CLIMIT ( CLIMIT 3 d ()dR dCOL dPLACE  CHAR : h CHAR  h:h PLACE,CHARi R R RDIRi ROW R 2i COL COL Ki PLACE ROW COLSi:ai K$ giqi  (}i R,C,Pi ();i X  ::i  );"Sel d (K$) d R  RDIR d& R  RDIR e0 COL  CDIR 9e: COL CLIMIT CDIR AeD:ZeN PCHAR (PLACE)eX PCHAR  CHAR  : eb PCHAR  CHAR : el ect a number between 40 and 51 ";iCLIMIT ($()) j CLIMIT ( CLIMIT 3 j  ();%jR 1j COL Aj*PLACE Sj4 (K$) mj> R  RDIR jH R  RDIR jM COL  CDIR jR PCHAR  CHAR O: ev PCHAR O CHAR : f CHAR  f:f PLACE,CHAR3f R RDIR RLf ROW R ff COL CDIR COLf PLACE ROW COLf:f K$ ff (f X COL CLIMIT CDIR j\:jf PCHAR (PLACE)kp PCHAR  CHAR  : 4kz PCHAR  CHAR : ek: IF PCHAR = 13 THEN CHAR = 79:GOTO 2220k: IF PCHAR = 79 THEN CHAR = 22:GOTO 2220k CHAR  k:  k PLACE,CHARk X X ~k X  X  l R  ( (X))%l ROW R ?l COL COL CDIRXl PLACE ROW COL`l:nl K$ tl~l (l R,C,Pl ();l X  ::l  );"Select a number between 40 and 51 ";l CLIMIT ($())m CLIMIT ( CLIMIT 3  (m ();2m R =m RY Im COL Vm COL1 `m Y jm X tm Z m CHAR  m PLACE m PLACE1 m (KProgram Name DESIGN Author Archie L. Abaire, Jr. PO Box 29157 Richmond, Virginia 23233 (804) 740-7639 Date July, 1982 Thi progra i actuall$) mD COL CLIMIT COL mI COL1 CLIMIT COL1 nN :nX PCHAR (PLACE)?nb PCHAR  CHAR  :  Gn :cn Z CLIMIT  zn Z Z :  n PLACE1, n Y Y ~n Y  fou program i one Eac subuni i complet b itself A eac characte i printed th vertica an horizonta coordinate ar incremented Eac locatio i th scree memor ma t b printe i firs PEEKe an th ch  Y n RY  ( (Y))n ROW1 RY o* COL1 COL1 %o4 PLACE1 ROW1 COL1-o> :Ao PLACE,CHARVo X X ~mo X  X o R  ( (X))o ROW R o COL aracte t b POKE i selecte accordin t wha i already there. Th rathe crypti promp t selec numbe betwee 4 an 5 a th beginnin o eac segmen allow inpu o th widt o the design. T exi an o th design COL o PLACE ROW COLo :o :o K$ oo (p$ "B:MENU"OW R o COL o PLACE,CHARVo X X ~mo X  X o R  ( (X))o ROW R o COL  whil the ar running pres an key. You will be returned to the menu. "Reflection show patter create b th lin reflectin of al fou boundaries "Wra around wrap aroun onl i th horizonta directio an reflect fr  o th to an botto boundaries Wra aroun i al fou direction prove t b rathe uninteresting "Wav i box an "Wave ar no a interesting Th curso travel i sin wav patter rathe than in straight lines.  " 7/24/82"b :: "to continue" instructionb (); c " Commands"c3c " '!' exits to menuVc " starts program over"vc " C exits to MBASICc " (most other keys) gives a graphic characte i box an "Wave ar no a interesting Th curso travel i sin wav patter rathe than in straight lines. r"c " '";(");"' to enter ASCII numbers (3 digits)"c)d " All commands are via the numeric key pad"Vd " 1 moves cursor down and to the left"sd " 2 moves cursor down"d " 3 moves cursor down and to the right"d " 4 moves cursor to the left"d " 5 is a switch that turns tracer off/on"e " 6 moves cursor right">e " 7 moves cursor up and to the left"Ye" " 8 moves cursor up"e, " 9 moves cursor up and to the right"e6 " 0 erases any character at cursor position"e@eJ " x Any other character becomes tracer"eT e^: fh ();2frB$ "X":: Set tracer characterUf|IPEN% :: Turn off tracerafX% :mfY% ,f ();"=";(Y%);(X%);fA$ $()f A$ () a :Program name--ETCH 7/24/82a:Cursor control exercisea: b( ();!b2 Z  ::;b< " ETCH-A-SCREEN"VbF " by David Blair"jbP " 6/14/82"pbZbd " modified by"bn " Archie L. Abaire, Jr."bx f A$ (!) f A$ (") $g A$ "0" B$ A$:  :: If not numeric, set tracerCg A$ "9" B$ A$:  Kg:_g: Move cursoryg A$ "1" XX% g A$ "1" YY% g A$ "2" XX% g   A$ "2" YY% g A$ "3" XX% g A$ "3" YY% h& A$ "4" XX% )h0 A$ "4" YY% ch: A$ "5" IPEN% IPEN%:: Reverse tracer switchhD A$ "5" XX% :YY% hN A$ "6" XX% hX A$ "6" A$ $()lA$ ((A$))lue ";klZ$ $()qll "B:MENU"l: Subroutine for special charactersl);( );\l "Press any key to continue ";klZ$ $()qll "B:MENU"l: Subroutine for special characterslYY% hb A$ "7" XX% hl A$ "7" YY% iv A$ "8" XX% i A$ "8" YY% 6i A$ "9" XX% Pi A$ "9" YY% Xi:jiX% X% XX%|iY% Y% YY%iXFLAG% :YFLAG% i X% Q X% !  XFLAG% :: Keep cursor on screeni Y% ! Y% 6 YFLAG% 1j XFLAG%  YFLAG%  XX% XX%:YY% YY% Uj XFLAG%  YFLAG%   jX% X% XX%:: Restore previous X% and Y% valuesjY% Y% YY%j:'j j A$ "0" fj XX% XX%:YY% YY%j*X% X% XX%k4Y% Y% YY%&k> ();"=";(Y%);(X%);" ";FkH ();"=";(Y%);(X%);PkR Xk\:xkf ();"=";(Y%);(X%);kp IPEN%  kz ();"g";k B$;k ();"G";k ();"=";(Y%);(X%);k k:k:l: Subroutine "to continue"8l ();"=";(6);( );\l "Press any key to continue ";klZ$ $()qll "B:MENU"l: Subroutine for special charactersl  a : Program Name--MENU 7/4/82a:b: Selects programs on diskette b(:(b2: Archie AbaireCb4: PO Box 29157kb6: Richmond, Virginia 23233b8: (804) 740-7639b::b<: July 1982bF:he programsf`: include the statement RUN "B:MENU insteadfj: of END.fL: fV: At the exit point of each of tIVE$ theif8: drive into which you will always put yourfB: program disk.fL: fV: At the exit point of each of tbNUM :: Number of menu items including "EXIT"bDRIVE$ "B:"cPROG$() "DESIGN"(cPROG$() "BUBBLE">cPROG$() "ETCH"VcPROG$() "SEARCH"lcPROG$() "EXIT"c XY$(R,C) () "=" (R ) (C )c&XY$ XY$(,)c0 ();XY$;"Menu"cX I  NUMcb XY$ XY$(I,)dl XY$;I;PROG$(I)dv,dXY$ XY$(,)Jd XY$;"Enter selection ";YdQ$ $()d (Q$)  (Q$) NUM ();: d PROG$((Q$)) "EXIT" dPROGRAM$ DRIVE$ PROG$((Q$))d PROGRAM$d e: *** Instructions ***e:Ae: Assign program names to the variableswe: PROG$(x). Don't forget to dimension PROG$(x)e: if you go beyond ten programs.e:e: a :Program name--SEARCH 7/26/82a:)b: Demonstrates how a computer can extract information from data1b(:Vb2: Archie L. Abaire, Jr.rb<: PO Box 29157bF: Richmond, Virginia 23233bP: (804In statement 200, assign the number of f$: program names to the variable NUMf):7f.: In statement 210, assign to DRIVE$ theif8: drive into which you will always put yourfB: program disk.fL: fV: At the exit point of each of t) 740-7639bZ:bd L$(),SEARCH(),LETTER(()cn XY$(Y,X) ()"="(Y)(X)!cx ()8c "Letter Counter"Mc "July, 1982":Uc:gc I  |c SEARCH(I) cc I  (c LETTER(I) c  c "Enter low search character ";:LOW$ $(): LOW$#d "Enter high search character ";:HIGH$ $(): HIGH$hd "Display out of range characters? Y/N ";:FLAG$ $(): FLAG$|d: Enter wordsd d:d ();d": "*** LIST Y" TEST$ LOW$ SEARCH(Z)(TEST$):ZZ i CC::TOTAL NUMBER OF CHARACTERSi ii,i "B:MENUHi:COUNT ALL CHARACTERSPi:^i I Nwi  J (L$(I))i K%((L$(I),J)) @i  K%  4iBEING SEARCHED ***"d, Xd6 d@dJ "TEST RESULTS""eT "NUMBER OF CHARACTERS > ";HIGH$;" =";HIGH Pe^ "NUMBER OF CHARACTERS < ";LOW$;" =";LOWqeh "NUMBER OF CHARACTERS =";Cer: "Press any key to see table ";:A$ $()e| R* LETTER(K%)LETTER(K%)i4 i>iHjR:PRINT TABLE OF CHARACTER COUNTj\:6jf (): "TABLE--CHARACTER COUNT" when done)"/g9gN FgQ$ " "Yg (Q$) jg& N N {g0 "",Q$g: L$(N) Q$gDgNgX:SEARCH ARRAYk$ ()k. "OTHER CHARACTERS":k8X :Y kB I  ZlL I   X X  :Y -lV Y Y Dl` XY$ XY$(Y,X)_lj XY$;: "###";I;xlt XY$ XY$(Y,X)l~ XY$;(SEARCH(I));ll Y Dgb:glZ:C :HIGH :LOW gv I Ng J (L$(I))h TEST$(L$(I),J,);h TEST$ HIGH$ HIGHHIGH|h FLAG$"Y" TEST$ HIGH$ SEARCH(Z)(TEST$):ZZh TEST$ LOW$ LOWLOWh FLAG$"   Th堠 purpos o thi progra i t demonstrat堠 th capabilities of a computer to analyze information. Thi progra accept lis o word o indeterminat numbe an length Th letter i thes word ar counte an char i displaye showin th tota coun an th coun fo eac letter A th beginnin o th run th use i aske fo hig an lo searc characters An character whic fal outsid o thi rang wil b save fo optiona specia displa afte th count of all letters is displayed.  fo hig an lo searc characters An character whic fal outsid o thi rang wil b save fo optiona specia Program Name SEARCH Author Archie L. Abaire, Jr. PO Box 29157 Richmond, Virginia 23233 (804) 740-7639 Date July 1982   d< A$dFA$(A$,)dP A$"Y" dZ A$"N" 2ddX: YeoS(): S(): S()3epS(): S(): S()NeqS(): S(): S()Xes kex "YOUR MOVE";wey M1,M2ez M1(M1)M2(M2)M1M1 M2M2 e{ "ILLEGAL CO-ORDINATES."e| xe S(M1) f "ILLEGAL MOVE.": xf S(M2) :f M2M1 S(M2) Lf M2M1 nf M2M1 (S(M2)) f M2M1 f M1 M2 fS(M1)fS(Ma (); );"HEXAPAWN":: P b );"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"b::Wb HEXAPAWN: INTERPRETATION OF HEXAPAWN GAME AS PRESENTED INb MARTIN GARDNER'S "THE UNEXPECTED HANGING AND OTHER MATHEMATIC-b AL DIVERSI2)f f S() S() S() 4f I g S(I)  g Ig 4$g I 9g S(I) JNg S(I) ^bg R(I)I @rg I ,g S() ^g" Jg, S() ^g6 JgONS", CHAPTER EIGHT: A MATCHBOX GAME-LEARNING MACHINE,c ORIGINAL VERSION FOR H-P TIMESHARE SYSTEM BY R.A. KAAPKE 5/5/76Oc INSTRUCTIONS BY JEFF DALTON~c CONVERSION TO MITS BASIC BY STEVE NORTHc B(,),M(,),S(),P$()cW: Lc@ S(I) S(I) ^gJ IgT 4g^ I gh J hr K  0h|T((J)K)B(I,(J)K)8h K@h JNh J gh S(J)B(I,J) oh JwhRh h J h S(J)T(J) h J R(X)(X)(X)(X)(X)(X)(X)S(X)d S(X)X(X X X)(d M(Y)Y(Y ) 5d#P$"X.O"cd( I : J : B(I,J): J: Id- I : J : M(I,J): J: Id2 "INSTRUCTIONS (Y-N)";hRh h IhEMBER THE TERMINATION OF THIS LOOP IS IMPOSSIBLEi "ILLEGAL BOARD PATTERN."#i+iXI9i& I Oi0 M(X,I) XWi: IiiD "I RESIGN."siN 4iXY(())iY M(X,Y) Xib R v  il "I MOVE FROM ";((M(X,Y) ));" TO ";(M(M(X,Y)))jnS((M(X,Y) ))joS(M(M(X,Y))) jp Sjv "I MOVE FROM ";(R((M(X,Y) )));" TO ";ljw (R(M(M(X,Y))))jxS(R((M(X,Y) )))jyS(R(M(M(X,Y))))j j25,36,0,14,15,36,0,15,35,36,47,36,58,59,0n 15,35,36,0,24,25,26,0,26,57,58,0-o 26,35,0,0,47,48,0,0,35,36,0,0,35,36,0,0Oo 36,0,0,0,47,58,0,0,15,0,0,0o 26,47,0,0,47,58,0,0,35,36,47,0,28,58,0,0,15,47,0,0oo I o  );o  S() S() S() fj I j S(I) j Ik fk I 'k S(I) M(X,Y)lHLLlR LW W "I WIN THE FIRST GAME." : LW L "YOU WIN THE FIRST GAME." : "I HAVE WON";W;"AND YOU";L;"OUT OF";LW;"GAME "AN EMPTY SPACE OR ONE SPACE FORWARD AND DIAGONALLY TO""q "CAPTURE AN OPPOSING MAN. ON THE BOARD, YOUR PAWNS"\q "ARE 'O', THE COMPUTER'S PAWNS ARE 'X', AND EMPTY "q  "SQUARES ARE '.'. TO ENTER A MOVE, TYPE THE NUMBER OF"q "THE SQUARE YOS."lSl\ dlf "I WIN."lpWWlz Rm -1,-1,-1,1,0,0,0,1,1,-1,-1,-1,0,1,0,1,0,1Em -1,0,-1,-1,1,0,0,0,1,0,-1,-1,1,-1,0,0,0,1sm -1,0,-1,1,1,0,0,1,0,-1,-1,0,1,0,1,0,0,1m 0,-1,-1,0,-1,1,1,0,0,0,-1,-1,-1,1,1,1,0,0m -1,0,U ARE MOVING FROM, FOLLOWED BY THE NUMBER"r  "OF THE SQUARE YOU WILL MOVE TO. THE NUMBERS MUST BE"7r* "SEPERATED BY A COMMA.": wr4 "THE COMPUTER STARTS A SERIES OF GAMES KNOWING ONLY WHEN"r9 "THE GAME IS WON (A DRAW IS IMPOSSIBLE) AND HOW T-1,-1,0,1,0,1,0,0,-1,-1,0,1,0,0,0,1n 0,-1,-1,0,1,0,1,0,0,-1,0,-1,1,0,0,0,0,1.n 0,0,-1,-1,-1,1,0,0,0,-1,0,0,1,1,1,0,0,0]n 0,-1,0,-1,1,1,0,0,0,-1,0,0,-1,-1,1,0,0,0n 0,0,-1,-1,1,0,0,0,0,0,-1,0,1,-1,0,0,0,0n -1,0,0,-1,1,0,0,0,0n 24,O MOVE."r> "IT HAS NO STRATEGY AT FIRST AND JUST MOVES RANDOMLY."6sH "HOWEVER, IT LEARNS FROM EACH GAME. THUS, WINNING BECOMES"rsR "MORE AND MORE DIFFICULT. ALSO, TO HELP OFFSET YOUR"s\ "INITIAL ADVANTAGE, YOU WILL NOT BE TOLD HOW TO WIN TH  E"sf "GAME BUT MUST LEARN THIS BY PLAYING."tp: "THE NUMBERING OF THE BOARD IS AS FOLLOWS:"@tz  );"123":  );"456":  );"789"}t: "FOR EXAMPLE, TO MOVE YOUR RIGHTMOST PAWN FORWARD,"t "YOU WOULD TYPE 9,6 IN RESPONSE TO THE QUESTION"t "'YOUR MOVE ?'. SINCE I'M A GOOD SPORT, YOU'LL ALWAYS"u "GO FIRST.": u du'ESPONSE TO THE QUES56":  );"789"}t: "FOR EXAMPLE, TO MOVE YOUR RIGHTMOST PAWN FORWARD,"t "YOU WOULD TYPE 9,6 IN RESPONSE TO THE QUESaa **** GAMMON ****b **** A SIMULATION OF THE GAME OF BACKGAMMON ****b"b(Vb2 WRITTEN BY: PAUL VON AUTENRIEDb< MODIFIED FOR MBASIC BY: KEVIN REDDENbA FURTHER MODS BY: BRUCE RATOFFbFbP FOR MORE INFORMATION, SEE CREATIVE COMPUTING, JUNE 1978bZcd A(),B(),S( )&cn FILES DEBTdcxL7:L6:X5:L:S1:S2:T1:T2:H1:G:P2:D5mcD9xcB$"-"c I :A(I):B(I): Ic I  :S(I): Ic "DO YOU WANT ANY INSTRUCTIONS ";c A$c (A$,)"N" dEd "BACKGAMMON : MY CHIPS ARE REPRESENTED BY - SIGNS, YOUR"d " CHIPS BY A + SIGN. INPUT YOUR MOVES IN THE FORMAT FROM"d " POINT #, TO POINT #, FROM POINT #, TO POINT #, FOR EACH"e " MOVE. EXAMPLE: 5,7,12,17 WOULD BE THE MOVE FOR DICE ROLLS"Se " OF 2 AND 5; MOVING ONE CHIP FROM POINT 5 TO POINT 7, AND"e " ANOTHER FROM POINT 12 TO POINT 17."e " THE BAR IS REPRESENTED BY 0, YOUR H  OME IS 25, MY"e" " HOME IS 0." f, " IF AT ANY TIME, YOU CARE TO DOUBLE, YOU WILL"Gf6 " BE ALLOWED 5 SECONDS IMMEDIATELY AFTER THE BOARD"f@ " PRINTOUT TO INPUT A 1, INDICATING YOU WISH TO CHECK"fJ " WHAT VALUE THE CUBE HAS, OR A j D1D2 j  M1,M2,N1,N2j L7 j  M1 M2 Rk* M2M1D1 R&k4 M2M1D2 pgk> "NICE TRY. NEXT TIME I WILL LOAD THE DICE! REINPUT!!!!";qkH  kR N1 N2 k\ N2N1D2 >kf kp2, SUGGESTING DOUBLING THE"fT " STAKES."f^ gh "HIT RETURN KEY TO CONTINUE:";QQ$grg|gEgA(): B(): A( ): B( )YgA(): B()mgA(): B()g  : X: **** PRINT "HAVE YOU PLAYED WITH ME BEFORE"; N1 N2 kz N2N1D1 >k B(M2) B(N2) > l M1 M2 %l N1 N2 Fl M1 N1 H1 >^l M1 M2 ol M1 l A(M1) >lA(M1)A(M1)lA(M2)A(M2)l Mg A$g (P$,)"Y" g **** READ #1,1h **** READ #1,D8 hD8D8.h "YOUR USER NUMBER IS ";D8mA(N1)A(N1)%mA(N2)A(N2)6m$ N1 8Bm.H1H1Zm8 M1 M2 tnmB B(M2) tmLB(M2)B(M2)mVGGm` "YOU HIT ME!!!!"mj M2N2 ";D4;"CENTS. OBVIOUSLY YOU LIKE TO MOVE DEEPER INTO DEBT."hD X+iN "I OWE YOU ";D4;"CENTS. NICE OF YOU TO RETURN."AiXX((()))WibY((()))il "YOUR ROLL IS A ";X;"AND MY ROLL IS A ";Y;"."iv XY iD9D9i  mt N2 N1 m~ B(N2) mB(N2)B(N2)mGGn "YOU HIT ME!!!!"2n "YOUR MOVE IS COMPLETED."vV S1 ~ Gv` T1ISvj T2IC1]vt  fv~ S1Irv S2IC1v COMPUTER MOVE PRINTOUT *****v S1T2  v Z1q A(IC1) 0q C2 q A(IC2) r IC1C2 r A(IC1C2) 1r A(IC1) ;r RQr A(IC2) [r 4cr I}r L5 C2 rL5C2r I1  r I1 C1 S1v Z2S2v S1T1v S2T2v T1Z1v T2Z2w "MY MOVE IS ";S1;",";S2;"AND";T1;",";T2#w "STATUS :"-w  7w Mw PRINTOUT ******Ww F2`w P iw( Vow2 uw< wF " 24 23 22 21 20 19 18 17 16 15 14 13"wP " .. C2 r& 2r0B(IC1)B(IC1)r:B(I)B(I)sDA(IC1)A(IC1) sNH1H1/sX "I TOOK YOUR CHIP AT ";IC1;sbL5C2DslS1IPsvS2IC1YsC1cs ts L6 hs C2  s sB(IC2)B(IC2)sB(I)..................................."wZ );wd H2F2 P Vxn A(H2)  xx "###";A(H2);4x **** IMAGE #,SDX>x  Rx B(H2)  hx "###";B(H2);rx  x "###";;x **** IMAGE #,XDXx H2  B(I)sA(IC2)A(IC2)sH1H1s "I TOOK YOUR CHIP AT ";IC2tL5C1tT1ItT2IC2#tC2-t  >t L6 hOt  C1  Yt* bt4ZC2lt>C2C1utHC1ZtR IC1C2 t\B(IC1C2)B(IC1C2)tfB(Ix H2  x  x );x H2: x H2 J x y );B$;: "# +#";G,H1: :y **** IMAGE X,A,DX,SDBy" VKy, P Ty6 F2^y@ Z yJ " ....................................."yT " 1 2 3 4 5 6 7 8   9 10 11 12": y^  : **** PRINT LIN(-2)yh ENTER 5,R1,D5 zr D5 OF 3010,| ,$/z| "THE DOUBLING CUBE IS AT ";@z D9  iz D9;". YOU MAY DOUBLE IF YOU WISH."rz D5|z h z D9;"IT IS MY TURN TO DOUBLE."z D5z v ~ PLAYER DOUBLES ******~$ M1,M2,M3,M4,M5,M6,M7,M8~. L7 8 M1 M2 `*B M2M1D1 `kL "NICE TRY. NEXT TIME, I WILL LOAD THE DICE. REINPUT!!!!";uV $` M3 M4 tj M4M3D1 Lt M5  z z SAFE MOVE ******z I L5 z B(I) v { C1 C2  '{ IC1C2  L{ B(IC1C2) A(IC1)  q{ B(IC1C2) A(IC2) z { C1 : {& B(IC1)  {0 C2 v {:  M6 ~ M6M5D1 L M7 M8  M8M7D1 L1 B(M2) B(M4) B(M6) B(M8) LI M1 M2 Z M1 n A(M1) LA(M1)A(M1)A(M2)A(M2) M1 H1H1 B(IC2) \ {D A(IC1) l {N IC1C2 v |X B(IC1C2) v |b  3|l A(IC2) B(IC1C2) z ;|v IG| I1I1Q| |b| C2  x| IC1C2 v | B(IC1C2)  | B(IC1C2)B(IC1C2)ǀ M3 M4 2؀ M3  A(M3) L A(M3)A(M3)A(M4)A(M4)! M3 2-(H1H1E2 M5 M6 xV< M5 ZjF A(M5) L|PA(M5)A(M5)ZA(M6)A(M6)d M5 xnH1H1Áx| B(I)B(I)| S1I| S2IC1: T2S2| T1IC1C2|  } B(I)B(I)} B(IC1)B(IC1)!} S1I-} S2IC16} C1@} Q}* L6 h]}4 L5C2n}> C2  }H B(I) : }R v }\ C1  }f IC1C2  M7 M8 ԁ M7 职 A(M7) LA(M7)A(M7) A(M8)A(M8) M7 )H1H1> B(M2) PB(M2)B(M2)ZGGr "YOU HIT ME !!!!" B(M4) B(M4)B(M4)GG "YOU  }p B(IC1C2)  }z B(IC1C2)B(IC1C2)} B(I)B(I)~ S1I~ S2IC2: T1S2"~ T2IC1C2,~  <~ B(I)B(I)R~ B(IC2)B(IC2)[~ T1Ig~ T2IC2p~ C2z~ ~ L6 h~ L5C1~ C1  ~ HIT ME !!!!"Ђ B(M6) 6B(M6)B(M6)"GG, "YOU HIT ME !!!!"6 B(M8) ^+@B(M8)B(M8)5JGGMT "YOU HIT ME !!!!"W^ uh COMPUTER DOUBLES ******rX3: LX3| I  :S(I): IC3C1: C4C3  L5C1˃ IL5 ރ B(I)  A(IC1)   I(C1) & A(I(C1)) 2C1C1:HICX3M Dc B(IC1) x B(I) X4I H X4 X5& B(H) )È`S((F))IӈjS(F)IC4݈tFF~ F B(I) L F B(I)  $ I6 I  Q S(I)S(I) _Z3S(I)mZ4S(I)}S(I)S(I)S(I)S(I)S(I)Z3S(I)Z4 \ʄ0 A(HC1) \: A(HC1) bD "I HIT YOUR CHIP AT POINT ";HC1NH1H1!XA(HC1)3b X3 v?lC1C1XvS()HC1: S()S()nS()H: S()S()~B(H)B(H) X3 C1C2B(HC1)B(HC1  I  "MY MOVE IS";S();",";S();"AND";S();",";S(); "AND";S();",";S();"AND";S();",";S()) 3(  X2 COMPUTER FARTHEST MOVE ******a<C9rF C2 d~PL5C2Z ndL5C1nX1x  L)ą X3 ЅC1C1ۅIHC1  X5B(I)B(I)B(IC1)B(IC1)+ A(IC1)  R "I HIT YOUR CHIP AT POINT ";IC1^ H1H1lA(IC1) S()I: S()S()*S()IC1: S()S()4 X5 H6 h͊ I L5 ⊖ B(I)X1  C2   A(IC2) B(I)B(I)/B(IC2)B(IC2)8T1IDT2IC2MC2YL5C1j C1   A(IC1)  I X1 "X1"X1X1>C3: C4C3ΆHC1: C2C1؆R \ Hf X4I pX4C4 z \  I& 6 L @LLJ s COMPUTER DOUBLES SAFE MOVE ****** C1 C2 C3 C4 Ç C1 C2 , X1 ً6 C1 C9 ^@C9JC2T d^ C1 |hS1: S2S1!r  3| C2 CT1: T2T1M  j C1 A(IC1) } B(I) B(I)B(I)B(IC1)B(IC1)S1I C3 C4 ҇F1: FF1܇ F1: FF1L5C4  I L5  B(I) 5 A(IC4) K$ A(IC4) Lr. "I HIT YOUR CHIP AT POINT ";IC4~8H1H1BA(IC4)LB(IC4)B(IC4)VB(I)B(IS2IC1C1͌L5C2ތ C2    BLOT ******I1 G1GC3C1!&C4C280 A(C1) pO: A(C2) sD A(C1) B(C1) N A(C2) XB(C2)B(C2)bT1l  T2C2čvL5C1͍C2 C3C4 S(((G MAX 2)))T1S( ((G MAX 2)))T2GG7 G C3C4 \N G G1  ^ G |z S() S() C1C3C2C4 C1 C2  A(ER WIN SUBROUTINE ******ђ2G7H1< J FG7G7A(J)P J Z G7 dG7'n J  6xG7G7A(J)> JO G7 XL7b kL7q "YOU WON." G7 G8 6ǓJ2B()B()C1) ՎB(C1)B(C1)ގ S1S2C1 L5C2*C14 C3C4 ->S(((G MAX 2)))S1HHS( ((G MAX 2)))S2RR d\F1G1: FF1nf p "I HIT YOU."zA(C1)H1H1  "IB()B()B()B() B()B()B()B()B()B( )B( )B( )B( )B()B()B() -M$"GAMMONED."> J2 UM$"BACKGAMMONED."o (M$,)"G" D9D9: 6 (M$,)"B" 6"D9D9,  HIT YOU."ȏA(C2)ԏH1H1ޏ X "I CAN NOT MOVE."   COMPUTER HOME ******%G84 J CG8G8B(J)K J] G8 `fG8t J $G8G8B(J). J8 G8 tBL5LL6"I WAS ";M$6 "I HAVE LOST ";(D9);"POINTS. "@ #,D7;D4(D9) J "GOOD BYE."$T **** PRINT LIN(-5)*^Hh COMPUTER FINISH ******QrI2a|H3: F3H3qC3: C4C3 C1C2 C3C1C4C2C7C1C8C2V j`L6Ȑjאt "I WON."~ G7 G8 J1A()A()A()A()A()A()i A()A()A()A( )A( )A( )A( )A()A()A()A()A() |M$"GAMMONED." J1 M$"BACKGAMMONED." (M I  ܕ IC1 B(I) I2 > IC2 B(I) I2  IC3 B(I) I2 3 IC4 B(I) I2 ; IGI2I2Y I2 j C1 &wC1C1H3& C2 :0C2C2H3: C3 NDC3C$,)"G" ёD9D9:  (M$,)"B" D9D9  "YOU WERE ";M$H "YOU HAVE LOST ";(D9);"POINTS. I'LL REMEMBER THAT."^ #,D7;D4(D9){ "CARE FOR A REMATCH ";  A$ (A$,)"Y" dǒ( PLAY3H3ĖN C4 bіXC4C4H3b C1 C2 C3 C4 vlH3vI2 .S(F3)I: T1S(F3)A IC8 W A(IC8) m A(IC8)  "I TOOK YOUR CHIP AT ";IC8H1H1A(IC8)A(IC8)  ǗB(IC8)B(IC8)ߗT2IC8: S(F3)T2 T2: S(F3)T2C2B(I)B(I)"  P C1 C2 C3 C4 C7C8 v  C1 C2 C3 C4  *F3F34 >S1I: S(F3)S1H IC7 ȘR A(IC7) ޘ\ A(IC7) f "I TOOK YOUR CHIP AT ";IC7 pH1H1"zA(IC7)A(IC7)8B(IC7)B(IC7)PS2IC7: S(F3)S2Z pS2: S(F3)S2yC1 A AZ5C3C3C1C1Z5řZ6C4ϙC4C2ٙC2Z6 A OF 7230,$ DOUBLES EVALUATION ******%. (D9)@ (48U1: U2CB R2 RLR7: R8aV R3,R5,R6r` R4R3 R5jR7B(R4)R7tR8A(R4)R8~ R4U1U1(R6R7)U2U2((R6)R8)̚ R2 1,6,.5,7,12,1,13,15,1.5,16,19,2,20,24,2.5# U1U2 D9 D5  E U1U2 D5 D9 W D5 (~ "I REFUSE TO DOUBLE THE STAKES."  "CARE TO DOUBLE THE STAKES "; R$Λ R$(,)"Y" tڛ D9D9 "FINE."D5(2  "CARE TO DOUBLE THE STAKES ";2 D5 D9 W D5 (~ "I REFUSE TO DOUBLE THE STAKES."  "CARE TO DOUBLE THE STAKES ";  a tower of hanoi puzzlea copyright 1981 Michael M Rubensteinab AZb b=b$ elements in the problem array aremb. interpreted as asking for the solution ofb8 move prob(i,0) disks from peg prob(i,1)bB to peg prob(ifPROB(I,)PROB(PROBPT,)fIIf"PROB(I,)g,PROB(I,)PROB(PROBPT,)g6PROB(I,)PROB(PROBPT,);g@PROB(I,)PROB(PROBPT,)_gJPROB(PROBPT,)PROB(PROBPT,)gTPROB(PROBPT,)PROB(PROBPT,)g^PROB(PROBPT,)PROB(I,)ghPROBPTPROBP,2) using peg(i,3)bL PROB(@,),PEGS(,), PEGCOL()bV c` H: f: print title-cj : ask how many disksEct DISKS H: Oc~ fUcgc set up pinsqc *cROW : COL: c I 3: ( );: IcTgr g|g easy case -- move one disk hFPROB(PROBPT,): TPROB(PROBPT,)6hDCOLPEGCOL(F): DSIZEPEGS(F,PEGS(F,))[h I PEGS(F,)  DISKS h DROWI: DCHAR$( ):  h DROWI: DCHAR$" ":  h IhPEGCOL(): PEGCOL(): PEGCOL()(dPEGS(,)DISKS: PEGS(,): PEGS(,)d ROW DISKS  ,d J Ud COLPEGCOL(J): : ( );_d Jid ROWdDCHAR$( ): DCOLPEGCOL()d  I DISKSd DROW I FT INC: LEADh FT INC: LEAD iROWDROW: COLPEGCOL(F):  : DCH 0i I (PEGCOL(T)PEGCOL(F))Bi SPTSPTINCci LEAD SPTDSIZE, i JSPTDSIZE SPT: J,DCH: Ji SPT, i JSPT d DSIZEDISKSId( PEGS(,I)DSIZEd2  d< IdF HdPeZ set up problem edPROBPT[enPROB(,)DISKS: PROB(,): PROB(,): PROB(,)gexMOVESmee blank out how many questioneROW: COL: e  SPTDSIZE: J,DCH: Ji& LEAD SPTDSIZE, i0 Ij:DCOLPEGCOL(T)'jD I DISKS  PEGS(T,)MjN DROWI: DCHAR$( ):  mjX DROWI: DCHAR$" ":  ujb IjlPEGS(F,)PEGS(F,)jvPEGS(T,)PEGS(T,)jP" ";ee solve the puzzlee L f PROBPT jf PROB(PROBPT,) Ef reduce to three easier problemsTfIPROBPTsfPROB(I,)PROB(PROBPT,)fPROB(I,)PROB(PROBPT,)fPROB(I,)PROB(PROBPT,)EGS(T,PEGS(T,))DSIZEjMOVESMOVESjPROBPTPROBPTj jk clear screen6k ( );"S";();( );( ); leave graphics modeVlH ( );"G";( );( ");: \lRnl\ print titlexlf lp "Towers of Hanoi Puzzle"lz "Copyright 1981  2320 DCH=ASC(DCHAR$) 2330 FOR IPDSK=SPT-DSIZE TO SPT-1: POKE IPDSK,DCH: NEXT IPDSK 2340 FOR IPDSK=SPT+1 TO SPT+DSIZE: POKE IPDSK,DCH: NEXT IPDSK 2350 RETURN 2360 REM 2370 REM print move counter 2380 ROW=17: COL=0: GOSUB 2020 2390 PRINT USING "& ###Michael M Rubensteinlll ask how many disks (1-7)mROW: COL: -m "How many disks (q to quit)? ";EmC$: C$"" hm C$"q" C$"Q" DISKS: m C$"1" C$"7" m C$;mDISKS(C$)mmma aCLS$():HI$():LO$():FL$()b CLS$;);"N U C L E A R P O W E R P L A N T"Pb( by s. berggren, creative computing, dec 80b2: "This program simulates the operation of a Nuclear Power Reactor."b< "The object i print diskm ROWDROW: COLDCOL:  m DCH(DCHAR$)!n IPDSKSPTDSIZE SPT: IPDSK,DCH: IPDSKUn$ IPDSKSPT SPTDSIZE: IPDSK,DCH: IPDSK[n. an8 znB print move counternL ROW: COL: nV "& ###";"Moves:";MOs to operate the plant at a maximum average power"cF "output without causing a reactor meltdown."YcP: "The control rods adjust the amount of heat produced by the"cZ "reactor. Primary coolant transfers this heat to the Heat Exchanger."cd "SVES;n` ZE: IPDSK,DCH: IPDSK[n. an8 znB print move counternL ROW: COL: nV "& ###";"Moves:";MOPT SPTDSIZE: IPDSK,DCH: IPDSK[n. an8 znB print move counternL ROW: COL: nV "& ###";"Moves:";MOecondary coolant transfers this heat from the Exchanger to the":dn "Turbine, where power is produced, and finally to the cooling tower."dx "The emergency coolant is used to help shut down the reactor when"d "other systems fail. Unlike other cosks (q to quit)? "; 2230 C$=INKEY$: IF C$="" THEN 2230 2240 IF C$="q" OR C$="Q" THEN DISKS=0: RETURN 2250 IF C$<"1" OR C$>"7" THEN 2230 2260 PRINT C$; 2270 DISKS=VAL(C$) 2280 RETURN 2290 REM 2300 REM print disk 2310 ROW=DROW: COL=DCOL: GOSUB 2060 olants, emergency coolant is not"e "recycled.":: "Please enter a ";:: CLS$Pe "The controls are operated by entering the desired control rod setting"e "and flow rates. Use values from 0 to 100. If no entry is made, the"e "values wil!  l not change. Use the space bar to step to the desired"1f "functions. When the desired entries have been made, press Return"Uf "to advance to the next day."f "The reactor can be operated until a meltdown occurs or fuel is exhausted."f " SD%SD%j CT%, "COOLING TOWER OVERHEATED":SD%SD%k GO% "Power Output Low"@k EV% "Emergency Coolant Low"qk PV%d "Primary Coolant Low":PD%PD%k SV%d "Secondary Coolant Low":SD%SD%k: "DThe fuel will last for about 100 to 150 days. When the fuel is"&g "exhausted, your performance will be evaluated."qg "If you want to repair damage or replace coolant, bring the reactor"g "temperature below 100 and shut off the coolant flows. amage:"k RD% "REACTOR CORE DAMAGED"7l PD% "PRIMARY COOLANT LEAK - ";PD%;"/Day":PV%(PV%PD%) ((PV%PD%))l SD% "SECONDARY COOLANT LEAK - ";SD%;"/Day":SV%(SV%SD%) (((SV%SD%)))l ED% "EMERGEN This will"h "cause a maintenance shutdown and all coolant will be replenished"@h "and repairs made.":: "There are no safety devices."oh: "Press any key to continue";$();CLS$yh h"RHh,RLh6DAY%h@TThJDMGE%hTCY COOLANT LEAK - ";ED%;"/Day": EV%(EV%ED%)(((EV%ED%)))Xm PB% "PRIMARY COOLANT PUMP FAILURE - "; PD%((PD% )) d(PD% );"%"m SB% "SECONDARY COOLANT PUMP FAILURE - "; SD%((SD% )) d(SD%A%:A1%:A2%h^ *** write report ***hhDAY%DAY%Qir CLS$; );HI$;"G O N E F I S S I O N N U C L E A R P O W"; " E R P L A N T";LO$vi|: "Status report - Day";DAY%:i "Warnings:"i RT%  FL$;"REACTOR OVERHEA );"%"m& XB% "HEAT EXCHANGER FAILURE"m0 GB% "TURBINE FAILURE"7n:: RD% 2);FL$;"M E L T D O W N !";LO$: LKnD "Indicators:"wnN "Reactor temperature (max. 800) ";RT%nX "Heat Exchanger temperature (max. 500) ";XT%nbTED";LO$:RD%RD%(RT%R) (RT%):PD%PD%:ED%ED%(RT%R)ej XT% FL$;"HEAT EXCHANGER OVERHEATED";LO$:XD%XD% (XT%X):PD%PD%:SD%SD%j GO% FL$;"TURBINE OVERLOADED";LO$:TD%TD%(GO% ):  "Cooling Tower temperature (max. 300) ";CT%ol "Power output (max 2000kw) ";GO%;"kW";();ovKW%TTDAY%Io "Average Power Output ";KW%;"kW/day"co "Control Rods: ";A%{o "Coolant Levels:"o "Emergency Level:";EV%;" Flow:";EF%o "Pr"  imary Level:";PV%;" Flow:";PF%o "Secondary Level:";SV%;" Flow:";SF%/p (dRL) : "Reactor fuel exhausted.": BpA2%A1%:A1%A%p "New control rod setting? ";A$: (A$) ZZZ%(A$): ZZZ% ZZZ%d A%ZZZ%:: F%)(PF%SF%)t XB% XT%RT%LuSHSF%(d((PV%d))PV%((PV%d)))^(XT%CT%)0u XB% SHSHL~MuGO%SHXT%(XT%CT%)eu GO%( GO%( wu GB% GO%uCT%((XT%)(SHGO%)(SH)@)u CT%&q "New emergency coolant flow? ";A$: (A$) ZZZ%(A$): ZZZ% ZZZ%EV% EF%ZZZ%:: q "New primary coolant flow? ";A$: (A$) ZZZ%(A$): ZZZ% ZZZ%PV% PF%ZZZ%::  r "New secondar CT%u XB% XB%(XD%) (()fff) v GB% GB%(GD%) (()fff)!vTTTTGO%: ^Mv *** maintenance repair subroutine ***|vEV%,:PV%x:SV%x:RT%:XT%:CT%vDMGE%DMGE%RD%ED%PD%XD%SD%GD%v$MD%y coolant flow? ";A$: (A$) ZZZ%(A$): ZZZ% ZZZ%SV% SF%ZZZ%:: r PF% SF% RH RT%d A% : CLS$;"Maintenance Shutdown - ";MD%;" days.": ZZZ% ': ZZZ%r *** damage assessm( ((RD%))(ED%)(PD%)(SD%)PB%SB%XB%GB%)w.DAY%DAY%MD%Pw8RD%:ED%:PD%:XD%:GD%:SB%:XB%:GB%:EF%:PF%:SF%:GO%Zw=SD%`wB~wL *** meltdown ending ***wV RD% w` "The reactor core has beent and operation calculations ***r EV%EV%EF%ED%(ED%)sPD%PD%(PF%Z)(()33s)5s SD%SD%(SF%Z)(()k)Cs*PB%PD%Qs4SB%SD%s> PF%(dPD% ) PB% PF%(dPD% )((dPD% ))sH SF%(dSD% ) SB% en destroyed by uncontrolled thermal runaway."(xj "However, the containment building has not ruptured. Initiate your"Axt "evacuation plan."Kx~ xx "The reactor core has melted down and produced a steam explosion. The"x "containment buSF%(dSD% )((dSD% ))sRRLRLRH2t\RH(A%A1% L LL:R: >HgC B(L) L L RB( L)RXgH RQ QR`gM IgRQB( )B()Q: C kgWKJ: K KKg\ I N: F(N)e most stones wins.": " "l "To make a move type in the number of your pit (1-6)."0l "(ENTER ANY NUMBER TO CONTINUE)";Z:l Zl "ANOTHER GAME (NO = 1)";Zjl Z xlZ: ~l-6)."0l "(ENTER ANY NUMBER TO CONTINUE)";K(F(I)(C)L}) QQgf Igk I  :B(I)G(I): I hp QD AJ:DQhu J+hzMA: (*M);: Ih I N:PRINTB(I): ISh h "Awari is an ancient African game played with a"h "board divided into 6 pits on %   "AN ENEMY SUB HAS BEEN CAUSING YOU TROUBLE. YOUR"c< "MISSION IS TO DESTROY IT. YOU HAVE";N;"SHOTS."KcF "SPECIFY DEPTH CHARGE EXPLOSION POINT WITH A"|cP "TRIO OF NUMBERS -- THE FIRST TWO ARE THE"cZ "SURFACE COORDINATES; THE THIRD IS THE DEPTH."cd: "GOOD LUCK !": cnA(G()): B(G()): C(G())&dx D N: : "TRIAL #";D; : X,Y,ZLd (XA)(YB)(ZC) ,^d : : Dd: "YOU HAVE BEEN TORPEDOED! ABANDON SHIP!"d "THE SUBMARINE WAS AT";A;",";B;",";C: d,: "B O O M ! ! YOU FOUND IT IN";D;"TRIES!"e: : "ANOTHER GAME (Y OR N)";A$/e A$"Y" d^e "OK. HOPE YOU ENJOYED YOURSELF.": Xe "SONAR REPORTS SHOT WAS ";e YB "NORTH";e YB "SOUTH";e XA "EAST";e XA "WEST";e& YB XA " AND";f0 ZC " TOO LOW.",f: ZC " TOO HIGH."GfD ZC " DEPTH OK."MfNSfX";e& YB XA " AND";f0 ZC " TOO LOW.",f: ZC " TOO HIGH."Gfaa );"DEPTH CHARGE"b );"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"b: : 0b "DEPTH CHARGE GAME": Vb "DIMENSION OF SEARCH AREA";G: nbN((G)())b( "YOU ARE THE CAPTAIN OF THE DESTROYER USS COMPUTER."b2&   in drive A and this disk in drive B. At the A> prompt, type B: At the B> prompt, type A:MBASIC Following the Ok prompt, type RUN "filename" where filename represents the name of one of these games. The quotation marks are required. To start the menu driven games, type after B> A:MBASIC MENU or type after Ok RUN "MENU" Jim Woolley FOG Disk Librarian August, 1982  DISK.DOC -FOG/GAM.007 First Osborne Group (FOG) Games Disk This disk contains MBASIC games. AWARI, DCHARGE, GAMMON, HANOI (an interesting display of graphics), & NUCREAC are from the Osborne Users Group (OUG) in the Washington, D.C. area. HEXAPAWN is from the Northwest Osborne Users Club in the Oregon & Washington area. BIO-FF is from -CPMUG.005. CHECKERS is from -CPMUG.013. CRAZY-8 is from -CPMUG.026. MENU, BUBBLE, DESIGN, ETCH, & SEARCH were submitted by Archie Abaire, Jr., of Richmond, VA. All of these are menu driven; first run MENU. DESIGN & ETCH (see E-SKETCH on -FOG/GAM.003) both use graphics. See *.DOC files for information. To run these games, place MBASIC'   DISK.DOC -FOG/GAM.007 First Osborne Group (FOG) Games Disk This disk contains MBASIC games. AWARI, DCHARGE, GAMMON, HANOI (an interesting display of graphics), & NUCREAC are from the Osborne Users Group (OUG) in the Washington, D.C. area. HEXAPAWN is from the Northwest Osborne Users Club in the Oregon & Washington area. BIO-FF is from -CPMUG.005. CHECKERS is from -CPMUG.013. CRAZY-8 is from -CPMUG.026. MENU, BUBBLE, DESIGN, ETCH, & SEARCH were submitted by Archie Abaire, Jr., of Richmond, VA. All of these are menu driven; first run MENU. DESIGN & ETCH (see E-SKETCH on -FOG/GAM.003) both use graphics. To run these games, place MBASIC in drive A and this disk in drive B. At the A> prompt, type B: At the B> prompt, type A:MBASIC Following the Ok prompt, type RUN "filename" where filename represents the name of one of these games. The quotation marks are required. To start the menu driven games, type after B> A:MBASIC MENU or type after Ok RUN "MENU" Jim Woolley FOG Disk Librarian August, 1982