}Games;)C$MAZEGO2`3)BIORHYTHMBS *BATTLESHIPBS#%CHESSGO:QOQ'HANGMANBS'BOWLINGBS,7MasterMind-instructionsDT%FLIESBS$SLOTBS*BACKGAMMONBS(CALENDARBS&CUBISMBS $LIFEGO22*MASTERMINDBS'OTHELLOBS"%PRIMEBSA`3a3dnx*2}-2?|g}o2"2#n2ͣ2/?wf2n2ͣ2?wf2n2ͣ2?wf2n2ͣ2:2!2K ~22~o&))>gz?o~ʘ26?:2ڢ2ʪ2>/22$"!421DBATRQdbatrq> $ 2- Maze Generator and Digital Rat V 1.1 by James Neighbors and R. T. Martin Type CTRL-Y to STOP and, TAB to START! *-+!2"-!3"-> 2-*2:-_: W}o"2!2  2} ¡3>}27 2} ?/ڳ3>-2 7̓5 2:7G}33~27:72"7>274͜5:"727>275!" Xv: 3Ò32#72$72%72&7:#7!$7!%7!&7&4 2};4=ʐ4=445:727g:7G:7ʈ4҈4:7o\2ʈ4:7g$:7o:2$:2:7274:7272$72%72&7>2#74:7274:7g:7o\24:7g%:7o:2%:2:7274:7272#72%72&7>2$74:727: 7G:7,5:7g:7o\2,5:7g:7o,:2,:2:7274:7272#72$72&7>2%74:727{5:7g:7o\2{5:7g:7o-:2-:2:7274:7272#72$72%7>2&74> $ :7g: 7o(2-5%Œ5:"7g.:2 2:7G}ڷ5ү527:7g: 7o-\2¥5:7g: 7o:2>2!7 2}x5P522 2}x5P522 2}x5P522 2}x6P622:7g:7o(2vvvv:!76D6n6Ø6:7g$:7o\2n6:7<27:727>2!7:26:7g:7o,\2˜6:727:7<27>2!7:26:7g%:7o\26:7=27:727>2!7:26:7g:7o-\26:727:7=27>2!7:26D6:7g:7o:2: 7G:7:7G:7:727:72761 FILE:2,LIST 120 DIM F(12),Z$(20:40),O$(1:60) 130 READ K 140 FOR I=1 TO 12\ READ F(I)\ NEXT 150 DATA 6.283185,31,28,31,30,31,30,31,31,30,31,30,31 160 PRINT"* * * * * * * BIORHYTHM * * * * * * *" 170 INPUT "Enter the name ",Z$ 180 PRINT "Enter birthdate : " 190 INPUT "Month ?",M1 200 INPUT "Day of month ?",D1 210 INPUT "Year ?",Y1 220 IF Y1>99 THEN 250 230 Y1=Y1+1900 240 PRINTY1 250 M2=M1\ D2=D1\ Y2=Y1 260 GOSUB 1080 270 P1=P2 280 PRINT "Enter starting date for chart :" 290 INPUT "Month ?",M2 300 INPUT "Day of month ?",D2 310 INPUT "Year ?",Y2 320 IF Y2>99 THEN 350 330 Y2=Y2+1900 340 PRINTY2 350 GOSUB 1080 360 INPUT "Length of chart in days ?",L 365 IF L<32 THEN 370 366 PRINT"Sorry. Chart is limited to 31 days."\GOTO 360 370 REM* CALCULATE OFFSET * 380 X=M1 390 GOSUB 1180 400 J1=J2+D1+Y1*365 410 IF J1<639723 THEN P1=8 420 X=M2 430 GOSUB 1180 440 J2=J2+D2+Y2*365 450 IF J2<639723 THEN P2=8 460 N1=Y2-.1 470 O=J2-J1+INT(N1/4)-INT(Y1/4)-INT(N1/100)+INT(Y1/100) 475 O=O+INT(N1/400)-INT(Y1/400) 480 IF M1>2 THEN 520 490 X=Y1 500 GOSUB 1320 510 O=O+X 520 IF M2>3 THEN 560 530 X=Y2 540 GOSUB 1320 550 O=O+X 560 REM* PRINT CHART HEADER * 570 PRINT:2, TAB(10),L," Day Biorhythm Chart for ",Z$, 580 PRINT:2, " Beginning ",M2,"-",D2,"-",Y2 590 PRINT:2, TAB(10)," P=Physical E=Emotional I=Intellectual" 600 PRINT:2 610 PRINT:2, TAB(13),"Down",TAB(34),"Critical", 620 PRINT:2,TAB(62),"Up" 630 PRINT:2, TAB(13),"--------------------------------------------------" 640 REM * SET F(2) TO 29 FOR LEAP YEARS* 650 X=Y2 660 GOSUB 1320 670 F(2)=F(2)+X 680 REM* GENERATE PLOT * 690 L=O+L 700 C=0 705 O1=MEM(O$) 710 FOR O=O TO L-1 720 C=C+1 730 O$=" ! " 740 Y=0 750 X=(SIN(K*(O/23-INT(O/23)))*25)+26 760 POKE O1+X,80 770 Y=Y+X 780 X=(SIN(K*(O/33-INT(O/33)))*25)+26 790 POKE O1+X,73 800 Y=Y+X 810 X=(SIN(K*(O/28-INT(O/28)))*25)+26 820 POKE O1+X,69 830 GOSUB 1080 840 ON P2 GOTO 1240,1250,1260,1270,1280,1290,1300,1310 850 PRINT:2, D$,M2,"-",D2,TAB(13), 860 PRINT:2,O$, 870 IF M1=M2 AND D1=D2 THEN 890 880 PRINT:2\GOTO 900 890 PRINT"Happy birthday,",Z$ 900 IF P2=8 THEN 930 910 P2=P2+1 920 IF P2>7 THEN P2=1 930 D2=D2+1 940 IF D2>F(M2) THEN 960 950 GOTO 970 960 D2=1\ M2=M2+1 970 IF M2<13 THEN 990 980 M2=1\ Y2=Y2+1 990 X=Y2\ F(2)=28 1000 GOSUB 1320 1010 F(2)=F(2)+X 1020 NEXT 1030 REM 1060 PRINT:2 1070 STOP 1080 REM*find day of week * 1090 N1=M2+12*INT(.6+1/M2) 1100 N2=Y2-INT(.6+1/M2) 1110 N3=INT(13*(N1+1)/5) 1120 N4=INT(5*N2/4) 1130 N5=INT(N2/100) 1140 N6=INT(N2/400) 1150 N7=N3+N4-N5+N6+D2-1 1160 P2=N7-7*INT(N7/7)+1 1170 RETURN 1180 REM* FINDDAYS LOGENDED IN PRIOR MONTHS * 1190 J2=0 1200 FOR I=1 TO X-1 1210 J2=J2+F(I) 1220 NEXT 1230 RETURN 1240 D$="Sun"\ GOTO 850 1250 D$="Mon"\GOTO 850 1260 D$="Tue"\ GOTO 850 1270 D$="Wed"\ GOTO 850 1280 D$="Thu"\ GOTO 850 1290 D$="Fri"\ GOTO 850 1300 D$="Sat"\ GOTO 850 1310 D$=" "\ GOTO 850 1320 REM* CHEX FOR LEAP YEARS * 1330 IF X/400-INT(X/400)=0 THEN 1360 1340 IF X/100-INT(X/100)=0 THEN 1380 1350 IF X/4-INT(X/4)<>0 THEN 1380 1360 X=1 1370 RETURN 1380 X=0 1390 RETURN 10 ON ESCAPE GOTO 9000 \REM reset screen limits. 100 PRINT CHR$(12),TAB(27),"BATTLESHIP" \PRINT\PRINT\PRINT 105 DIM0 110 RANDOMIZE 120 DIM G(3,9,9),E(5),Y(5) 130 DIM R(10),C(10) 140 DIM S(5),S$(1:80),Z$(1:72),C$(1:10) 150 DEF FNF(Z)\REM flasher function 152 FOR Z9=1 TO 5\Z1=PEEK(Z-1) \Z2=PEEK(Z) \Z3=PEEK(Z+1) 154 POKE Z-1,127 \POKE Z,127 \POKE Z+1,127 \PAUSE 15 156 POKE Z-1,Z1 \POKE Z,Z2 \POKE Z+1,Z3 \PAUSE 15 158 NEXT \RETURN 0 \FNEND 168 DEF FNR(R)=INT(RND(0)*R) 170 PRINT "The ship's a bit rocky, sir!" 180 PRINT"Better wait a moment before you board her." 190 GOSUB 1340 200 PRINT\PRINT" s p l i s h" 210 P=0\GOSUB 1190\REM initiate your fleet 220 PRINT\PRINT" s p l a s h" 230 P=1\GOSUB 1130\REM clear your slate 240 PRINT\PRINT" s w i s h l e" 250 P=2\GOSUB 1190\REM initiate enemy's fleet 260 PRINT\PRINT" g u r g l e" 270 P=3\GOSUB 1130\REM clear enemy's slate 271 PRINT 272 INPUT "Do you need to be briefed, sir (Y/N) ?",C$ 274 IF MID$(C$,1,1)<>"N" THEN GOSUB 510 276 GOSUB 300 280 GOTO 1440 290 END 300 IF C9=1 THEN C9=0\REM board print out 310 PRINT" Y O U R F L E E T",TAB(32), 320 PRINT" Y O U R S L A T E", 321 PRINT 350 Z$=" . T A B C D * <0>" 360 PRINT" A B C D E F G H I J",TAB(31), 365 PRINT" A B C D E F G H I J", 367 PRINT " ", 370 FOR J = 0 TO 9 375 FOR P=0 TO 1 377 IF P=1 THEN PRINT TAB(32), 380 PRINT " ",CHR$(48+J), 390 FOR K = 0 TO 9 400 ON P+1 GOTO 420,440 410 GOTO 460 420 IF G(P,J,K)+1=7 THEN PRINT" . ", \GOTO 460 425 PRINT MID$(Z$,(G(P,J,K)*3)+1,(G(P,J,K)*3+3)), 430 GOTO460 440 IF G(P,J,K)+1<7 THEN PRINT" . ", 450 IFG(P,J,K)+1>=7THENPRINTMID$(Z$,(G(P,J,K)*3)+1,(G(P,J,K)*3+3)), 460 NEXT K 465 NEXT P 480 NEXT J 490 IF S<>0 AND P<>1 THEN C9=1 495 PRINT\PRINT\PRINT 500 RETURN 510 REM INSTRUCTIONS 530 PRINT\PRINT\PRINT 540 PRINT" W E L C O M E T O B A T T L E S H I P !" 550 PRINT\PRINT 560 PRINT"You have five ships (a tanker,a cruiser,a destroyer,an aircraft" 570 PRINT"carrier,and a battleship) and the enemy's fleet has five ships." 580 PRINT"Neither knows the other's position but both of you will try to" 590 PRINT"sink the other's fleet. The first to succeed in this is the" 600 PRINT"ruler of the high seas. You start by entering the location" 610 PRINT"that you wish to hit (i.e. C3 ). You will be told if a hit" 620 PRINT"or a miss has occured. If you sink a ship you will be informed" 630 PRINT"of the type of ship you sunk. Then the enemy will take a shot" 640 PRINT"at sinking you. Each will alternate till one of the fleets has" 650 PRINT"been sunk." 660 PRINT 730 WAIT 740 PRINT\PRINT\PRINT\PRINT 750 RETURN 760 REM get a coordinate 770 GOTO 820 780 PRINT\PRINT" E R R O R !" 790 C9=1 800 PRINT"Enter the letter and the number and hit return." 810 PRINT\PRINT"Now sir, what is your", 820 PRINT" coordinate", 830 INPUT C$\IF C$="" THEN C$=" " 900 IF LEN(C$)<>2 OR ASC(C$,2)<48 OR ASC(C$,2)>57 THEN 780 910 R=VAL(MID$(C$,2,2)) 920 C=ASC(C$,1)-65 930 C$=MID$(C$,2,2) 940 IF R<0 OR R>9 THEN 780 950 IF R<0 OR R>9 THEN 780 960 IF C<0 OR C>9 THEN 780 970 IF G(1,R,C)<6 THEN 1010 980 PRINT\PRINT" E R R O R ! ! !" 990 PRINT"That location has already been tried sir!" 1000 GOTO 810 1010 RETURN 1020 PRINT"Oh lord! It's another miss, sir."\RETURN 1030 PRINT"Miss",M," sir."\RETURN 1040 PRINT"Oh, where the blazes can they be sir?"\RETURN 1050 PRINT"Nice try sir. Still it's a miss."\RETURN 1060 PRINT"...another miss sir. That's number",M,"!"\RETURN 1070 PRINT"....miss",M," sir."\RETURN 1080 PRINT"Damn! Damn! Damn! We've missed again sir."\RETURN 1090 PRINT"....yet another miss sir."\RETURN 1100 PRINT"...Miss...Miss...Miss! Sir! Where are they!"\RETURN 1110 PRINT"The bastards are well hidden sir!"\RETURN 1120 GOTO 2680 1130 REM set up one random board 1140 FOR J=0 TO 9 1150 FOR K = 0 TO 9 1160 G(P,J,K)=0 \REM clear the area 1170 NEXT K\ NEXT J 1180 RETURN 1190 GOSUB 1130 1200 J=1 \REM fake loop for j=1 to 5 1210 C1=FNR(2) 1220 R1=0 1230 IF C1=0 THEN R1=1 1240 C2=FNR(10-S(J)*C1) 1250 R2=FNR(10-S(J)*R1) 1260 FOR K = 0 TO S(J)-1 1270 IF G(P,R2+R1*K,C2+C1*K)<>0 THEN EXIT 1210 1280 NEXT K \REM finish checking it is clear 1290 FOR K = 0 TO S(J)-1 1300 G(P,R2+R1*K,C2+C1*K)=J 1310 NEXT K 1320 J=J+1 \IF J<6 THEN 1210 1330 RETURN 1340 REM initialize the ships 1350 DATA"tanker"\S(1)=3\REM this is it's name and length 1360 DATA"aircraft carrier"\S(2)=5 1370 DATA"battleship"\S(3)=4 1380 DATA"cruiser"\S(4)=3 1390 DATA"destroyer"\S(5)=2 1400 R3=10\C3=10 1410 Y=0\E=0\S=0\M=0 1420 FOR J=1 TO 5\E(J)=S(J)\Y(J)=S(J)\NEXT 1430 RETURN 1440 REM main game is here 1500 P=0 1530 P=1 1540 POKE 3103,27 1550 PRINT\PRINT 1560 IF S<>0 THEN PRINT 1570 IF S=0 THEN C9=1 1580 S=S+1 1590 PRINT"Ready to blast sir! What is your", \T9=1 1600 GOSUB 760 1610 PRINT 1620 G(1,R,C)=6\REM set up to record a miss 1625 R0=6272+64*R+35+3*C 1630 IF G(2,R,C)=0 THEN 2080 1640 T=G(2,R,C) 1650 G(2,R,C)=7\REM it's a hit 1655 POKE R0-1,188 \POKE R0+1,190 \POKE R0,176 \REM make <0> 1657 Z=FNF(R0) 1660 G(1,R,C)=7 1670 E(T)=E(T)-1 1680 Y=Y+1 1700 PRINT 1710 FOR J=1 TO 6 1720 PAUSE 20 1730 PRINT" B O O M",\NEXT 1760 PAUSE 120 1770 PRINT 1780 IF E(T)>0 THEN 2150 1790 PRINT" Sir! Their ", 1800 RESTORE\FORI=1 TO T\READ S$\NEXT\PRINTS$," has been sunk!" 1810 PAUSE 180 1820 PRINT 1830 PRINT"So far the enemy has sunk..." 1850 F=0 1860 FOR J = 1 TO 5 1870 IF Y(J)<>0 THEN 1910 1880 IF F=1 THEN PRINT" and", 1890 F=1 1900 PRINT" our ",\RESTORE\FORI=1TOJ\READS$\NEXT\PRINTS$,"..." 1910 PAUSE 60\NEXT 1920 IF F=0 THEN PRINT"none of our ships sir!" 1930 F=0 1940 PAUSE 180 1950 PRINT\PRINT"A N D W E ' V E S U N K . . . . " 1970 FOR J = 1 TO 5 1980 IF E(J)<>0 THEN 2020 1990 IF F=1 THEN PRINT" and", 2000 F=1\PAUSE 60 2010 PRINT" their ",\RESTORE\FOR I=1 TO J\READ S$\NEXT\PRINTS$,"..." 2020 NEXT 2030 IFF=0THENPRINT" none of their ships! How could you, sir!" 2050 C9=1 2060 PAUSE 180 2070 GOTO 2150 2080 PRINT" s p l a s h ", 2085 POKE R0,128+42 \REM make * 2087 Z=FNF(R0) 2090 M=M+1 2100 IF M=1 THENPRINT" too bad sir. It's a total miss." 2110 IF S=2 AND M=2 THENPRINT"...a terrible way to start, sir." 2120 IF M=2 AND S<>2 THEN PRINT"...I'm afraid you missed again, sir." 2130 IF M>2 THEN GOSUB 2990 2140 PAUSE 120 2150 REM---------------check for a win---------------------- 2160 IF Y>16 THEN 2190 2170 IF E>16 THEN 2630 2180 ON T9 GOTO 2250,1530 2190 PRINT"You did it, sir!" 2200 PRINT"You sunk the entire fleet!" 2220 INPUT "Shall we do it again sir (Y/N) ?",Q$ 2230 IF MID$(Q$,1,1)="Y" THEN 170 2240 GOTO 2680 2245 REM--------------enemy's turn begins here--------------- 2250 PRINT \T9=2 2260 IF R3<10 AND H5<2 THEN GOSUB 2690 2270 IF R3<10 AND H5<2 THEN 2340 2280 IF R3<10 THEN 2810 2290 H5=0 2300 R=FNR(10)\C=FNR(10) 2310 IF G(0,R,C)>5 THEN 2300 2320 IF ((R+C) AND 1)<>1 THEN 2300 2330 R4=R\C4=C 2340 PRINT"The enemy fires on our location ", 2350 PRINTCHR$(C+65),CHR$(R+48)," sir."\PRINT 2355 R0=6272+64*R+3+3*C 2360 IF G(0,R,C)=0 THEN 2560 2370 W=G(0,R,C) 2380 E=E+1 2390 G(0,R,C)=7 2400 G(3,R,C)=7 2405 POKE R0-1,188 \POKE R0+1,190 \POKE R0, 176 \REM make <0> 2407 Z=FNF(R0) 2410 Y(W)=Y(W)-1 2420 PRINT"They've hit our ",\RESTORE\FOR I=1 TO W\READ S$\NEXT 2430 PRINTS$," SIR!" 2440 R3=R\C3=C 2450 H5=H5+1 2470 PAUSE 180 2480 IF Y(W)<>0 THEN GOTO 1530 2490 PAUSE 120 2510 PRINT"In fact sir the enemy has sunk our ", 2520 RESTORE\FOR I=1 TO W\READ S$\NEXT\PRINTS$,"!" 2530 PAUSE 180 2540 R3=10\C3=10 2550 GOTO 1810 2560 PRINT"They missed us, sir." 2570 G(0,R,C)=6 2580 G(3,R,C)=6 2585 POKE R0,170 \REM make * 2587 Z=FNF(R0) 2590 IF C9=0 THEN 2620 2600 PAUSE 180 2620 GOTO 1530 2630 REM enemy wins! 2640 PRINT"The enemy has sunk our last ship!" 2650 PRINT"We've lost the fleet, sir." 2660 INPUT"Shall we engage in another battle, sir (Y/N) ?",Q$ 2670 IF MID$(Q$,1,1)="Y" THEN 170 2680 GOTO 9000 2690 REM pick a direction 2700 R5=0\C5=0\T5=0\F5=0 2710 P=FNR(4) 2720 IF P=0 THEN R5=1 2730 IF P=1 THEN R5=-1 2740 IF P=2 THEN C5=1 2750 IF P=3 THEN C5=-1 2760 IF R3+R5>9 OR R3+R5<0 THEN 2690 2770 IF C3+C5>9 OR C3+C5<0 THEN 2690 2780 IF G(0,R3+R5,C3+C5)>5 THEN 2700 2790 R=R3+R5\C=C3+C5 2800 RETURN 2810 REM search and destroy a hit 2820 T5=T5+1 2830 R(T5)=R3\C(T5)=C3 2840 IF G(0,R3,C3)=6 THEN 2910 2850 IF R3+R5>9 OR R3+R5<0 THEN 2910 2860 IF C3+C5>9 OR C3+C5<0 THEN 2910 2870 IF G(0,R3+R5,C3+C5)>5 THEN 2910 2880 R3=R3+R5\C3=C3+C5 2890 R=R3\C=C3 2900 GOTO 2340 2910 REM get a new direction 2920 F5=F5+1 2930 IF F5>1 THEN 2970 2940 R5=R5*-1\C5=C5*-1 2950 R3=R4\C3=C4 2960 GOTO 2830 2970 R3=10\C3=10 2980 GOTO 2250 2990 REM ensign's remarks on misses 3000 R0=INT(10*RND(0))+1 3010 ON R0 GOTO 1020,1030,1040,1050,1060,1070,1080,1090,1100,1110 9000 PRINT\PRINT "Thank you for the contest, sir!" 9010 POKE 3103,24 \STOP X0  * @ ֝O  ֝O)4!O2 9494ǫƔĪ *k)RQ㼆m  2qȕSWe,* P T*P!:P:qȕ@QĠ1R`"[q*&)/ h*h2%*_q="_q hh֤PKING QUEEN ROOK BISHOPKNIGHTPAWN CH ERR8   @@Ѐ )_ Q19Ot:PQ:P2P:P:P/<2P:P]:P=S*P&~P~2P:P*P&vP~2P:P*P&nP~2P:P*P&fP~2P:P*P&^P~2P:P*P&VP~2P:P*P&NP~2P:P*P&FP~2P:Pm:P=S*P&~P:Pw*P&vP:Pw*P&nP:Pw*P&fP:Pw*P&^P:Pw*P&VP:Pw*P&NP:Pw*P&FP:Pw!P6}.~= S!P6 -6*P&P*P&P~w!P4>LRÞS!P6P.6-6.6*P&P*P&P~w!P4>RÞS!P6N.6-60.6*P&P*P&P~w!P4>RÞS!P6B.6 -6 .6*P&P*P&P~w!P4>RÞS!P6R.6-6.6*P&P*P&P~w!P4>SÞS!P6Q.6-62.6*P&P*P&P~w!P4>KSÞS!P6K.62-6.6*P&P*P&P~w!P4>~S:P2P:P2P#Q:P2P:P2P2P:P2PQ:P2P2P3R:P2P:P2P#Q:P2P:P2P2P:P2PQ:P2P2P3R:P2P:P2P#Q:P2P:P2P2P:P2PQ:P2P= S:P!P.wQ_>Y:P!P.wQ_>Y:P2P:P2P#Q:P2P:P2P_>U:P2P:P2P#Q:P2P:P2PT:P!P_~Y@U:P!P_~U~Y.~Y>.w.~.w#Q:P2PY:P!PYY:P2P:P2P#Q:P2P:P2PUU:P!P_~Y:P!P.wQYY:P!P_~U~Y.~Y>.w.~.w#Q:P2PYU:P!P.wQ_>Y:P!P.wQ_>Y:P!PY.~.ȖY,~.̖.wQ:P!P.wQ_YY:P!PʗV.~.ȖY,~.̖.wQY:P!PWV~.w.~.w:P2P:P2P#Q:P2P:P2PY!P4:P'VY:P2P:P2 P:P2P:P2P#Q:P2P:P2PY!P4: PgVY:P!P.wQY:P!PV~.w.~. w:P2P:P2P#Q:P2P:P2PY!P4: PVY:P2P:P2 P:P2P:P2P#Q:P2P:P2PY!P4: PWY:P!P.wQ:P!P.wQ_Y:P2P:P2P:P!P.wQ‚W:P!P.wQY:P!PW.~.˖W-6-~.̖. w:P2P:P2P:P2P:P2P#Q:P2P:P2PY!P4: PWY:P!PDX.~.ȖDX.6.~.ɖ. w:P2P:P2P:P2P:P2P#Q:P2P:P2PY!P4: PXY:P!PX,6.~.ɖ.w:P2P:P2P:P2P:P2P#Q:P2P:P2PY!P4:P\XY!P6-~.̖.w:P2P:P2P:P2P:P2P#Q:P2P:P2PY!P4:PXY:P!PU.~.ȖU1W:P!P.wQ_>Y:P!P.wQ_>Y:P!P;Y.~-Y:P2P:P2P:P2P:P2P>!PY>-Y,~Y-~Y,~.w.~.w#Q:P2P:P2P:P2P:P2P#Q:P2P:P2PтY!P4:P[Y!P4:PKY!P6!P6:P8[:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P>2PͷQ:P2P:P2P!P6.~.w!P6.~.w:P2P:P2P#Q:P2P:P2PZT:PʹZ!P4:PsZ!P4:PhZþZ!P6:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P:P2PͷQ:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P>2P2P2P:P2P:P2P>2PͷQ:P2P:P2P:P!P[~.w:P!P[~.w!P6.~.w!P6.~.w:P2P:P2P#Q:P2P:P2P]:P2P:P2P:P2P:P2O:P2P:P2P#Q:P2P:P2P_>\T:P\:P2P:P2P#Q:P2P:P2P2P:P«\!P6 :P2PQ:P2P:P2P:P2P#Q:P2P:P2P_Y:P!P\.~.w!P4:OO\!P4:PC\!P4:P\!P4:P \.~.w.~.w.~.w.~.w.~.ɖC].~.w:P!PS].~.wT:Pi]!P6.~w:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P:P2PͷQ:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P>2PͷQ:P2P:P2P:P2P:P2P#Q:P2P:P2P ʥ^:P2P:P2P!P6!P6:P2P:P2P#Q:P2P:P2P^T:Po_!P4>^!P4>^.6:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P:P2PͷQ:P2P:P2P:P2P!P6^:P2P:P2P#Q:P2P:P2P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P>2PͷQ:P2P:P2P:P2P:P2O:P2P:P2O:P2P:P2P#Q:P2P:P2P_>`!P6!P6:P2P:P2P#Q:P2P:P2P_>`T:Pʊ`]:Pʸ`!P4>P`!P4>K`!P4:O"`!P4:O`.6d:P2P:P2P:P2P:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P:P2PͷQ:P2P:P2P:P2P>2P:P2P#Q:P2P®a:P2P!P6.6!P6:P2P:P2P#Q:P2P:P2PaT:Pʦa!P4>ba!P4>]aóa!P6óa!P69v!P6.~a.6:Pa!P6:Pa!P6:PHb9vͥ!a22P:P)b:Pb!P6!P63a!P4>bHb!P6:P;b!P63a!P4>.b:Pʖb!P69vփ:P=S9v$c9v $c9vA$c9vc$c9v$c9v$c!P6>.w>.w>.wͷQ:Pb>2P>2P> 2PͷQ>2P>2P>2PͷQ>2P>2P>2PͷQ$c>2P>2P> 2PͷQ>2P>2P>2PͷQ>2P>2P>2PͷQ!P6.~.w.~.w#Q:P2P:P2Pnc:P2P:P2P#Q:P2P:P2Pc:P2P:P2O:P2P:P2O:P2P:P2P#Q:P2P:P2P_>cT:Pc!P4:Oc!P4:Ozc!P6c!P6-6%c:PYd!P4>c>.w,w.69[:PYd>2P>2P>2PͷQ>2P>2P>2PͷQ>2P>2P>2PͷQ!P6>.w>.w>.wͷQ!P6!P6-6%c:P!P4>bd>,w.w-6.69[:P>2P>2P>2PͷQ>2P>2P>2PͷQ>2P>2P>2PͷQ!P6>.w>.w>.wͷQ!P6!V69v!"O9v*O#"O> >d!V6!"O*O6?*O#"O>>e!"O*OO6*O#"O>>.e!"O*OO6?*O#"O>>Me! "O*OO*OO~w*O#"O> >le!"O*O6?*O*OO~w*OO*OO~w*O*OO~w*O#"O> >e!"O*O6?*O#"O>>e!"O*O6*O#"O>> f! "O*O*O~w*O#"O> >+f!"O*O*O~w*O*O~w*O*O~w*O#"O> >Wf!6.6.6.6.!6.%6.)6.-6.L6.6.6! 6.L6.6.6! 6!P6!P6S:P i:Pv2P:P!P&g.~/?w.~/?w-~/?w:P=S*P&O:Pw:Po&O:Pw:P2P:P2P#Q:P2P:P2Pg:Po&O:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2Pg:Po&:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2P%h:Po&:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2Pwh:Po&:Pwi*P&O:Pw:Po&O:Pw:P2P:P2P#Q:P2P:P2Ph:Po&O:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2Pi:Po&:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2Pmi:Po&:Pwi*P&:Pw:Po&:Pw:P2P:P2P#Q:P2P:P2Pi:Po&:Pwi!P4>f!P4>f9v9vՅ>2P2P>2P2P2P2P!O6*O&>P6!O6:O2P:O2P#Q:P2O:P2O_>j:O!P?j:Ow:O!PMj:Ow:P!O[j~2P:P!Oij~2P:O2P:O2P#Q:P2O:P2O k:O2P:O2P:O2P:O2P#Q:P2O:P2Ok:P!Oj~2P:P!Oj~2P:O2P:O2P#Q:P2O:P2Ok:O2P:O2P!O4> j!O4>i!P6>.w.w.6.~2O!P6.~2O:P2P:P2P#Q:P2P:P2Pm!P6!P6:P2P:P2P#Q:P2P:P2PmT:Pm9[:P m:Pw_*Ov"O*O|k*Oog"O*O"O*OA O VO O :P!P.wQ:P!P.wQтogA O :PogA O :PFl*P&P:*P&P:O O ͎zZOOO O :P6m:Pm:P„l͎zOV O :Pl>!Pl~ªl͎zOV O >!Pl͎zO^ O :P6m:Pm:Pl͎zO^ O :Pm͎zOV O :P6m:Pm͎zOV O :P6m͎zOV O ͎zO 2P:P2P:P2P#Q:P2P:P2P!P2O.~–m.~.w.~.w#Q:P2P:P2P–m:O2O:O!Pm:Ow.~.w.~.w.~-w.~.w.~.w!P4>ek!P4>`k!P4:O9k!P4:O.k.~p.~!n>.!n.~nZd:Pp:P!nc:P2P:P2P:P2P:P2P͟S:P2P:P2P#Q:P2P:P2Pwn:P!P_~wn*P&>P69vb!!Pv:Pcv:Pcv:P2P:P2P#Q:P2P:P2PnS9v!!Pv:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:Po9v:P2P:P2P>2PͷQ:P2P:P2P:PŠo:P2P:P2P#Q:P2P:P2PŠo9vɆ:P2P:P2P>2PͷQ:P2P:P2P9v:P!P®o.~.®o.~.w.~.w:P2P:P2P#Q:P2P:P2Po!P6:P2P:P2P#Q:P2P:P2Pp:Pp!P6:Pp!P69vp!"O!"O!"O*O#"O>ȕ>,p*O#"O>ȕ>&p*O#"O>> pd:Pq>!Pp.~.w.~.w.6!P6:P2P:P2P#Q:P2P:P2P_>pT:Pʛt!P4>p!P4>p9v:Pcv9v7üt:P2P:P2O:P2P:P2O:P2P:P2P#Q:P2P:P2P_>oq!P6!P6:P2P:P2P#Q:P2P:P2P_>[qT:P[q]:Pʠq!P4>!q!P4>q!P4:Op!P4:Op.~p9vG9vk:Pcvüt9vͥ!q22P22P:P qʹa:Pʠq:P2Pît>!Pr>-r,~r-~r,~.w.~.w#Q:P2P:P2P_>r#r9vàq͟S9vч!!Pvͥ!&r22P22P:Pʠq>!Pr>-r,~r-~r,~.w.~.w#Q:P2P:P2P_>r9vàq:P&s:P&s:P!P.wQ&s:P2P:P2P#Q:P2P:P2P&s*P&>P~&s]:P2PͷQ:P2P:P2P9vÃsT:PAs]:PIs9vJ9vkàq:P2P:P2P#Q:P2P:P2PʃsS9v~!!Pv:P2P:P2P:P2P:P2P#Q:P2P:P2P2PͷQ:P2P:P2P:P2P:P2P:P2P#Q:P2P:P2P s!P6:P2P:P2P#Q:P2P:P2P)t:Pt!P6:P)t!P6:P2P:P2P>2PͷQ:P2P:P2P:P2P:P2P#Q:P2P:P2P®t:P®t:P2P:P2P>2PͷQ:P2P:P2P9vît9vˆ9v:Pcvüt9v:Pd!P69vͥ!t22P:Pi!P͎zW !#P͎zW !'P͎z[ !+P͎zV !/P͎z_ !3P͎z[ !7P͎zW !;P͎zW !P6-6>.w,w.w>.w,w,w.w>.w,w,w.6!"O*O~P*OOw*OvP6*OnP6*OfP6*O^P6*OVP6*ONP6*OFP*OO~w*O>P6*O#"O>>vu!P6ip:Putg ȇ)vvDM!>=))v vwwwyxx0xxx!xv@x!Hv!Hv! >2O"O^#V#"O!"Opvog2O/2O*O~v0x:O<2O~O#"O!pv!#v ~#fo"O͎z!9O~#°v!9*O>2O/lv )))<w )))))=w>2O O )7w"O ww)w)w)*O~;w1w~5w~͝vFw#fogvcv {zw{w`w-$Sw! y}0%wͪy{Swͪy{wzwSw xg xƐ'@'͓wAqw͓w2O:Ov< O͓w͓w͓wo"O͓wLx@x:O!))y y=yogɱ~D}zzp{{G|j~z{u~~~~~~~ +~FLOAT#0{1yLEx|__BM/zyz/<)K9#͚! 9<$!9$!w+z#{V1! 9$!9~_{T]#~6{ '{ÎzJ{~# ?{U{=zV{>͚͚pÎz!9~+0Z|M|6|#y||!6zy|p|xO/Gog)L))oy§||<|G~#0|w+>|  |/o&## }=+Hᄄ!9.0 &&z@Ox怱!96#3w{!9!9~h}~h}+S}6@! 9~pڌ}y!6z}Ã}x/!%z=–}! 96O~怱wxOG~'w+}>}wyO}} ~ ~4%}/_!^9+60%~GD~L~L~<~0w# X~OxGÎz!9~wÎz}ob{=~ү~>))Ҙ~=~ Ž~zڰ~¯~_W}|͑!9Îz!9Îz͑!!9~͑!9Îz͑!9Îz! 9^#V]T ###Îz )))~))~|GPog|`)))) Ry@MoÎz!9!9^#V#ɷ/_&#w+'@_z怳!9!K9!8~+R# y@ O>Gʖ+}s+ j GÇ>ê!>29O":O>2 w!DO6zʻ!DON4 + &~ 4#~ɷׁ͌} )7H"BOR)*BO͌}so#r {zZ7bAY!, -0ڀ Ҁ)]T))_,ǁ ǁ ŸOӁogy _Y')' 7w# 7'', 7 'P  4 P,Pw#1 ,D6 #Q YY,7 7-2O|+!O.ł,  E͂D͂0w#zWͻÈͻ7ͻ-̻+̻ځAͻxGͻOGx0:?0OOz2OM%60#y O!9w#4͎z"O*Oo&)^#V/Q@QQQbQsQQQQQQQQQ RR%RDRoRDRRRSDR;SDRnSMTUU1WUUXUY CASTLING KINGS SIDE OR QUEENS (1 OR 0) YOU CAN NOT CASTLE BECAUSE YOUփfbnbvb~bbb CASTLED PREVIOUSLY PREVIOUSLY MOVED YOUR KING MAY NOT CASTLE OUT OF CHECKA HAVE CONTROLLED SQUARES BETWEEN ROOK AND KINGc HAVE A PIECE BETWEEN ROOK AND KING PREVIOUSLY MOVED YOUR ROOK 1 2ggg(hzhhipi AS THE COMPUTER REQUESTS IT,INPUT THE COORDINATES OF YOUR MOVE- FIRST THE LOCATION OF THE PIECE, THEN THE DESTINATION TYPE X,Y WHERE X IS THE RANK(ROW) AND Y IS THE FILE(COLUMN) SPECIAL RULES ------------- TO CASTLE TYPE 10,10 TO START A MOVE ALL OVER TYPE 0,0 TO MOVE EN PASSENT GIVE COORDINATES AS USUALՅAA'A33 AND THE COMPUTER MOVES  TO  ,b AND TAKES YOUR  ...AND YOU ARE IN CHECK COMPUTER PROMOTES TO QUEENɆ  AND THE COMPUTER CASTLES AFTER  MOVES IT IS A STALEMATE GOOD PLAY7 THE COMPUTER HAS DEFEATED YOUG IN  MOVESk WHERE IS THE PIECE YOU WANT TO MOVE?  WHAT?... THERE IS NO SUCH PIECE PLAYER MOVES  TO WHERE ч YOU CAN NOT TAKE YOUR OWN PIECE AND THE PLAYER TAKES MY PAWN, EN PASSENT YOU CANNOT MOVE INTO CHECKJ ILLEGAL MOVEk AND THE PLAYER TAKES MY ~ (PLAYER PROMOTES TO QUEEN) CONGRATULATIONS YOU HAVE ˆ CHECKMATED THE COMPUTER IN  MOVES ACCEPTED DO YOU WANT INSTRUCTIONS (TYPE 1 FOR YES, 0 FOR NO)?@ff@/3410 CONTINUE C ANY POSSIBLE MOVES IF(V6 .EQ. -10) GO TO 3780 C HAS COMPUTER CASTLED IF(S6 .EQ. 1) GO TO 3510 IF(V6 .GT. 2) GO TO 3510 IF(S1 .EQ. 1) GO TO 3480 C CASTLE CALL S5420 IF(S6 .EQ. 1) GO TO 3790 3480 IF(S8 .EQ. 1) GO TO 3510 CALL S5270 C MAKE MOVE 3510 X=X6 Y=Y6 C=C6 D=D6 CALL S500 IF(GET(X,Y) .NE. -1)GO TO 3580 IF(C .EQ. (X+2)) M(D)=1 3580 WRITE (1,130)(DDOL(I),I=1,6),C,D 130 FORMAT(' AND THE COMPUTER MOVES ',6A1,' TO ',I6,',',I6) IF(GET(C,D) .EQ.0) GO TO 3630 CALL S520 WRITE(1,131)(DDOL(I),I=1,6) 131 FORMAT(' AND TAKES YOUR ',6A1) 3630 CALL PUT(C,D,GET(X,Y)) IF(C5 - 1) 3632,3633,3632 3633 WRITE(1,132) 132 FORMAT(' ...AND YOU ARE IN CHECK') 3632 CALL PUT(X,Y,0) IF(C .NE. 8) GO TO 3690 IF(GET(C,D) .NE. -1) GO TO 3690 WRITE(1,133) 133 FORMAT(' COMPUTER PROMOTES TO QUEEN') CALL PUT(C,D,-7) 3690 WRITE(1,134) 134 FORMAT(/) IF(X .NE. H2) GO TO 3740 IF(Y .NE. I2) GO TO 3740 H2=C I2=D 3740 IF(GET(C,D) .EQ. -9) S6=1 IF(GET(C,D) .NE. -5) GO TO 3780 IF(Y .EQ. 1) S1=1 IF(Y .EQ. 8) S8=8 3780 RETURN 3790 WRITE (1,135) 135 FORMAT (' AND THE COMPUTER CASTLES') GO TO 3780 END SUBROUTINE S750 C PLAYERS MOVE C PRINT BOARD C DELAY 2 SECONDS DO 551 IV1=1,2 DO 552 IV2=1,200 DO 553 IV3=1,200 553 CONTINUE 552 CONTINUE 551 CONTINUE CALL S5700 C FIRST MOVE IF(R .LT. 1) GO TO 1080 IF(V6 .GT. -10) GO TO 900 C COMPUTER -   VV 2* ' = ( 6ã2O>`^2O!P>XTGfidz{:!_N#fi"F2D2E2H!w#œ:O·>2OY:H!_q<2H͐Ґ*F:O>*F#"F*D#"D!ÙҐ:!_:DW:Er#w!>Gfidy$ y Q!V4~Q2V>.$ > $ >`IXTGfid͜>2r ENTER NAME OF INPUT FILE FOR UNIT 9010:J!I_N#F#^#fk"`i">2:rב>2r!s>Y:<2!:_~>7*}.*:IO>*#"*+"72r:OF!x  ENTER NAME OF OUTPUT FILE FOR UNIT 3 STOP STATEMENT ENCOUNTERED ! : C!I~#w#>2r͜m:(mW͚m_͚g͚o:ǛW"ś>2Ǜ͚K͚w#[͚‘(2r:~ˆ! *ś! !ț (ͳOͳOWy0 Q HEX FILE CHECKSUM ERROR LOADING HEX FILE INTO MEMORY BEGINNING EXECUTION LOAD COMPLETED CHOTX]ER*1 BD(8)/5,3,4,9,7,4,3CHOTX]ER*1 BD(8)/5,3,4,9,7,4, E0 FOR NO)') READ(1,ERR=202) Q IF (Q .EQ. 1) CALL S6070 BDVAL(1)=0.0 BDVAL(2)=08337001305C23483CD8E7A0600E1D1C122974F4F :10834700E1E3C5D5EB2A974FE5EBB7E96F2600299F :06835700195E2356EBE95C :04895F0040E4DD2FE4 :04895B0040C6666646 :048957003F000000DD :04865E00411333335E :04865A004127FFFFB6 :0486560041100000CF :00000001FF10 GOSUB 1060\ REM: SETUP WORD VECTOR 20 DIM M(7,13,2) 30 Z=RND (ABS(SIN(TIME(0)))) 40 GOSUB 890 50 F2=0 \ REM: HANGMAN LOGIC 60 GOSUB 330\ GOSUB 530 70 C=0 80 K=LEN(W$)\G$=""\FOR I=1TOK\G$=G$+"-"\NEXT 90 F1=1\ GOTO 190 100 A$=FNI$(0)\ F=0\F1=0\Z$="" 110 FOR I=1 TO K 120 IF MID$(G$,I,I)="-" THEN 140 130 Z$=Z$+MID$(G$,I,I)\GOTO 160 140 IF MID$(W$,I,I)=A$ THEN Z$=Z$+A$\F=1\GOTO 160 150 Z$=Z$+"-"\F1=1 160 NEXT 170 G$=Z$ 180 IF F=0 THEN GOSUB 290 190 PLOT 0,30,0\PRINTG$\PLOT 0,27,0 200 IF F1=1 THEN 100 210 PLOT 0,15,0\PRINT"CONGRATULATIONS! " 220 PRINT"THERE MAY BE SOME HOPE FOR YOU AFTER ALL!" 230 FOR I=1 TO 2500\NEXT\PRINTCHR$(12)\PLOT 0,43,0 240 PLOT 26,32,0\ INPUT "CARE TO TRY AGAIN, TURKEY? ",B$ 250 IF LEFT$(B$,1)<>"N" THEN 60 260 PRINT\PRINT\PRINT"SO LONG CHICKEN! COME BACK NEXT TIME YOU" 270 PRINT" HAVE GALLOWS FEVER!"\PRINT\PRINTTAB(40),"-- THE HANGMAN --" 280 GOTO 1150 290 U$=U$+A$\ C=C+1 300 PLOT 0,15,0\PRINT"USED LETTERS: ",U$\PLOT 0,12,0 310 Z=FNH (C) \ IF Z=0 THEN RETURN 320 GOTO 230 330 IF F2=1 THEN 490 340 PRINTCHR$ (12)\PRINT\PRINT\PRINT\PRINTTAB(15),"WELCOME TO THE HANGMAN!" 350 PRINT\PRINT\PRINT 360 PRINT"THIS IS MY TERRITORY AND I DON'T WELCOME INTRUDERS!" 370 PRINT\PRINT"IF YOU WISH TO SEE ANOTHER SUNSET YOU MUST PROVE " 380 PRINT "YOUR WORTH. IF YOU CAN GUESS MY WORD WITHOUT MAKING 7 MISTAKES" 390 PRINT"YOU MAY STAY. IF NOT, MY EXECUTIONS ARE SWIFT AND IMMEDIATE!" 400 PRINT\PRINTTAB(40),"SINCERELY,"\PRINTTAB(40),"--THE HANGMAN--" 410 FOR I=1 TO 500 420 IF INP(0)<>0 THEN Z=INP(1)\ GOTO 440 430 NEXT 440 PRINTCHR$ (12)\PLOT0,43,0\PLOT26,24,0\PRINT"YOU WILL BEGIN IMMEDIATELY!" 450 PLOT 0,21,0 460 RESTORE 1060\READ Q\FORI=1TOQ 470 READ L$(I) 480 NEXT I 490 G$=""\ U$="" 500 A=FNH(0) 510 F2=1 520 RETURN 530 I=INT(RND(0)*Q) 540 W$=L$(I) 550 RETURN 560 DEF FNI$(X) 570 PLOT 0,24,0\PRINT"GUESS?"\PLOT 0,21,0 580 IF INP(0)=0 THEN 580 ELSE Z=INP(1) 590 IF Z>128 THEN Z=Z-128 600 IF Z<65 OR Z>91 THEN 580 610 PLOT 0,24,0\PRINT" "\PLOT 0,21,0 620 RETURN CHR$(Z) 630 FNEND 640 DEF FNH(X) 650 IF X<>0 THEN GOTO 740 660 PRINT CHR$(12)\PLOT0,44,0 670 FOR I=1TO6\ PLOT 40,I,1\ NEXT 680 FOR I=40 TO 127 \PLOT I,7,1\NEXT 690 FOR I=1 TO 47\PLOT 127,I,1\NEXT 700 FOR I=127 TO 50 STEP -1\PLOT I,47,1\NEXT 710 FOR I=47 TO 44 STEP -1\PLOT 50,I,1\NEXT 720 FOR I=47 TO 39 STEP -1\PLOT 83,I,1\NEXT 730 RETURN X 740 IF X=7 THEN 790 ELSE I=1 750 IF M(X,I,1)=0 THEN 780 760 L=M (X,I,1)\V=M(X,I,2)\POKE L,V 770 I=I+1\ GOTO 750 780 RETURN 0 790 A1=6501\W1=10\L1=7 800 PLOT 0,36,0\PRINTW$\PLOT 0,27,0 810 FOR I=47 TO 39 STEP -1\ PLOT 83,I,1\ NEXT 820 FOR Y =A1+64*L1 TO A1 STEP -64 830 FOR X=W1 TO 0 STEP -1 840 V=PEEK(Y+X)\ POKE Y+X+64,V 850 NEXT\ NEXT 860 PLOT 56,38,0\PRINT"YOU LOST!"\PLOT 0,35,0 870 RETURN -1 880 FNEND 890 N=0\FORI=1TO7\FORJ=1TO13\M(I,J,1)=0\M(I,J,2)=0\NEXT\NEXT 900 PRINTCHR$(12),"LOADING...." 910 READ X\ IF X<-10 THEN RETURN 920 IF X<0 THEN 960 930 IF X>100 THEN 970 940 N=N+1\M(K,N,1)=L\M(K,N,2)=X\L=L+1 950 GOTO 910 960 K=-X\ N=0\ GOTO 910 970 L=X\ GOTO 910 980 DATA -1,6312,62,54,54,6375,62,7,47,47,6,6440,29,50,53 990 DATA 31 1000 DATA -2,6505,48,55,6569,0,7,6633,0,7,6697,0,7 1010 DATA -3,6504,54,6566,62,43,59,6630,7,6693,62,15 1020 DATA -4,6506,54,55,6570,3,59,46,6637,7,6701,14 1030 DATA -5,6762,29,55,6827,59,46,6892,56,6956,56,54 1040 DATA -6,6760,53,31,6822,62,43,6886,56,6949,62,48 1050 DATA -999 1060 REM: HERE ON IS USER PROGRAMMABLE 1070 DIM L$ (30:12)\RETURN 1080 DATA 30 1090 DATA "CONCISE","VERIFY","LITHOGRAPH","CONVERSION" 1100 DATA "AUTOMATIC","INTERIM","MISTAKE","LANTERN","GNU" 1110 DATA "XEROX","PAPER","REHEAT","SYSTEMS","PRODUCT" 1120 DATA "VERSION","DOCUMENT","DESCRIBE","CAPABLE" 1130 DATA "CHARACTER","RESTORE","NEXT","FISH","SLASH","TIGER" 1140 DATA "FLY","KNIGHT","LAB","LABORATORY","FOLLOW","PYREX" 1150 REM 10DIM0 20REM Original game by JOE LAKE, Los Angeles, Calif 30REM Modified by Charles A Thompson, 2909 Rosedale Ave, 40REM Dallas, TX 75205, 21 Jan 80, 22 Apr 82 50DIMF(4,12),T(4)\C$=CHR$(13) 60PAGE\PRINT 70PRINT" **** BOWLING ****",C$ 80PRINT" Direction of ball is controlled by repeatedly" 90PRINT" pressing left arrow (<) or right arrow (<)." 100PRINT" (You can use the comma and period keys, either" 110PRINT" shifted or unshifted, or the regular cursor" 120PRINT" control left and right arrows......" 130PRINT" This is the only control you have. Gutter balls" 140PRINT" will occur as in real bowling. Pin action is" 150PRINT" authentic."\POKE0,127 160PAUSE300\PAGE 170GOSUB2660 180L=3\C1=2.5\F,Q=1 190D1=50 200K1,K2,K3,K4,K5,K6,K7,K8,K9,K0=1 210S1,S2,S3,S4,S5,S6,S7,S8,S9,S0=1 220W=.2\W1=.6 230 IF M$="A" THEN PAUSE 60 240S=100 250S=20\D=0 260A7=M+20+4\A8=A7+4\A9=A8+4\A0=A9+4 270A4=M+86+4\A5=A4+4\A6=A5+4 280A2=M+152+4\A3=A2+4 290A1=M+218+4 300FORI=1TO4\POKEM+20+4*I,9\NEXT 310FORI=1TO3\POKEM+64+22+4*I,9\NEXT 320FORI=1TO2\POKEM+128+24+4*I,9\NEXT 330POKEM+3*64+28+2,9 340 GOTO 390\REM disable pin numbering 350REM Number the pins 360POKEA1+1,177\POKEA2+1,178\POKEA3+1,179\POKEA4+1,180 370POKEA5+1,181\POKEA6+1,182\POKEA7+1,183\POKEA8+1,184 380POKEA9+1,185\POKEA0+1,177\POKEA0+2,176 390GOSUB3760 400IFM$="A"THEN430 410G=INP(0)\IFG=0THEN410 420G1=INP(1)\IFG1=188ORG1=190THEN420 430P1=M+15*64+28+2 440IFH=0THENH=1ELSEH=0 450D=0.5 460E=0 470IFP1M+4*64THEN470 680IF(P1M+2*64)THEN860 690IF(P1M+64)THEN1460 700IF(P1A1-C1)AND(P10THEN830 750IF((P1>A1+.1*C1)AND(P1A1-.9*C1))THENK3=0 770IF((P1>A1+.4*C1)AND(P1A1-.5*C1))THENK6=0 790IF((P1>A1+.45*C1)AND(P1A1-.5*C1))THENK0=0 810IF((P1>A1+.2*C1)AND(P1A1-.25*C1))THENK9=0 830GOSUB2550 840IFS1=0THENPOKEA1,63 850 GOTO470 860IFS2=0THEN880 870IF((P1>A2-C1)AND(P1A3-C1)AND(P1A3+.9*C1))THENK2=0 920IFS3=0THEN940 930IF((K2=0)AND(P1>A3+.9*C1))THENK3=0 940IFK2<>0THEN1180 950IFS4=0THEN970 960IF((P1>A2+.2*C1)AND(P1A2-.6*C1))THENK5=0 990IFS7=0THEN1010 1000IF((P1>A2+.25*C1)AND(P1A2-.7*C1))THENK6=0 1030IFS0=0THEN1050 1040IF((P10THEN1180 1060IFS4=0THEN1080 1070IFRND(0)>WTHENK4=0 1080IFS5=0THEN1100 1090IFRND(0)>WTHENK5=0 1100IFS7=0THEN1120 1110IFRND(0)>W1THENK7=0 1120IFS8=0THEN1140 1130IFRND(0)>W1THENK8=0 1140IFS9=0THEN1160 1150IFRND(0)>W1THENK9=0 1160IFS0=0THEN1180 1170IFRND(0)>W1THENK0=0 1180IFK3<>0THENGOTO1430 1190IFS6=0THEN1210 1200IF((P1A3-.6*C1))THENK6=0 1210IFS5=0THEN1230 1220IF((P1>A3+.2*C1)AND(P1A3-.45*C1))THENK0=0 1250IFS4=0THEN1270 1260IF((P1>A3+.1*C1)AND(P1A3+.25*C1)AND(P1A3+.3*C1)AND(P10THEN1430 1320IFS6=0THEN1340 1330IFRND(0)>WTHENK6=0 1340IFS5=0THEN1370 1350IFRND(0)>WTHENK5=0 1360IFRND(0)>W1THENK7=0 1370IFS7=0THEN1390 1380IFRND(0)>W1THENK8=0 1390IFS8=0THEN1410 1400IFRND(0)>W1THENK9=0 1410IFS9=0THEN1430 1420IFRND(0)>W1THENK0=0 1430GOSUB2550 1440IFS2=0THENPOKEA2,63\IFS3=0THENPOKEA3,63 1450GOTO470 1460IFS4=0THEN1480 1470IF(P1>A4-C1)AND(P1A5-C1)AND(P1A6-C1)AND(P10THEN1710 1540IFS7=0THEN1560 1550IF((P1>A4+.2*C1)AND(P1A4-.6*C1))THENK8=0 1580IFS9=0THEN1600 1590IF((P1A4-.45*C1))THENK9=0 1600IFS0=0THEN1620 1610IF((P1A4-.9*C1))THENK0=0 1620IFS5=0THEN1640 1630IF((P1A4-C1))THENK5=0 1640IFS6=0THEN1660 1650IF((P1A4-C1))THENK6=0 1660IFK2<>0THEN1710 1670IFS7=0THEN1690 1680IFRND(0)>WTHENK7=0 1690IFS8=0THEN1710 1700IFRND(0)>WTHENK8=0 1710IFK5<>0THEN1960 1720IFS8=0THEN1740 1730IF((P1>A5+.2*C1)AND(P1A5-.6*C1))THENK9=0 1760IFS0=0THEN1780 1770IF((P1A5-.9*C1))THENK0=0 1780IFS7=0THEN1800 1790IF((P1>A5+.75*C1)AND(P1A5-C1))THENK6=0 1820IFS4=0THEN1840 1830IF((P1>A5+.85*C1)AND(P1A6-.6*C1))THENK0=0 1860IFS9=0THEN1880 1870IF((P1>A6+.2*C1)AND(P1A6+.25*C1)AND(P1A6+.75*C1)AND(P1A6+.85*C1)AND(P1A6+.9*C1)AND(P1A7-C1)AND(P1A8-C1)AND(P1A9-C1)AND(P1A0-C1)AND(P10THEN2070 2040IF((P1>A7-C1)AND(P1A7-C1)AND(P1A7-C1)AND(P10THEN2110 2080IF((P1A8-.85*C1))THENK7=0 2090IF((P1>A8-C1)AND(P1A8-C1)AND(P10THEN2150 2120IF((P1A9+.9*C1))THENK7=0 2130IF((P1A9+.85*C1))THENK8=0 2140IF((P1>A9-C1)AND(P10THEN2190 2160IF((P1A0+.95*C1))THENK7=0 2170IF((P1A0+.9*C1))THENK8=0 2180IF((P1A0+.85*C1))THENK9=0 2190GOSUB2550 2200FORB=1TOD1\NEXT 2210IFS2=0THENPOKEA2,63 2220IFS3=0THENPOKEA3,63 2230FORB=1TOD1\NEXT 2240IFS4=0THENPOKEA4,63 2250IFS5=0THENPOKEA5,63 2260IFS6=0THENPOKEA6,63 2270FORB=1TOD1\NEXT 2280IFS7=0THENPOKEA7,63 2290IFS8=0THENPOKEA8,63 2300IFS9=0THENPOKEA9,63 2310IFS0=0THENPOKEA0,63 2320PLOT0,0,0 2330F1=(S1=0)+(S2=0)+(S3=0)+(S4=0)+(S5=0)+(S6=0)+(S7=0)+(S8=0)+(S9=0)+(S0=0) 2340IFF1<>10THEN2440 2350IFH=1THENPRINT"S T R I K E !",ELSEPRINT"SPARE / ", 2360POKE0,127 2370IFH<>1THENPAUSE 60 2380IFH<>1THEN2440 2390FORB=1TO10\POKE3,960\PRINT"STRIKE X",\POKE0,127 2400 PAUSE 10\POKE3,960 2410 PRINT" ",\POKE0,127 2420 PAUSE10 2430 NEXT 2440POKE3,960\PRINT" ",\POKE0,127 2450K1,K2,K3,K4,K5,K6,K7,K8,K9,K0=1 2460GOSUB3170 2470IFP9=1THEN2500 2480IF(H=1)AND(F1=10)THEN190 2490IFH=1THEN430 2500GOSUB3690 2510IFM$="A"THEN2540 2520G=INP(0)\IFG=0THEN2520 2530G1=INP(1)\IFG1=188ORG1=190THEN2530 2540GOTO210 2550IFK1=0THENS1=0 2560IFK2=0THENS2=0 2570IFK3=0THENS3=0 2580IFK4=0THENS4=0 2590IFK5=0THENS5=0 2600IFK6=0THENS6=0 2610IFK7=0THENS7=0 2620IFK8=0THENS8=0 2630IFK9=0THENS9=0 2640IFK0=0THENS0=0 2650 RETURN 2660PRINTC$,"Welcome to the bowling lanes. If you wish to bowl against" 2670PRINT"the computer, use 'automatic', assign a player name to Poly and" 2680PRINT"don't touch the controls when Poly bowls. (Poly bowls better" 2690PRINT"when you bowl multiple lines.) When all bowlers are human," 2700PRINT"manual mode is best. Now, would you like to start each frame" 2710PRINT"manually by hitting a key, or would you like the frames to" 2720INPUT"begin automatically? (Enter A or K) ",M$ 2730IFM$="a"THENM$="A"ELSEIFM$="k"THENM$="K" 2740PRINT\IFM$="K"THEN2770 2750PRINT"Don't press the left/right arrow keys more than 3 times after" 2760PRINT"ball reaches pins. It may foul up the next line." 2770INPUT" How many players? (maximum 4) ",N 2780IFN<2THEN2850 2790INPUT"Name of first player? ",N1$ 2800INPUT"Name of second player? ",N2$ 2810IFN<3THEN2850 2820INPUT"Name of third player? ",N3$ 2830IFN<4THEN2850 2840INPUT"Name of fourth player? ",N4$ 2850GOSUB2870 2860RETURN 2870PAGE\PRINT" ",N1$," ", 2880IFLEN(N1$)<7THENFORI=1TO(7-LEN(N1$))\PRINT" ",\NEXT 2890IFLEN(N1$)<8THENT(2)=8ELSET(2)=LEN(N1$)+1 2900IFLEN(N2$)<8THENT(3)=T(2)+8ELSET(3)=T(2)+LEN(N2$) 2910IFLEN(N3$)<8THENT(4)=T(3)+8ELSET(4)=T(3)+LEN(N3$) 2920IFLEN(N1$)<7THENL9=8ELSEL9=LEN(N1$)+1 2930IFN<2THEN3050 2940PRINTN2$," ", 2950IFLEN(N2$)<7THENFORI=1TO(7-LEN(N2$))\PRINT" ",\NEXT 2960IFLEN(N2$)<7THENL9=L9+8ELSEL9=L9+LEN(N2$) 2970IFN<3THEN3050 2980PRINTN3$," ", 2990IFLEN(N3$)<7THENFORI=1TO(7-LEN(N3$))\PRINT" ",\NEXT 3000IFLEN(N3$)<7THENL9=L9+8ELSEL9=L9+LEN(N3$) 3010IFN<4THEN3050 3020PRINTN4$," ", 3030IFLEN(N4$)<7THENFORI=1TO(7-LEN(N3$))\PRINT" ",\NEXT 3040IFLEN(N4$)<7THENL9=L9+8ELSEL9=L9+LEN(N4$) 3050POKE0,127\GOTO3100 3060POKE3,0\PRINT"Fr"\FORI=1TO9\PRINTI\NEXT 3070PRINT"10",\POKE0,127 3080PLOT0,12,0 3090 RETURN 3100GOSUB3060 3110M=6144 3120M1=M 3130L9=L9+5 3140IFL9<20THENL9=20 3150M=M+L9-20 3160 RETURN 3170REM 3180IFF1<>10ANDH=1THEN3220 3190IFF1=10ANDH=1THEN3270 3200IFF1<>10ANDH<>1THEN3410 3210IFF1=10ANDH<>1THEN3500 3220IFF<2THEN3570ELSEF3=F-1 3230IF F(Q,F3)/1000=2THEN3250 3240IF F(Q,F3)/1000=1THEN3340ELSE3570 3250F2=F-1\F3=F-2\F(Q,F2)=F(Q,F3)+10+F1 3260GOTO3550 3270F(Q,F)=1000 3280H=0 3290PLOT2*(L+T(Q)+5),47-3*F,0\PRINT"X", 3300POKE0,127 3310F3=F-1\F4=F-2\F5=F-3 3320IFF<2THEN3570 3330IF F(Q,F3)/1000<>1THEN3220 3340IFF<3THEN3570 3350F4=F-2\IF F(Q,F4)/1000<>1THEN3570 3360IFF<4THEN3390 3370F2=F-2\F(Q,F4)=F(Q,F5)+20+F1 3380GOTO3400 3390F2=1\F(Q,1)=20+F1 3400GOTO3550 3410IFF<2THENF2=F\F(Q,F)=F1\GOTO3550 3420F2=F-1\IF F(Q,F2)/1000<>1THEN3480 3430F2=1\IFF<3THENF(Q,1)=10+F1ELSE3450 3440GOTO3460 3450F2=F-1\F3=F-2\F(Q,F2)=F(Q,F3)+10+F1 3460GOSUB3580 3470REM 3480F2=F\F3=F-1\F(Q,F)=F(Q,F3)+F1 3490GOTO3550 3500F(Q,F)=2000 3510PLOT2*(L+T(Q)+5),47-3*F,0\PRINT"/", 3520POKE0,127 3530IFF<2THEN3570 3540F3=F-1\IF F(Q,F3)/1000<>1THEN3570ELSE3250 3550REM 3560GOSUB3580 3570 RETURN 3580IFF2=0THEN3680 3590PLOT2*(L+T(Q)),47-3*F2,0 3600IFF2>10THEN3610ELSEPRINTF(Q,F2),\POKE0,127 3610IFF2=10THENP9=1 3620IF(F2=10)AND(Q=N)THEN3630ELSE3680 3630IFINP(0)>0THENN=INP(1)\GOTO3630 3640PLOT0,6,0\PRINT"Type RUN to bowl another line" 3650FORI=1TO5\PRINT" ",\NEXT\POKE0,127 3660PLOT120,6,0\POKE0,127 3670 STOP 3680RETURN 3690REM 3700IFF>9THENF=F+1\GOTO3720 3710Q=Q+1\IFQ>NTHENQ=1\F=F+1 3720IFP9=1THENP9=0\F=10\Q=Q+1 3730H=0 3740K1,K2,K3,K4,K5,K6,K7,K8,K9,K0=1 3750GOSUB3060 3760POKE3,906 3770PRINT" ",\POKE0,127 3780POKE3,906 3790IFLEN(N1$)=0THEN3850 3800ONQGOTO3810,3820,3830,3840 3810N1$=FNN9$(N1$)\GOTO3850 3820N2$=FNN9$(N2$)\GOTO3850 3830N3$=FNN9$(N3$)\GOTO3850 3840N4$=FNN9$(N4$) 3850 RETURN 3860DEFFNN9$(X$) 3870 IFASC(X$,2)<97THENX1$="'S TURN"ELSE X1$="'s turn" 3880 PRINTX$,X1$,\POKE0,127 3890 RETURNX$ 3900 FNEND The game of MasterMind There are 6 possible characters-- A,B,C,D,E,F-- available with which to play. The computer will choose 4 of them, and place them under the 4 white squares at the top of the board. The object is for you to logically deduce which 4 the computer has chosen, and under which squares he has placed them. You do this by analysing your previous moves, and the computer's response to those moves. After you place your 4 choices on the board, the computer will indicate to you the number of choices that are correct AND in the proper position (in column "P"), and also the number that are correct but NOT in the proper position (in column "C"). 991 Enter your choices by moving the flashing white block left and right with the left- and right- arrows (They are at the lower right corner of the keyboard). When through entering your choices for this turn, hit the RETURN key. If you hit a wrong key, the computer will tell you. Just hit a correct key and the error message will go away. 999 100 ON ESCAPE GOTO 350 105 RANDOMIZE 110 PRINT CHR$(12),\PLOT 0,47,0 115 H9,M9=0 120 X=RND(124)\Y=9+RND(38) 125 PLOT 0,47,0\PRINT "Hits",H9,", misses",M9 127 PLOT 0,44,0 130 PAUSE 120 140 PLOT 0,3,0\PRINT " "\PLOT 0,0,0 150 FOR H=1 TO RND(100)+10 160 PLOT X,Y,1\A=X\B=Y 190 ON RND(8) GOSUB 270,280,290,300,310,320,330,340 200 IF (X<0)OR(X>124) THEN X=A 210 IF (Y<9)OR(Y>47) THEN Y=B 220 PLOT A,B,0\NEXT\PLOT X,Y,1 230 PLOT 0,3,0\PRINT "SWAT!!!"\PLOT 0,0,0 240 IF RND(10) AND 1 THEN M9=M9+1\PAUSE 15\GOTO 140 242 H9=H9+1 245 PLOT X,Y,0\PRINT "*"\PLOT 0,Y-3,0\PAUSE 28 250 PAUSE 5\FOR K=Y TO 3 STEP -1 260 PLOT X,K,1\PAUSE 1\PLOT X,K,0\NEXT\PLOT X,0,1 261 FOR I=0 TO X\PLOT I,0,0\PRINT CHR$(152), 262 PLOT I,0,0\PAUSE 3\NEXT 263 FOR I=X TO 0 STEP -1\PLOT I,0,0\PRINT CHR$(152), 264 PLOT I+2,0,0\PAUSE 1\NEXT 266 PLOT 0,0,0\GOTO 120 270 X=X+1\RETURN 280 X=X+1\Y=Y+1\RETURN 290 Y=Y+1\RETURN 300 Y=Y+1\X=X-1\RETURN 310 X=X-1\RETURN 320 Y=Y-1\X=X-1\RETURN 330 Y=Y-1\RETURN 340 X=X+1\Y=Y-1\RETURN 350 PRINT CHR$(12),CALL(1027) REM 'SLOT' REM THIS PROGRAM SIMULATES A SLOT MACHINE REM SET DIMENSIONS 5 ON ESCAPE PRINT CHR$(12)\PRINT CALL (1027)\REM RETURN TO EXEC 10 DIM D(3) REM DRAW THE SLOT MACHINE 20 GOSUB 5000 REM DRAW THE POSSIBLE WINNINGS 30 GOSUB 8000 REM MOVE TO LOWER LEFT CORNER 50 PLOT0,3,0\PRINT"Enter your lucky number " 52 PLOT0,0,0\PLOT64,3,0 REM INPUT FROM KEYBOARD & CONVERT ASCII 54 S=INP(1)-48\PRINT S\PLOT0,0,0 REM TEST INPUT 56 IF S<1ORS>9THENGOTO50 60 S=ABS(S)+1\S=LOG(S)-INT(LOG(S))\S=RND(S) REM INITIALIZE TOTAL WINNINGS 120 T=0 160 PLOT0,3,0\PRINT"Enter a BET between $1 and $9... " 164 PLOT0,0,0\PLOT64,3,0 REM INPUT FROM KEYBOARD & CONVERT ASCII 168 A=INP(1)-48\PRINT A\PLOT0,0,0 170 IF A>=1 AND A<=9 THEN 200 REM MOVE TO BOTTOM LEFT 180 PLOT0,3,0 182 PRINT"Bet from 1 to 9." 184 PLOT0,0,0\PLOT0,47,0 190 GOTO160 REM PULL THE HANDLE DOWN 200 GOSUB 6000 REM LET THE HANDLE UP 202 GOSUB 7000 204 A=INT(A) 210 IF A=0 THEN 540 220 FOR B1=1 TO 3 230 D(B1)=INT(RND(0)*6)+1 240 FOR I=1 TO 3\K5=RND(0)\NEXT I 250 NEXT B1 260 IF D(1)=D(2) ANDD(2)=D(3)THENK5=INT(RND(0)*4)+1ELSE290 270 IF K5>3 THEN GOTO 290 280 D(K5)=INT(RND(0)*5)+1 290 FOR G1=1 TO 3 291 GOTO300 REM FLASH THE DISPLAY 292 ONG1GOSUB9100,9200,9300 REM MOVE INTO POSITION FOR THE RESULT 300 PLOT(62+(G1-1)*15),32,0 310 FOR I=1 TO 100\NEXT I 320 ON D(G1) GOTO 330,340,350,360,370,380 330 PRINT" $ "\PLOT0,29,0\PLOT0,47,0\GOTO 390 340 PRINT" BAR "\PLOT0,29,0\PLOT0,47,0\GOTO 390 350 PRINT"CHERRY"\PLOT0,29,0\PLOT0,47,0\GOTO 390 360 PRINT"APPLE "\PLOT0,29,0\PLOT0,47,0\GOTO 390 370 PRINT"LEMON "\PLOT0,29,0\PLOT0,47,0\GOTO 390 380 PRINT" POLY "\PLOT0,29,0\PLOT0,47,0 390 FOR I=1 TO 150\NEXT I\NEXT G1 410 IF D(1)<>D(2) THEN 440 420 IF D(2)=D(3) THEN 500 430 IF D(1)=D(2) THEN 460 440 IF D(1)<>D(3) THEN 480 450 GOTO 490 460 IF D(1)/3<>INT(D(1)/3)THEN 490 470 W=A*4\PLOT68,44,0\PRINT"KENO...WIN $",W 472 PLOT0,39,0\PLOT0,47,0\GOTO510 480 W=-A\PLOT68,44,0\PRINT "BET LOST.. $",-W 482 PLOT0,39,0\PLOT0,47,0\GOTO 510 490 W=A\PLOT68,44,0\PRINT".......WIN $",W 492 PLOT0,39,0\PLOT0,47,0\GOTO 510 500 W=A*15\PLOT68,44,0\PRINT"JACKPOT... $",W 502 PLOT0,39,0\PLOT0,47,0\GOTO 510 510 T=T+W 520 PRINT TAB(5),"TOTAL = $",T\PLOT0,42,0\PLOT0,47,0 530 GOTO160 540 PLOT0,3,0\IF T<=0 THEN GOTO 570 550 PRINT"WE ARE ALWAYS GLAD TO HAVE A WINNER. PLEASE COME AGAIN." 560 GOTO 580 570 PRINT\PRINT"ITS BEEN GOOD OPERATING FOR YOU...COME BACK SOON" 1000 LINK <5>INVENTORY REM SUBROUTINE TO DRAW A SLOT MACHINE REM CLEAR THE DISPLAY 5000 PRINT CHR$(12) REM DRAW THE OUTER BOUNDARY OF THE MACHINE REM START BOTTOM LEFT AND GO UP 5020 PLOT58,10,1 5030 DRAW58,40,1\DRAW110,40,1\DRAW110,10,1\DRAW58,10,1 REM DRAW THE HANDLE REM HORIZONTAL 5040 PLOT110,25,1\DRAW120,25,1 REM UP THE HANDLE 5050 DRAW120,38,1\PLOT121,38,1\DRAW121,37,1 REM DOWN THE HANDLE 5060 PLOT119,37,1\DRAW119,38,1 REM PRINT MACHINE NAME 5070 PLOT70,38,0\PRINT"BALLYHOO SLOT" 5072 PLOT0,35,0\PLOT0,47,0 REM BRACKET THE RESULTS 5080 PLOT62,35,0\PRINT"|||||||||||||||||||||||" 5082 PLOT0,32,0\PLOT0,47,0 5090 PLOT62,28,0\PRINT"|||||||||||||||||||||||" 5092 PLOT0,25,0\PLOT0,47,0 REM RETURN 5110 RETURN REM SUBROUTINE TO PULL THE HANDLE DOWN REM LOOP TO ERASE AND FILL 6000 FORY=38TO30STEP-1 REM ERASE A LINE 6010 PLOT119,Y,0\DRAW121,Y,0 REM CREATE A LINE 6020 PLOT119,Y-2,1\DRAW121,Y-2,1 REM NEXT Y 6030 NEXTY 6040 RETURN REM SUBROUTINE TO PUT THE HANDLE BACK UP REM LOOP TO ERASE AND FILL 7000 FORY=28TO36 REM ERASE A LINE 7010 PLOT119,Y,0\PLOT121,Y,0 REM CREATE A LINE 7020 PLOT119,Y+2,1\DRAW121,Y+2,1 REM NEXT Y 7030 NEXTY 7040 RETURN REM SUBROUTINE TO DISPLAY POSSIBILITIES REM MOVE TO START POINT 8000 PLOT0,30,0\PRINT" FOR EACH $ BET" 8010 PRINT" BAR * BAR ... WIN $1" 8020 PRINT" BAR BAR * ... WIN $1" 8022 PRINT" POLY POLY * ... WIN $4" 8030 PRINT" BAR BAR BAR ... WIN $15" REM ERASE THE CURSOR 8040 PLOT0,17,0\PLOT0,47,0 8050 RETURN REM FLASH THEM ALL 9100 X=63+(G1-1)*15 REM PLOT THE LEFT BOXES 9110 PLOTX,31,1\PLOTX+2,31,1\PLOTX+15,31,1 9120 PLOTX+17,31,1\PLOTX+30,31,1\PLOTX+32,31,1 REM PLOT THE RIGHT BOXES 9130 PLOTX,31,0\PLOTX+1,31,1\PLOTX+2,31,0 9140 PLOTX+3,31,1\PLOTX+15,31,0\PLOTX+16,31,1 9150 PLOTX+17,31,0\PLOTX+18,31,1\PLOTX+30,31,0 9160 PLOTX+31,31,1\PLOTX+32,31,0\PLOTX+33,31,1 9170 RETURN 9200 RETURN 9300 RETURN REM *** BACKGAMMON 1.0 *** REM AUTHOR - GLENN A. McCOMB (APRIL 1977) REM ENTERED INTO THE SYSTEM 8813 REM by Gerald McNabb - Sept. 1980 REM C$ DUMMY VARIABLE 120 DIMB(26),R(16),M$(1:32),Z$(1:32) 130 Z=RND(TIME(0)/65535)\PRINTCHR$(12) REM INPUT PLAYER NAMES 140 A$=FNI$("Player A?",5,28,8)\B$=FNI$("Player B?",5,28,8) REM PLOT THE BOARD 150 GOSUB750\GOSUB720 REM PUT PIECES ON BOARD 160 B(25)=0\B(26)=0\GOSUB650 REM PUT PLAYERS NAMES ON BOARD 170 Z=FND(57,13,B$)\Z=FND(57,2,A$) 180 Z=FND(1,6,"Dice:") 190 P=1\W$=A$ 200 H=0\GOSUB590 210 GOSUB1720 220 FORM=1TO2 230 D=D1\IFM=2THEND=D2 REM LOOK FOR AN INPUT 240 F=FNG(M) 250 IFF<1THENONF+3GOTO350,330,400 260 Z1=(P*P+P)/2\Z2=ABS(B(Z1+25))\IFZ2>0THEN460 270 IFB(F)=0THEN480ELSEIFSGN(P)<>SGN(B(F))THEN440 280 T=F+D*P 290 IFT<1ORT>24THENT=0\IFFNB(P)=0THEN450ELSE380 300 IFP=SGN(B(T))ORB(T)=0THEN380 310 IFABS(B(T))>1THEN470 320 Z=FNM(T,0)\Z=FNH(-P,1)\GOTO380 REM RESPONSE TO A CARRIAGE RETURN 330 F=((P*P+P)/2)+25\IFB(F)=0THEN490 340 Z=(P*P-P)/2\T=ABS(Z*25-D)\GOTO300 350 IFH=1THEN230 360 D=D1\D1=D2\D2=D\Z=FNA(1,7,D1+176)\Z=FNA(5,7,D2+176) 370 GOTO230 380 IFF>24THENZ=FNH(P,-1) 390 Z=FNM(F,T)\H=1\Z=FNW(P) 400 NEXT 410 IFD3=1THEND3=0\GOTO220 420 IFP<0THEN190ELSEP=-1\W$=B$ 430 GOTO200 440 M$="Other player!"\GOTO500 450 M$="Can't bear off..."\GOTO500 460 M$="Man on bar!..."\GOTO500 470 M$="Can't hit..."\GOTO500 480 M$="Point empty..."\GOTO500 490 M$="No man on bar..."\GOTO500 500 J$=""\L=0\N=1\K=LEN(M$) 510 IFN>KTHEN540ELSEK$=MID$(M$,N,N)\N=N+1 520 IFK$=" "THEN540 530 J$=J$+K$\IFLEN(J$)<7THEN510 540 L=L+1\Z=FND(0,L,J$)\J$="" 550 IFN<=KTHEN510 560 FORI=1TO800\NEXT\FORY=47TO30STEP-3\FORX=0TO12STEP2 570 PLOTX,Y,0\NEXT\NEXT\GOTO240 REM DICE 590 Z=FNA(3,8,63)\FORN=1TORND(0)*15+4 600 D1=INT(RND(0)*6)+1\D2=INT(RND(0)*6)+1 610 Z=FNA(1,7,D1+176)\Z=FNA(5,7,D2+176)\NEXT 620 Z=FNF(1,7,5)\Z=FNF(5,7,5)\D3=0 630 IFD1=D2THEND3=1\Z=FNA(3,8,170)\Z=FNF(3,8,5) 640 RETURN REM PLACE THE MEN ON THE BOARD 650 RESTORE710\FORV=-4TO4\IFV=0THEN700 660 READT,N\G=SGN(V)\B(T)=G*N 670 FORX=1TON\W=FNX(T)\W2=FNY(T,X) 680 A=FNS(T,G)\B=FNS(T,G*2) 690 Z=FNA(W,W2,A)\Z=FNA(W+1,W2,B) 700 NEXT\NEXT\RETURN 710 DATA6,5,8,3,13,5,24,2,1,2,12,5,17,3,19,5 REM 720 RESTORE730\FORI=1TO16\READR(I)\NEXT\RETURN 730 DATA60,52,38,39,60,44,37,39 740 DATA57,41,13,15,57,25,11,15 REM PLOT BOARD 750 PRINTCHR$(12)\F=15 760 PRINTCHR$(12)\PLOT0,43,0\F=15 770 FORX=15TO112\PLOTX,5,1\PLOTX,42,1\NEXT 780 A=19\FORX=FTOF+48STEP8\FORY=6TO41\P=0 790 IFX=F OR X=F+48 OR Y48-ATHENP=1 800 PLOTX,Y,P\NEXT\IFA=19THENA=18ELSEA=19\NEXT 810 F=F+49\IFF<=64THEN780 820 FORP=1TO24\X=FNX(P)\Y=FNY(P,-1)\Z=FNA(X,Y,P+192) 830 NEXT\RETURN REM PUT V @ ADDR X,Y; RETURN OLD V 840 DEF FNA(X,Y,V) 850 A1=Y*64+X+6144\A2=PEEK(A1) 860 POKEA1,V\RETURNA2 870 FNEND REM RET X ADDR OF POS P 880 DEF FNX(P) 890 Z=P\IFP>12THENZ=25-P 900 RETURN57-(Z*4) 910 FNEND REM RET Y ADDR OF POS(P)+N 920 DEF FNY(P,N) 930 IFN>8THENRETURN-2 940 Y1=1+N\IFP>12THENY1=14-N 950 RETURNY1 960 FNEND REM +1 IF B(P) LEFT HALF, ELSE 0 970 DEF FNQ(P) 980 Q1=P-1\Q1=(INT(Q1/6)+1)\Q1=Q1-INT(Q1)\Q1=INT(Q1*2) 990 RETURNQ1 1000 FNEND REM 1010 DEF FNS(P,X) 1020 S1=0\IFX<0THENS1=4 1030 S1=S1+(FNQ(P)*2)+ABS(X)\IFP>12THENS1=S1+8 1040 RETURNR(S1) 1050 FNEND REM 1060 DEF FNM(F,T) 1070 M1=ABS(B(F)) 1080 IFF>24THEN1100 1090 M2=FNX(F)\M3=FNY(F,M1)\M8=FNF(M2,M3,6) 1100 M1=B(F)\M2=SGN(M1)\B(F)=M1-M2 1110 IFT=0THENRETURN0 1120 M1=B(T)\B(T)=M1+M2\M1=ABS(B(T))\M3=FNX(T) 1130 M4=FNY(T,M1)\M5=FNS(T,M2*1)\M6=FNS(T,M2*2) 1140 M7=FNA(M3,M4,M5)\M7=FNA(M3+1,M4,M6)\M8=FNF(M3,M4,5) 1150 RETURN0 1160 FNEND REM 1170 DEF FNF(X,Y,T) 1180 F1=FNA(X,Y,63)\F3=A1\F2=FNA(X+1,Y,63)\F4=A1 1190 FORF5=1TOT\FORF6=1TO35\NEXT 1200 F7=PEEK(F3)\F8=PEEK(F4)\POKEF3,F1\POKEF4,F2 1210 F1=F7\F2=F8 1220 NEXT\RETURN0 1230 FNEND REM INPUT MOVE 1240 DEF FNG(T) 1250 IFINP(0)>0THEN1270 1260 G8=(T-1)*4+1\G1=FNA(G8,8,156)\G1=FND(0,3,W$+"'S") 1270 G1=FND(0,4,"Move:") REM IF NO INPUT - STAY HERE 1280 IFINP(0)=0THEN1280ELSEG2=INP(1) REM TEST FOR CARRIAGE RETURN 1290 IFG2=13THENG2=-37\G3=-1\GOTO1330 REM TEST FOR SPACE 1300 IFG2=32THENG2=-32\RETURN-2 REM TEST FOR ESCAPE 1310 IFG2=27THENG2=-19\G3=0\GOTO1330 REM ALL OTHER INPUTS 1320 G2=G2-64\G3=G2\IFG2<0ORG2>24THEN1250 1330 G1=FNA(6,4,G2+192)\G1=FND(0,3," ") 1340 G1=FND(0,4," ")\G1=FNA(G8,8,63)\RETURNG3 1350 FNEND REM 1360 DEF FNI$(M$,I,X,Y)\PRINTCHR$(12) 1370 I$=""\I4=LEN(M$)/2+1\I1=FND(32-I4,2,M$)\I1=1 1380 IFINP(0)=0THEN1380ELSEI2=INP(1) 1390 IFI2=13THEN1420ELSEIFI1>ITHEN1380 1400 I$=I$+CHR$(I2)\I3=FNA(X-1+I1,Y,I2+128) 1410 I1=I1+1\GOTO1380 1420 RETURNI$ 1430 FNEND REM DISPLAY Z$ @ X,Y 1440 DEF FND(X,Y,Z$) 1450 FORD5=1TOLEN(Z$) 1460 C$=MID$(Z$,D5,D5)\D6=ASC(C$)\D7=FNA(X-1+D5,Y,D6+128) 1470 NEXT\RETURN0 1480 FNEND REM RET 1 IF BEAR OFF OK 1490 DEF FNB(P) 1500 B1=1\B2=18\B3=1\IFP=-1THENB1=24\B2=7\B3=-1 1510 FORB4=B1TOB2STEPB3\B5=SGN(B(B4)) 1520 IFB5=PTHENRETURN0 1530 NEXT\RETURN1 1540 FNEND REM 1550 DEF FNH(H1,H2) 1560 Z5=((H1*H1+H1)/2)+25\Z6=B(Z5) 1570 IFH2>0THENB(Z5)=Z6+H1\Z6=B(Z5) 1580 Z1=ABS(Z6)\Z2=INT((Z1-1)/3)\Z3=Z1-(Z2*3) 1590 Z1=57+(Z3-1)*2\Z3=12-Z2\Z2=Z2+3 1600 IFH1<0THENZ2=Z3 1610 Z3=FNS(24,H1)\Z4=FNS(24,H1*2) 1620 Z=FNA(Z1,Z2,Z3)\Z=FNA(Z1+1,Z2,Z4) 1630 Z3=15\IFH2<1THENZ3=14 1640 Z=FNF(Z1,Z2,Z3) 1650 RETURN0 1660 FNEND REM 1670 DEF FNW(P)\FORW1=1TO26 1680 IFSGN(B(W1))=PTHENEXIT1710 1690 NEXT\PRINTCHR$(12)\PLOT30,24,0 1700 PRINTW$+" WON !!!"\GOTO1750 1710 RETURN0 1720 OUT0,131 1730 IFINP(0)=0THENRETURNELSEI=INP(1) 1740 IFI<128THEN1730ELSERETURN 1750 REM END OF PROGRAM 10 DIM M(72,7),D(12),Z$(1:21) 20 FILE:2,LIST\H=2 30 MAT READ D \REM D HOLDS LENGTHS OF MONTHS 40 DATA 31,28,31,30,31,30,31,31,30,31,30,31 50 DATA " January "," February"," March "," April " 60 DATA " May "," June "," July "," August " 70 DATA "September"," October "," November"," December" 80 PRINT "PolyLetter Calendar Program by Bob Bybee (01/80)" 90 PRINT 100 PRINT "This program will print a calendar for any year" 110 PRINT "after 1582. What year would you like", 120 INPUT Y 130 IF Y>1582 THEN 160 140 PRINT "You didn't read the instructions." 150 GOTO 100 160 L=0 \REM SET L=1 IF IT'S A LEAP YEAR 170 IF (Y/4=INT(Y/4) AND Y/100<>INT(Y/100)) OR Y/400=INT(Y/400) THEN L=1 180 D(2)=D(2)+L 190 J=Y+INT((Y-1)/4)-INT((Y-1)/100)+INT((Y-1)/400) 200 J=J-INT(J/7)*7+1 \REM J IS THE FIRST DAY (1 TO 7) 210 FOR M0=1 TO 12\PRINT ".", 220 K=6*M0-5 230 FOR D0=1 TO D(M0) 240 M(K,J)=D0 250 J=J+1 260 IF J<8 THEN 290 270 J=1 280 K=K+1 290 NEXT D0 300 NEXT M0\PRINT 310 REM*****FROM HERE ON, WE PRINT OUT THE CALENDAR***** 320 PRINT:H\PRINT:H\PRINT:H\PRINT:H\PRINT:H,TAB(33),Y\PRINT:H 330 Z$=" S M T W T F S" 340 FOR S=1 TO 55 STEP 18 350 READ A$,B$,C$ 360 PRINT:H," ",A$," ",B$, 370 PRINT:H," ",C$ 380 PRINT:H,Z$," ",Z$," ",Z$ 390 FOR T=S TO S+5 400 FOR U=0 TO 2 410 FOR J=1 TO 7 420 K=T+6*U 430 IF M(K,J)<>0 THEN PRINT:H,%3I,M(K,J), ELSE PRINT:H," ", 440 NEXT J 450 PRINT:H," ", 460 NEXT U 470 PRINT:H," " 480 NEXT T 490 PRINT:H," " 500 NEXT S 510 PRINT:H,CHR$(12) 520 STOP 50 REM "CARTOON" - JAM Creative Productions, Inc. 60 REM This program serves no known purpose whatsoever. 100 PRINT CHR$(12), 110 POKE 6144,63 120 FOR S=1 TO 2 150 A,B=0 200 C=30 250 D=50 300 FOR L=1 TO 50 350 PLOT 0,A,1 400 PLOT B,30,1 450 PLOT 50,C,1 500 PLOT D,0,1 550 IF A<30 THEN A=A+1 600 IF B<50 THEN B=B+1 650 IF C>0 THEN C=C-1 700 IF D>0 THEN D =D-1 750 NEXT 800 FOR L=0 TO 10 850 PLOT L,L+30,1 900 PLOT L+50,L+30,1 950 PLOT L+50,L,1 1000 PLOT L,L,1 1050 NEXT 1100 A,B=10 1150 C=40 1200 D=60 1250 FOR L=1 TO 50 1300 PLOT 10,A,1 1350 PLOT B,40,1 1400 PLOT 60,C,1 1450 PLOT D,10,1 1500 IF A<40 THEN A=A+1 1550 IF B<60 THEN B=B+1 1600 IF C>10 THEN C=C-1 1650 IF D>0 THEN D=D-1 1700 NEXT 1750 FOR L=1 TO 29 1800 PLOT 0,L,0 1850 PLOT 50,L,0 1900 IF L=10 THEN PLOT 50,10,1 1950 NEXT 2000 FOR L=11 TO 59 2050 PLOT L,10,0 2100 PLOT L+50,10,1 2150 PLOT L,40,0 2200 PLOT L+50,40,1 2250 NEXT 2260 FOR L=10 TO 40 2270 PLOT 110,L,1 2280 NEXT 2300 FOR L=1 TO 50 2310 PLOT L,30,0 2315 IF L=10 THEN PLOT 10,30,1 2320 PLOT L+50,30,1 2330 PLOT L,0,0 2340 PLOT L+50,0,1 2350 NEXT 2400 FOR L=0 TO 10 2410 PLOT L,L,0 2415 PLOT 110-L,40-L,1 2420 PLOT L,L+30,0 2425 PLOT 110-L,10-L,1 2430 NEXT 2450 FOR L=10 TO 25 2455 PLOT 10,L,0 2460 PLOT 10,50-L,0 2465 PLOT 50,25-L,1 2466 PLOT 50,L+5,1 2467 PLOT 100,25-L,1 2468 PLOT 100,L+5,1 2470 NEXT 2500 FOR L=1 TO 9 2510 PLOT 60-L,40-L,0 2520 PLOT 110-L,40-L,0 2530 PLOT 60-L,10-L,0 2540 PLOT 110-L,10-L,0 2550 NEXT 2600 FOR L=1 TO 10 2610 PLOT 60-L,30,0 2620 PLOT 100+L,10,0 2630 NEXT 2650 FOR L=1 TO 30 2660 PLOT 50,30-L,0 2670 PLOT 110,L+10,0 2680 NEXT 2700 FOR L=1 TO 50 2705 PLOT L+50,0,0 2710 PLOT 110-L,40,0 2720 NEXT 2750 FOR L=1 TO 30 2760 PLOT 60,40-L,0 2770 PLOT 100,L,0 2780 NEXT 2800 FOR L=1 TO 40 2810 PLOT 100-L,30,0 2820 PLOT L+60,10,0 2830 NEXT 2850 FOR L=60 TO 50 STEP -1 2860 PLOT L+1,30,0 2870 PLOT L,30,1 2880 NEXT 2890 FOR X=1 TO 3 2900 FOR L=29 TO 0 STEP -1 2902 IF L=49 THEN 2910 2905 PLOT L+1,30,0 2910 IF L=29 THEN 2930 2920 PLOT 50,L+1,0 2930 PLOT 50,L,1 2940 NEXT 2950 FOR L=49 TO 0 STEP -1 2960 IF L=49 THEN 2980 2970 PLOT L+1,0,0 2980 PLOT L,0,1 2990 NEXT 3000 FOR L=1 TO 30 3010 IF L=1 THEN 3020 3015 PLOT 0,L-1,0 3020 PLOT 0,L,1 3030 NEXT 3040 FOR L=1 TO 50 3050 IF L=1 THEN 3070 3060 PLOT L-1,30,0 3070 PLOT L,30,1 3080 NEXT 3090 NEXT 5000 NEXT 5010 PRINT CHR$(12) 5020 PRINT\PRINT\PRINT\PRINT 5030 PRINT " Wasn't that silly?" 5050 PAUSE 500 5100 GOTO 50 ͒ G2$ 2!@6#|X2! H+26#z@2{?#2@ #2!@>~U2 #~_2 ~i2#~s2 ~}2#~ʇ2 {?–2 zF2!X6#|pŸ2!@~>## ## ##22~2 6 #}2##|X«2!X@@210 REM ***************************************** 20 REM * * 30 REM * MASTERMIND * 40 REM * * 50 REM ***************************************** 60 REM 70 REM written by 80 REM John J. Warkentin 90 REM 15 March 1982 100 REM 110 REM The game of MasterMind for the Poly 8813. 120 REM 130 DATA "A","B","C","D","E","F" 140 V=6144 \ REM Start of video memory space. 150 P1=174 \ REM ASCII "."+128 160 RANDOMIZE 170 PLOT 0,0,0 \ REM This makes an overlay come in. 180 DIM B(10,4) 190 DIM M(4) 200 DIM A$(1:30) 210 DIM B$(1:30) 220 DIM B1$(1:30) 230 DIM M1$(6:8) 240 DIM M2$(4:8) 250 DIM Z$(1:64) 260 DIM Z1$(1:64) 270 A$="MasterMind" 280 B$="by John J. Warkentin" 290 B1$="15 March 1982" 300 REM Sign on. 310 PRINT CHR$(12), 320 Z$=A$ 330 GOSUB 2180 340 Z$=B$ 350 GOSUB 2180 360 Z$=B1$ 370 GOSUB 2180 380 PRINT\PRINT TAB(14), 390 Z$="Do you want instructions (Y or N)?" 400 GOSUB 530 410 IF Z=1 THEN GOSUB 610 420 GOSUB 740 \ REM Set up the playing board. 430 GOSUB 920 \ REM Choose 4 random characters. 440 L=10 \ REM Maximum number of moves. 450 V1=6144+12*64+28 460 GOSUB 1060 \ REM Get a move. 470 GOSUB 1430 \ REM Check it, count correct, perfect. 480 IF Z=1 THEN GOTO 1660 \ REM Quit if a winner. 490 L=L-1 \ REM See if end of game. 500 IF L=0 THEN GOTO 1970 510 V1=V1-64 520 GOTO 460 530 REM Get an answer. 540 REM Return Z=1 for yes, Z=0 for no. 550 REM Enter with Z$= string to ask question. 560 PRINT Z$, 570 INPUT " ",Z1$ 580 Z1$=LEFT$(Z1$,1) 590 IF Z1$="Y" OR Z1$="y" THEN Z=1 ELSE Z=0 600 RETURN 610 REM Show the instructions. 620 FILE:5,OPEN,"G0 THEN GOTO 1180 1130 POKE V2,255 1140 PAUSE 3 1150 POKE V2,T1 1160 PAUSE 7 1170 GOTO 1110 1180 K1=INP(1) 1190 IF K1=20 THEN GOTO 1300 \ REM Left arrow. 1200 IF K1=19 THEN GOTO 1350 \ REM Right arrow. 1210 IF K1=13 THEN GOTO 1400 \ REM Carriage Return. 1220 REM Fall through-- check for legal character. 1230 IF K1<65 OR K1>70 THEN Z=1 ELSE Z=0 1240 Z$="Illegal character input." 1250 IF Z=1 THEN GOSUB 1860 1260 IF Z=1 THEN GOTO 1110 \ REM It was illegal. 1270 REM Fall through if ok. 1280 POKE V2,K1+128 1290 GOTO 1080 1300 REM Character is left arrow. 1310 IF V2=V1 THEN GOTO 1110 \ REM Can't move. 1320 POKE V2,T1 \ REM Replace current char. 1330 V2=V2-2 1340 GOTO 1080 1350 REM Character is right arrow. 1360 IF V2=V1+6 THEN GOTO 1110 \ REM Can't move. 1370 POKE V2,T1 \ REM Replace the current char. 1380 V2=V2+2 1390 GOTO 1080 1400 REM Got a Carriage Return. 1410 POKE V2,T1 \ REM Replace the current char. 1420 RETURN 1430 REM Check for scoring, possible winner. 1440 REM Enter with V1 pointing to left end of current 1450 REM line. M2$(1 through 4) has the correct solution. 1460 REM First count the perfect answers. 1470 G1=0 1480 G2=0 1490 FOR X=1 TO 4 1500 T2=PEEK(V1-2+2*X) 1510 T2=T2 AND 127 1520 T$=CHR$(T2) 1530 IF T$=M2$(X) THEN G1=G1+1 \ REM Count perfect. 1540 FOR Y=1 TO 4 1550 IF T$=M2$(Y) THEN G2=G2+1 \ REM Count any match. 1560 NEXT 1570 NEXT 1580 REM G1=total perfect (match character and column). 1590 REM G2=total correct character only (If counted in 1600 REM G1 then don't count in G2). 1610 G2=G2-G1 1620 POKE V1+10,G2+128+48 1630 POKE V1+12,G1+128+48 1640 IF G1=4 THEN Z=1 ELSE Z=0 1650 RETURN 1660 REM We've got a winner. 1670 FOR X=1 TO 4 1680 T$=M2$(X) 1690 T2=ASC(T$) 1700 POKE 6144+128+26+X*2,T2+128 1710 NEXT 1720 PLOT 5,47,0 1730 FOR X=1 TO 5 1740 PRINT "MASTERMIND! ", 1750 NEXT 1760 GOSUB 2100 1770 REM Do you want to play again? 1780 PLOT 20,3,0 1790 Z$="Do you want to play another game (Y or N)?" 1800 GOSUB 530 1810 IF Z=1 THEN GOTO 420 1820 PRINT CHR$(12)," ", 1830 PRINT "Next time, come when you can stay longer." 1840 PRINT 1850 Z=CALL(1027,0,0,0,0) 1860 REM Report an error. 1870 REM Enter with message in Z$. 1880 PLOT 30,0,0 1890 PRINT "** ERROR ** ",Z$, 1900 GOSUB 2100 1910 RETURN 1920 REM Erase the error line. 1930 PLOT 30,0,0 1940 GOSUB 2130 1950 RETURN 1960 REM End of game-- did not guess pattern. 1970 PLOT 30,4,0 1980 PRINT "I'm sorry, but you did not guess my pattern.", 1990 GOSUB 2100 2000 FOR X=1 TO 4 2010 T$=M2$(X) 2020 T2=ASC(T$) 2030 POKE 6144+128+26+X*2,T2+128 2040 NEXT 2050 PAUSE 90 2060 GOSUB 2100 2070 PLOT 30,4,0 2080 GOSUB 2130 2090 GOTO 1770 \ REM Want to play again? 2100 PRINT CHR$(11), 2110 PLOT 0,47,0 2120 RETURN 2130 REM Erase a line. 2140 PRINT " ", 2150 PRINT " ", 2160 GOSUB 2100 2170 RETURN 2180 REM Print a centered line. 2190 Z=LEN(Z$) 2200 PRINT TAB(32-(Z/2)),Z$ 2210 RETURN 2220 REM MasterMind 10 DIM0 20 DIM R$(1:60) 30DIMI(20:20) 40 DIMA(9:9) 50 DIMI4(8) 60 DIMJ4(8) 70 DIMC(8) 80 DIMD(2) 90M1=0 100Y1=0 110PRINTCHR$(12) 120 PRINT" GREETINGS FROM OTHELLO" 130PRINT\PRINT\INPUT"DO YOU WANT INSTRUCTIONS (Y OR N)",X$ 140IF X$="N"THENGOTO300 150IFX$<>"Y"THENGOTO130 160PRINTCHR$(12) 170PRINT"OTHELLO IS PLAYED ON A 8X8 CHECKER BOARD," 180PRINT"ROWS NUMBERED 1 TO 8 AND COLUMNS A TO H." 190PRINT"THE INITIAL CONFIGURATION IS ALL BLANK, EXCEPT" 200PRINT"FOR THE CENTER FOUR SQUARES, WHICH FORM THE PATTERN," 210PRINT" OX" 220PRINT" XO" 230PRINT"TRY TO PLACE YOUR PIECE SO THAT IT OUTFLANKS" 240PRINT"MINE, CREATING A HORIZONTAL, VERTICAL OR DIAGONAL" 250PRINT"RUN OF MY PIECES BOUNDED AT EACH END BY ATLEAST" 260PRINT"ONE OF YOURS. THIS WILL 'FLIP' MY PIECES TURNING" 270PRINT"THEM INTO YOURS. NOTE : YOU MUST CAPTURE AT LEAST" 280PRINT"ONE OF MY PIECES IN THIS WAY IF POSSIBLE. IF NOT" 290PRINT"YOU FORFIET YOUR TURN BY ENTERING 'O' FOR YOUR MOVE" 300INPUT"SHOULD I WAIT BEFORE MAKING MY MOVES (Y OR N)",X$ 310F2=0\IF X$="N"THEN GOTO 340 320IF X$<>"Y" THEN GOTO 300 330F2=1\PRINT"OK, TYPING ANY KEY WILL LET ME GO...." 340INPUT"SHOULD I PLAY MY BEST STRATEGY ? (Y OR N)",X$\S2=0 350IF X$="N" THEN GOTO 390 360 IF X$<>"Y" THEN GOTO340 370S2=2\B=-1\W=1\Z$="X"\D(0)=ASC(Z$)\Z$="." 380S2=2 390 B=-1\W=1\Z$="X"\D(0)=ASC(Z$)\Z$="." 400D(1)=ASC(Z$)\Z$="0"\D(2)=ASC(Z$) 410FOR K=1 TO 8 420 READ I4(K) 430 NEXT 440DATA 0,-1,-1,-1,0,1,1,1 450FOR K=1 TO 8 460 READ J4(K) 470 C(K)=64+K 480 NEXT K 490 DATA 1,1,0,-1,-1,-1,0,1 500 FOR I=0 TO 9 510 FOR J=0 TO 9 520 A(I,J)=0 530 NEXT\NEXT 540A(4,4)=W\A(5,5)=W\A(4,5)=B\A(5,4)=B 550C1=2\H1=2\N1=4\Z=0 560INPUT"DO YOU WANT TO HAVE X OR O ",X$ 570C=W\H=B\IF X$="X" THEN GOTO600 580 IF X$<>"O" THEN GOTO 560 590 C=B\H=W 600INPUT"DO YOU WANT TO MOVE FIRST ? (Y OR N)",X$ 610PRINTCHR$(12)\GOSUB2230\GOSUB1860 620PLOT0,6,0 630PRINT" OH! BYE THE WAY, I'M GOING TO BEAT YOUR BUNS OFF !" 650PAUSE120\GOSUB2230 660IF X$="N" THEN GOTO 720 670 IF X$<>"Y" THEN GOTO 600 680 GOSUB1860 690 GOTO 1070 700IF F2=0 THEN GOTO 720 710PLOT0,6,0\INPUT"ARE YOU READY ?",X$ 720 IF C1=H1 THEN GOTO 2260 730 IF C1>H1 THEN GOTO 2390 740 IF C1

0 THEN GOTO 870 790 GOSUB 1620\IF F1=0 THEN GOTO 870 800 U=-1\GOSUB 1680\IF S1=0 THEN GOTO 870 810 IF (I-1)*(I-8)=0 THEN S1=S1+S2 820 IF(J-1)*(J-8)=0 THEN S1=S1+S2 830 IF S1B1 THEN GOTO 860 850 IF RND(0)>.5 THEN GOTO 870 860 B1=S1\I3=I\J3=J 870 NEXT\NEXT 880 IF B1>0 THEN GOTO 930 890GOSUB2230\PLOT0,6,0\PRINT"I HAVE TO FORFIET MY TURN" 900PAUSE120\GOSUB2230 910IF Z=1 THEN GOTO1380 920 Z=1\GOTO 1070 930 Z=0\R$="I WILL MOVE TO "+CHR$(48+I3)+","+CHR$(C(J3)) 940PLOT0,3,0\PRINTR$ 950 GOSUB 2090 960 I=I3\J=J3\U=1\GOSUB 1680 970C1=C1+S1+1\H1=H1-S1\N1=N1+1 980 GOSUB 2230 990 R$="THAT GIVES ME "+CHR$(48+S1)+" OF YOUR PIECES." 1000PLOT0,6,0\PRINTR$ 1010PAUSE 120 1020M1=M1+S1 1030GOSUB2230 1040GOSUB1900 1050 IF H1=0 THEN GOTO 1380 1060 IF N1=64 THEN GOTO 1380 1070 T1=H\T2=C\GOSUB 1830 1080 IF I<0 THEN GOTO 1070 1090 IF I>8 THEN GOTO 1070 1100 IF I<>0 THEN GOTO 1150 1110PLOT0,3,0\INPUT"ARE YOU FORIETING YOUR TURN ? (Y OR N)",X$ 1120 IF X$<>"Y" THEN GOTO 1070 1130 IF Z=1 THEN GOTO 1380 1140 Z=1\GOTO700 1150 FOR J=1 TO 8 1160 W1=J\IF CHR$(C(J))=X$ THEN EXIT 1190 1170 NEXT J 1180 GOTO 1070 1190 IF A(I,J)=0 THEN GOTO 1220 1200PLOT0,6,0\PRINT"SORRY, THAT SQUARES OCCUPIED;TRY AGAIN" 1210 PAUSE120\GOSUB2230\GOTO1070 1220 GOSUB 1620 1230 IF F1=1 THEN GOTO 1260 1240PLOT0,6,0\PRINT"SORRY YOUR NOT NEXT TO ONE OF MY PIECES" 1250PRINT"TRY AGAIN"\PAUSE120\GOSUB2230\GOTO1070 1260 U=-1\GOSUB 1680 1270 IF S1>0 THEN GOTO 1300 1280PLOT0,3,0\PRINT"THAT DOESNT FLANK A ROW; TRY AGAIN" 1290PAUSE120\GOSUB2230\GOTO1070 1300Z=0\R$="THAT GIVES YOU "+CHR$(48+S1)+" OF MY PIECES." 1310PLOT0,3,0\PRINTR$\PAUSE120\GOSUB2230 1320Y1=Y1+S1 1330 U=1\GOSUB 1680 1340H1=H1+S1+1\C1=C1-S1\N1=N1+1\GOSUB1900 1350 IF C1=0 THEN GOTO 1380 1360 IF N1=64 THEN GOTO 1380 1370 GOTO 700 1380PRINT\PRINT"YOU HAVE",H1," PIECES AND I HAVE",C1," PIECES." 1390PRINT"YOU HAVE TAKEN",Y1," PIECES, I HAVE TAKEN",M1," PIECES" 1400PRINT"PLEASE TYPE THE SPACE BAR TO CONTINUE" 1410WAIT 1420 IF H1=C1 THEN GOTO1450 1430 IF H1>C1 THEN GOTO 1460 1440PRINT"SORRY, I WON THAT ONE......!"\GOTO 1480 1450PRINT"A TIE......!"\GOTO 1540 1460PRINT"YOU WON.....!" 1470PAUSE 60 1480 C1=(64*ABS(C1-H1))/N1\PRINT"THAT WAS A ", 1490 IF C1<11 THEN PRINT"SQUEAKER !"\GOTO 1540 1500 IF C1<25 THEN PRINT"HOT GAME !"\GOTO 1540 1510 IF C1<39 THEN PRINT"FIGHT !"\GOTO 1540 1520 IF C1<53 THEN PRINT"WALKAWAY !"\GOTO 1540 1530PRINT"PERFECT GAME !"\PAUSE240 1540PAUSE240 1550PRINTCHR$(12) 1560INPUT"DO YOU WANT TO PLAY ANOTHER GAME ?(Y OR N)",X$ 1570 IF X$="Y" THEN GOTO 500 1580 IF X$<>"N" THEN GOTO 1540 1590PRINT"THANKS FOR PLAYING" 1600 PAUSE 120 1610 GOTO 1820 1620 FOR I1=-1 TO 1 1630 FOR J1=-1 TO 1 1640 IF A(I+I1,J+J1)=T2 THEN EXIT 1670 1650 NEXT\NEXT 1660 F1=0\RETURN 1670 F1=1\RETURN 1680 S1=0 1690 FOR K=1 TO 8 1700I5=I4(K)\J5=J4(K)\I6=I+I5\J6=J+J5\S3=0 1710 IF A(I6,J6)<>T2 THEN GOTO 1800 1720 S3=S3+1\I6=I6+I5\J6=J6+J5\IF A(I6,J6)=T1 THEN GOTO 1750 1730 IF A(I6,J6)=0 THEN GOTO 1800 1740 GOTO 1720 1750 S1=S1+S3\IF U<>1 THEN GOTO 1800 1760 I6=I\J6=J 1770 FOR K1=0 TO S3 1780 A(I6,J6)=T1\I6=I6+I5\J6=J6+J5 1790 NEXT K1 1800 NEXT K 1810 RETURN 1820 OUT 0,"BYE"+CHR$(13)\STOP 1830 ON ERROR GOSUB 2190 1840PLOT0,6,0\INPUT" YOUR MOVE --(ROW COL)",I,X$\PLOT0,6,0 1850 RETURN 1860R$=" PIECES TAKEN: YOURS= MINE=" 1870PLOT0,45,0\PRINTR$\R$="" 1880R$=" OWNERSHIP: YOU HAVE I HAVE" 1890PLOTO,42,0\PRINTR$\R$="" 1900PLOT56,45,0\PRINTY1 1910PLOT88,45,0\PRINTM1 1920POKE6208,63 1930PLOT56,42,0\PRINTH1 1940PLOT88,42,0\PRINTC1 1950POKE6272,63 1960P$="A"\P=ASC(P$)+128 1970 FOR X=6354 TO 6382 STEP+4 1980 POKE X,P\P=P+1\NEXTX 1990 P=49+128 2000 FOR X=6415 TO 6863 STEP +64 2010 POKE X,P\P=P+1\NEXTX 2020 X=6418 2030 FOR I=1 TO 8 2040 FOR J=1 TO 8 2050 P$=CHR$(D(A(I,J)+1)) 2060 POKE X, ASC(P$)+128 2070 X=X+4\NEXTJ\X=X+32\NEXTI 2080 RETURN 2090 P=(I3*64)+6350 2100 P1=(C(J3)-64)*4 2110 P=P+P1 2120 FOR X=1 TO 10 2130 POKE P,63 2140 PAUSE 10 2150IFC=WTHENPOKEP,48+128ELSEPOKEP,88+128 2160 PAUSE 10 2170 NEXT 2180 RETURN 2190PLOT0,6,0\PRINT"I'M SORRY I DIDNT UNDERSTAND THAT...!" 2200PAUSE120\GOSUB2230\RETURN 2210 Q$="" 2220 GOSUB1920\PAUSE60\RETURN 2230 FOR X=1 TO 60 2240 POKE 6975+X,63\POKE 7039+X,63\POKE 7103+X,63 2250 NEXT X\RETURN 2260 I=INT(RND(0)*10+1)\GOSUB 2230 2270ON I GOTO 2280,2290,2300,2310,2320,2330,2340,2350,2360,2370 2280R$="TIE GAME, HAH ! WATCH THIS"\GOTO2380 2290R$="IT'S STILL ANYONES GAME"\GOTO2380 2300R$="NOT BAD AT ALL !"\GOTO2380 2310R$="BEGINNERS LUCK, THATS ALL IT IS !"\GOTO2380 2320R$="YOUR NOT TO BAD TO HAVE COME THIS FAR !"\GOTO2380 2330R$="PLEASE TRY TO BE SERIOUS WILL YOU !"\GOTO2380 2340R$="ALL YOU CAN HOPE TO DO IS BREAK EVEN !"\GOTO2380 2350R$="YOU FLIP A MEAN CHIP KID !!!!"\GOTO2380 2360R$="DO YOU WANT TO CALL IT QUITS ???"\GOTO2380 2370R$="TIED YOU AGAIN.... !"\GOTO2380 2380 PLOT0,6,0\PRINTR$\GOTO 750 2390I=INT(RND(0)*10+1)\GOSUB2230 2400ONIGOTO2410,2420,2430,2440,2450,2460,2470,2480,2490,2500 2410R$="THIS IS MERE CHILDS PLAY FOR ME !"\GOTO2510 2420R$="I THOUGHT I WAS GOING TO HAVE COMPETITION!"\GOTO2510 2430R$="I'D GIVE UP IF I WHERE YOU TURKEY !"\GOTO2510 2440R$="WHATS THE MATTER ? CANT STAND THE HEAT ?"\GOTO2510 2450R$="OH THE POWER OF A COMPUTER !!!!"\GOTO2510 2460R$="HUMANS ARE IMPERECT ARENT THEY DUM DUM !"\GOTO2510 2470R$="YOU'D BETTER GO BACK TO TIC TAC TOE !"\GOTO2510 2480R$="YOUR STILL A SUCKER FOR THE EASY ONES !"\GOTO2510 2490R$="YOUR A LITTLE BETTER THAN A TRS-80 !"\GOTO2510 2500R$="O HELLS FIRE PUT SOME THOUGHT INTO IT !!!"\GOTO2510 2510 PLOT0,6,0\PRINTR$\GOTO750 2520 I=INT(RND(0)*10+1)\GOSUB2230 2530ONIGOTO2540,2550,2560,2570,2580,2590,2600,2610,2620,2630 2540R$="YOU CAN BLOW A MOVE TO YOU KNOW !"\GOTO2640 2550R$="AW HORSE PUCKIE ....!"\GOTO2640 2560R$="YOU THINK THIS IS SO DAMMED EASY,YOUR NEXT !"\GOTO2640 2570R$="ANYONE CAN MAKE A SIMMPLE MISTAKE YOU KNOW !"\GOTO2640 2580R$="SURE I'M HAVING TROUBLE,THIS IS A HARD GAME"\GOTO2640 2590R$="I MUST HAVE A BAD CHIP IN MEMORY....!"\GOTO2640 2600R$="A LITTLE RESPECT PLEASE. IT'S THE PROGRAM!"\GOTO2640 2610R$="SYNTAX ERROR (FOOLED YOU DIDNT I ?)"\GOTO2640 2620R$="REALLY I'D RATHER QUIT NOW. YOU ARE AHEAD !"\GOTO2640 2630R$="THIS IS EMBARRESING. MY FLOPPIES ARE BLUSHING !"\GOTO2640 2640PLOT0,6,0\PRINTR$\GOTO750 10 DIGITS 26 20 INPUT "Prime: ",P 30 INPUT "Base: ",B 40 S=0 50 FOR I=0 TO P-2 60 S=S+B^I 70 NEXT 80 PRINT "Sum=",S 90 PRINT "Sum/Prime=",S/P, 100 IF S/P=INT(S/P) THEN PRINT " ...it worked!" \GOTO 120 110 PRINT " ...it DIDN'T work." 120 PRINT \GOTO 20