IMD 1.15: 16/05/2007 8:01:40 fog gam 003   مممممممممم  مممممممممم  مممممممممم  BACCARATBASDISK DOCSTARTREKBAS7 BACCRRT BAS E-SKETCHBASE-SKETCHDOCCASTLE BASM !CASTLE DOCt"#$%&'()م-FOG/GAM003مممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممم10 PRINT TAB(26);"BACCARAT" 20 PRINT 30 PRINT 40 PRINT "BACCARAT -- CHEMIN DE FER" 50 PRINT 60 PRINT "DO YOU NEED INSTRUCTIONS (Y/N)"; 70 INPUT Q$ 80 IF Q$<>"y" THEN IF Q$<>"Y" THEN 210 90 PRINT " BACCARAT IS A VERY POPULAR GAME IN LAS" 100 PRINمT"VEGAS. THE PLAYER AND BANKER EACH RECEIVE" 110 PRINT"TWO CARDS FROM A 'SHOE' CONTAINING 8 DECKS" 120 PRINT"OF CARDS. ALL CARD COMBINATIONS TOTALING" 130 PRINT"TEN ARE NOT COUNTED. THE ONE THAT ENDS UP" 140 PRINT"CLOSER TO NINE WINS. THE STAKES ARE HI  GH;" 150 PRINT"ALL OF THE PLAYERS START WITH TEN THOUSAND" 160 PRINT"DOLLARS. YOU CAN BET ON THE DEALER OR THE" 170 PRINT"PLAYER. A THIRD CARD IS GIVEN ONLY UNDER" 180 PRINT"CERTAIN CONDITIONS, AS YOU WIL SEE. LET" 190 PRINT"US BEGIN. GOOD LUCK!!" INT"(1) BANKER OR (2) PLAYER"; 640 INPUT F1(J) 650 IF F1(J)>=1000 THEN 580 660 IF (F1(J)-1)*(F1(J)-2)<>0 THEN 630 670 NEXT J 680 J=0 690 T1=B(1)+B(2) 700 T2=B(3)=B(4) 710 PRINT 720 PRINT"BANKER"TAB(20)"PLAYER" 730 PRINT C$(3)TAB(20)C$(1) 7200 PRINT 210 DIM M(20),F1(20),F(20),B$(13),V(13),G$(20) 220 DIM Z(9,10),Q(4,13) 230 FOR X=3 TO 6 240 FOR Y=1 TO 10 250 READ Z(X,Y) 260 NEXT Y,X 270 FOR S1=1 TO 10:READ W(S1):NEXT 280 FOR S1=1 TO 4:READ A$(S1):NEXT 290 FOR S1=1 TO 13:READ B$40 PRINT C$(4)TAB(20)C$(2) 750 IF T1<10 THEN 770 760 T1=T1-10 770 IF T2<10 THEN 790 780 T2=T2-10 790 IF W(T1+1)=0 THEN 860 800 PRINT"PLAYER MUST DRAW." 810 PRINT C$(5) 820 T1=T1+B(5) 830 IF T1<10 THEN 860 840 T1=T1-10 850 GOTO 880 860 PRINT"PLA(S1):NEXT 300 FOR S1=1 TO 13:READ V(S1):NEXT 310 PRINT 320 INPUT "ENTER NUMBER FROM 1 TO 10000";X 330 RANDOMIZE X 340 PRINT 350 PRINT"HOW MANY PLAYERS"; 360 INPUT P1 370 FOR J=1 TO P1 380 PRINT"WHAT IS THE NAME OF PLAYER"J; 390 INPUT G$(J) 4YER CANNOT DRAW." 870 J=11 880 PRINT"PLAYERS TOTAL:"T1 890 PRINT 900 IF T2<3 THEN 960 910 IF T2>6 THEN 1020 920 IF J<>11 THEN 950 930 IF T2=6 THEN 1020 940 GOTO 960 950 IF Z(T2,B(5)+1)=0 THEN 1020 960 PRINT"BANKER MUST DRAW." 970 PRINT C$(6) 9800 M(J)=10000 410 NEXT J 420 FOR S1=1 TO 4 430 FOR S2=1 TO 13 440 Q(S1,S2)=0 450 NEXT S2 460 NEXT S1 470 FOR J=1 TO 6 480 C=INT(1+RND(1)*4) 490 D=INT(1+RND(1)*13) 500 Q(C,D)=Q(C,D)+1 510 IF Q(C,D)>=32 THEN 480 520 B(J)=V(D) 0 T2=T2+B(6) 990 IF T2<10 THEN 1010 1000 T2=T2-10 1010 GOTO 1030 1020 PRINT"BANKER CANNOT DRAW." 1030 PRINT"BANKERS TOTAL:"T2 1040 PRINT 1050 IF T2<>T1 THEN 1080 1060 PRINT"IT'S A TIE. THE HAND IS PLAYED OVER." 1070 GOTO 470 1080 IF T2M(J) THEN 580 610 IF F(J)<>INT(F(J)) THEN 580 620 IF F(J)<1 THEN 580 630 PR20 1090 W1=1 1100 PRINT"BANKER WINS!!" 1110 GOTO 1130 1120 PRINT"PLAYER WINS!!" 1130 FOR J=1 TO P1 1140 IF M(J)<=0 THEN 1220 1150 PRINT G$(J)" "; 1160 IF F1(J)=W1 THEN 1200 1170 M(J)=M(J)-F(J) 1180 PRINT"LOSES $"F(J)", FOR A TOTAL OF $"  M(J)"." 1190 GOTO 1220 1200 M(J)=M(J)+F(J) 1210 PRINT"WINS $"F(J)", FOR A TOTAL OF $"M(J)"." 1220 NEXT J 1230 FOR J=1 TO P1 1240 IF M(J)<>0 THEN 1280 1250 NEXT J 1260 PRINT"THANK YOU FOR YOUR MONEY, AND "; 1270 GOTO 1410 1280 PRINT 1290 015. BACCRRT, which is similar to BACCARAT, came from -CPMUG.026. E-SKETCH was submitted by Dave Blair of FOG. CASTLE.DOC & E-SKETCH.DOC provide instructions for each of those games. To run these games, place MBASIC in drive A and this disk PRINT"-------- NEW GAME --------" 1300 PRINT 1310 FOR X=1 TO 4 1320 FOR Y=1 TO 13 1330 IF Q(X,Y)<>8 THEN 470 1340 NEXT Y,X 1350 GOTO 420 1360 DATA 1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,1,1,1,0,0 1370 DATA 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0 1380 DATin 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. JA 1,1,1,1,1,1,0,0,0,0,SPADES,HEARTS,DIAMONDS 1390 DATA CLUBS,ACE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT 1400 DATA NINE,TEN,JACK,QUEEN,KING,1,2,3,4,5,6,7,8,9,0,0,0,0 1410 PRINT"THANK YOU FOR PLAYING." 1420 END E,SIX,SEVEN,EIGHT 1400 DATA NINE,TEN,JACK,Qim Woolley FOG Disk Librarian August, 1982 lename" where filename represents the name of one of these games. The quotation marks are required. Jمم DISK.DOC -FOG/GAM.003 First Osborne Group (FOG) Games Disk This disk contains MBASIC games. BACCARAT & ELIZA were previously found on -FOG.004, STARTREK was on -FOG.005, and CASTLE was on -FOG.م  م " 340 R=PEEK(&HEF67)+PEEK(&HEF68)+PEEK(&HEF69) 350 RANDOMIZE R 370 T=INT(RND*20+20)*100:T0=T:T9=25+INT(RND*10) 380 D0=0:E=3000:E0=E 440 P=10:P0=P:S9=200:S=0:B9=0:K9=0:X$="":X0$=" is" 470 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2) 475 DمEF FNR=INT(RND*7.98+1.01) 480 REM initialize enterprise position 490 Q1=FNR:Q2=FNR:S1=FNR:S2=FNR 530 FOR I=1 TO 9:C(I,1)=0:C(I,2)=0:NEXT 540 C(3,1)=-1:C(2,1)=-1:C(4,1)=-1:C(4,2)=-1 550 C(5,2)=-1:C(6,2)=-1 600 C(1,2)=1:C(2,2)=1:C(6,1)=1:C(7,1)=1:C(8,110 'SUPER STARTREK 15 ' 20 'From BASIC COMPUTER GAMES, Creative Computing 30 'Press, Edited by David H.Ahl, pp 157-163. 35 ' 40 'Entered by hand, modified for the OSBORNE 1, 50 'and significantly enhanced by J.A.Woolley, 60 'member of the First Osbo)=1 610 C(8,2)=1:C(9,2)=1 670 FOR I=1 TO 8:D(I)=0:NEXT 710 A1$="NAVSRSLRSPHATORSHEDAMCOMXXX" 810 REM setup what exists in galaxy 815 REM k3=# klingons b3=# starbases s3=# stars 820 FOR I=1 TO 8:FOR J=1 TO 8:K3=0:Z(I,J)=0:R1=RND 850 IF R1>.98 THEN rne Group (FOG), 70 'Santa Clara Valley, California. 190 CLEAR 200 DIM G(8,8),C(9,2),K(3,3),Z(8,8),D(8),SLOG$(19),TLOG(19) 210 REM 220 PRINT CHR$(26) 221 PRINT" ,------*------," 222 PRINT" ,------------- '--- -----K3=3:K9=K9+3:GOTO 980 860 IF R1>.95 THEN K3=2:K9=K9+2:GOTO 980 870 IF R1>.8 THEN K3=1:K9=K9+1 980 B3=0:IF RND>.96 THEN B3=1:B9=B9+1 1040 G(I,J)=K3*100+B3*10+FNR:NEXT J,I 1050 IF K9>T9 THEN T9=K9+1 1100 IF B9<>0 THEN 1200 1150 IF G(Q1,Q2)<200 THEN G(-'" 223 PRINT" '-------- --' / /" 224 PRINT" ,---' '---------/ /--," 225 PRINT" '------------------'" 226 PRINT:PRINT" THE USS ENTERPRISE --- NCC-1701" 227 PRINT:PRINT:PRINT:PRINT:PRINT 270 Z$=" Q1,Q2)=G(Q1,Q2)+100:K9=K9+1 1160 B9=1:G(Q1,Q2)=G(Q1,Q2)+10:Q1=FNR:Q2=FNR 1200 K7=K9:IF B9<>1 THEN X$="s":X0$=" are" 1230 PRINT"Your orders are as follows:" 1240 PRINT" Destroy the";K9;"Klingon warships which have" 1245 PRINT" invaded the galaxy be  fore they can attack" 1250 PRINT" Federation Headquarters on Stardate";T0+T9;CHR$(8)+"." 1255 PRINT" This gives you";T9;"days. There";X0$;B9 1260 PRINT" Starbase";X$;" in the galaxy for resupplying" 1270 PRINT" your ship. Hit any key except R*.01):B3=INT(G(Q1,Q2)*.1)-10*K3 1540 S3=G(Q1,Q2)-100*K3-10*B3:IF K3=0 THEN 1590 1560 PRINT"Combat Area Condition *RED*"+CHR$(7) 1570 IF S>200 THEN 1590 1580 PRINT" Shields dangerously low" 1590 FOR I=1 TO 3:K(I,1)=0:K(I,2)=0:NEXT 1600 FOR IETURN when" 1275 PRINT" you are ready to accept command." 1300 I=RND:IF INPUT$(1)=CHR$(13) THEN 1300 1301 PRINT CHR$(26)+"Starfleet Command wishes you to accept special" 1302 PRINT"energy conservation measures. Will you accept ..." 1303 INPUT"... (=1 TO 3:K(I,3)=0:NEXT 1610 Q$=Z$+Z$+Z$+Z$+Z$+Z$+Z$+LEFT$(Z$,17) 1660 REM position enterprise in quadrant, then place 1665 REM K3 klingons, B3 starbases, and S3 stars elsewhere 1680 A$="<*>":Z1=S1:Z2=S2:GOSUB 8670:IF K3<1 THEN 1820 1720 FOR I=1 TO K3:GYES/NO/MAYBE)";X0$ 1304 X$=" cowardice ":IF X0$="NO" THEN 1309 1306 P0=8:E0=2500:X$=" " 1307 IF X0$="YES" THEN P0=6:E0=2000:X$=" severly " 1308 PRINT"Sorry, but your resources will be";X$;"limited.":X$=" bravery " 1309 E=E0:P=P0:PRINT"Your";X$;"will bOSUB 8590:A$="+K+":Z1=R1:Z2=R2 1780 GOSUB 8670:K(I,1)=R1:K(I,2)=R2:K(I,3)=S9*(.5+RND) 1790 NEXT 1820 IF B3<1 THEN 1910 1880 GOSUB 8590:A$=">!<":Z1=R1:B4=R1:Z2=R2:B5=R2 1890 GOSUB 8670 1910 FOR I=1 TO S3:GOSUB 8590 1912 A$=" * " 1914 Z1=R1:Z2=R2 19e noted in the ship's log.":LOGS=0:LOGF=0:TLOG(0)=T0:SLOG$(0)="Noted Captain's"+X$+"in face of enemy." 1310 REM here any time new quadrant entered 1320 Z4=Q1:Z5=Q2:K3=0:B3=0:S3=0:G5=0:D4=.5*RND 1330 Z(Q1,Q2)=G(Q1,Q2) 1390 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>20 GOSUB 8670:NEXT 1980 GOSUB 6430 1990 IF S+E>10 THEN IF E>10 OR D(7)=0 THEN 2060 2020 PRINT:PRINT"** FATAL ERROR ** You've just stranded your" 2025 PRINT"ship in space. You have insufficient maneuvering" 2030 PRINT"energy, and shield control is p8 THEN 1600 1430 GOSUB 9030:PRINT:IF T0<>T THEN 1490 1460 PRINT"Your mission begins with your Starship located" 1470 PRINT"in the galactic quadrant, '";G2$;"'." 1480 GOTO 1500 1490 PRINT"Now entering ";G2$;" quadrant . . ." 1500 PRINT:K3=INT(G(Q1,Q2)resently incapable" 2040 PRINT"of cross-circuiting to engine room!!":GOTO 6220 2060 INPUT"COMMAND";A$ 2061 IF A$="E" THEN 5530 2062 J=3:IF LEN(A$)<=1 THEN J=1:GOTO 2080 2063 IF MID$(A$,2,1)<>" " THEN 2080 2064 IF LEN(A$)>2 THEN X=VAL(MID$(A$,3)) 206  5 FOR I=1 TO 9:IF LEFT$(A$,1)<>MID$(A1$,3*I-2,1) THEN 2068 2066 IF I=2 OR I=7 THEN PRINT CHR$(26) 2067 ON I GOTO 2069,1980,4000,4260,2070,2068,5690,2074,6270 2068 NEXT I:IF LEFT$(A$,1)="E" THEN 2072 ELSE 2170 2069 C1=X:GOTO 2305 2070 IF P<=0 OR D(5)<0 PRINT"Lt. Sulu reports, 'Incorrect course data, Sir!'" 2340 GOTO 1990 2350 X$="8":IF D(1)<0 THEN X$="0.2" 2360 PRINT"WARP FACTOR (0-";X$;")";:INPUT W1 2370 IF D(1)<0 AND W1>.2 THEN 2470 2380 IF W1>0 AND W1<=8 THEN 2490 2390 IF W1=0 THEN 1990 2420 P THEN 4700 2071 C1=X:GOTO 4770 2072 IF D(7)<0 THEN 5530 2073 GOTO 5580 2074 IF D(8)<0 THEN 7290 2075 IF X<0 THEN 1990 2076 A=X:GOTO 7350 2080 FOR I=1 TO 9:IF LEFT$(A$,J)<>MID$(A1$,3*I-2,J) THEN 2160 2100 IF I=2 OR I=7 THEN PRINT CHR$(26) 2140 ON IRINT"Chief Engineer Scott reports, 'The engines" 2430 PRINT"won't take WARP";W1;"!'":GOTO 1990 2470 PRINT"WARP engines damaged. Max. speed = WARP 0.2" 2480 GOTO 1990 2490 N=INT(W1*8+.5):IF E-N>=0 THEN 2590 2500 PRINT"Engineering reports, 'Insufficien GOTO 2300,1980,4000,4260,4700,5530,5690,7290,6270 2160 NEXT I 2170 PRINT"Enter one of the following:" 2180 PRINT" NAV or N n to set course" 2190 PRINT" SRS or S for short range sensor scan" 2200 PRINT" LRS or L for long range sensor scan" t energy available" 2510 PRINT"for maneuvering at WARP";W1;"!'" 2530 IF S=1 THEN D6=1 2770 FOR I=1 TO 8:IF  2260 PRINT" XXX or X to resign your command" 2270 PRINT" where n is a number (optional)" 2280 PRINT:GOTO 1990 2290 REM course control begins here 2300 INPUT"COURSE (1-9)";C1 2305 IF C1=9 THEN C1=1 2310 IF C1>=1 AND C1<9 THEN 2350 2330D(I)>=0 THEN 2880 2790 D(I)=D(I)+D6:IF D(I)>-.1 AND D(I)<0 THEN D(I)=-.1:GOTO 2880 2800 IF D(I)<0 THEN 2880 2810 PRINT"Damage Control Report:" 2840 R1=I:GOSUB 8790:PRINT G2$;" repair completed." 2850 GOSUB 9400:SLOG$(LOGF)=G2$+" repaired." 2880 NEXT:  IF RND>.2 THEN 3040 2910 R1=FNR:IF RND>=.6 THEN 2990 2930 D(R1)=D(R1)-(RND*5+1):PRINT"Damage Control Report:" 2960 GOSUB 8790:PRINT G2$;" damaged.":PRINT 2970 GOSUB 9400:SLOG$(LOGF)=G2$+" damaged.":GOTO 3040 2990 IF D(R1)>=0 THEN 3040 3000 D(R1)=D(R1Q1+X+N*X1:Y=8*Q2+Y+N*X2 3510 Q1=INT(X/8):Q2=INT(Y/8):S1=INT(X-Q1*8) 3550 S2=INT(Y-Q2*8):IF S1=0 THEN Q1=Q1-1:S1=8 3590 IF S2=0 THEN Q2=Q2-1:S2=8 3620 X5=0:IF Q1<1 THEN X5=1:Q1=1:S1=1 3670 IF Q1>8 THEN X5=1:Q1=8:S1=8 3710 IF Q2<1 THEN X5=1:Q2=1:S2=1 )+RND*3+1:PRINT"Damage Control Report:" 3030 GOSUB 8790:PRINT G2$;" state of repair improved.":PRINT 3040 FOR I=1 TO 8:IF D(I)>0 THEN D(I)=0 3050 NEXT I 3060 REM begin moving starship 3070 A$=" ":Z1=INT(S1):Z2=INT(S2):GOSUB 8670 3110 X1=C1:X2=C1:C13750 IF Q2>8 THEN X5=1:Q2=8:S2=8 3790 IF X5=0 THEN 3860 3800 PRINT"Lt. Uhura reports message from Starfleet Command:" 3810 PRINT"'Permission to attempt crossing of galactic peri-" 3820 PRINT"meter is hereby *DENIED*. Shut down engines.'" 3830 PRINT"C=INT(C1) 3115 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(X1-C1) 3120 X=S1:Y=S2 3140 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(X2-C1) 3150 Q4=Q1:Q5=Q2 3170 FOR I=1 TO N:S1=S1+X1:S2=S2+X2 3180 IF S1<1 OR S1>=9 OR S2<1 OR S2>=9 THEN 3500 3240 S8=INT(S1)*24+INT(S2)*3-26 32hief Engineer Scott reports, 'WARP engines" 3840 PRINT"shut down at sector";S1;",";S2;"of quadrant";Q1;",";Q2;".'" 3860 IF 8*Q1+Q2=8*Q4+Q5 THEN 3370 3870 T=T+1:IF T>T0+T9 THEN 6220 3880 GOSUB 3910:GOTO 1320 3900 REM maneuver energy s/r 3910 E=E-N-10:50 IF MID$(Q$,S8,3)=" " THEN 3360 3320 S1=INT(S1-X1):S2=INT(S2-X2) 3330 PRINT"WARP engines shut down at sector";S1;",";S2 3340 IF MID$(Q$,S8,3)=">!<" THEN PRINT"for docking.":GOTO 3370 3350 PRINT"due to bad navigation.":GOTO 3370 3360 NEXT:S1=INT(S1IF E>=0 THEN RETURN 3930 PRINT"Shield Control supplies energy to comlete maneuver." 3940 S=S+E:E=0:IF S<=0 THEN S=0 3980 RETURN 3990 REM long range sensor scan code 4000 IF D(3)<0 THEN PRINT"Long range sensors inoperable.":GOTO 1990 4030 PRINT"Long r):S2=INT(S2) 3370 A$="<*>":Z1=INT(S1):Z2=INT(S2):GOSUB 8670 3380 GOSUB 3910:T8=1 3430 IF W1<1 THEN T8=.1*INT(10*W1) 3450 T=T+T8:IF T>T0+T9 THEN 6220 3470 REM see if docked, then get command 3480 GOTO 1980 3490 REM exceeded quadrant limits 3500 X=8*ange scan for quadrant";Q1;",";Q2 4040 O1$="-------------------":PRINT O1$ 4060 FOR I=Q1-1 TO Q1+1:N(1)=-1:N(2)=-2:N(3)=-3 4070 FOR J=Q2-1 TO Q2+1 4120 IF I>0 AND I<9 AND J>0 AND J<9 THEN N(J-Q2+2)=G(I,J):Z(I,J)=G(I,J) 4180 NEXT J 4190 FOR L=1 TO 3  :PRINT": ";:IF N(L)<0 THEN PRINT"*** ";: GOTO 4230 4210 PRINT RIGHT$(STR$(N(L)+1000),3);" "; 4230 NEXT L:PRINT":":PRINT O1$:NEXT I:GOTO 1990 4250 REM phaser control code begins here 4260 IF D(4)<0 THEN PRINT"Phasers inoperative.":GOTO 1990 4265 IF K3) 4660 IF K9<=0 THEN 6370 4670 NEXT I:GOSUB 6000:GOTO 1990 4690 REM photon torpedo code begins here 4700 IF P<=0 THEN PRINT"All photon torpedoes expended.":GOTO 1990 4730 IF D(5)<0 THEN PRINT"Photon tubes are not operational.":GOTO 1990 4760 INPUT"PH>0 THEN 4330 4270 PRINT"Science Officer Spock reports, 'Sensors show no" 4280 PRINT"enemy ships in this quadrant.'":GOTO 1990 4330 IF D(8)<0 THEN PRINT"Computer failure hampers accuracy." 4350 PRINT"Phasers locked on target." 4360 PRINT"Energy availabOTON TORPEDO COURSE (1-9)";C1 4770 IF C1=9 THEN C1=1 4775 X1=C1:X2=C1:C1=INT(C1) 4780 IF C1>=1 AND C1<9 THEN 4850 4790 PRINT"Ensign Chekov reports, 'Incorrect course data, Sir!'" 4800 GOTO 1990 4850 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(X1-C1) 4855 E=E-2:le =";E;"units." 4370 INPUT"NUMBER OF UNITS TO FIRE";X:IF X<=0 THEN 1990 4400 IF E-X<0 THEN 4360 4410 E=E-X:IF D(8)<0 THEN X=X*RND 4450 H1=X/K3:FOR I=1 TO 3:IF K(I,3)<=0 THEN 4670 4480 H=INT((H1/FND(0))*(RND+2)):IF H>H1 THEN H=INT(H1) 4490 IF H>.15*KP=P-1 4860 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(X2-C1) 4870 X=S1:Y=S2 4875 IF D(2)<0 THEN 4910 4880 PRINT CHR$(26):GOSUB 6650:GOTO 4920 4910 PRINT"Short range sensors inoperable. Torpedo track:" 4920 X=X+X1:Y=Y+X2:X3=INT(X+.5):Y3=INT(Y+.5) 4960 IF X3<1 (I,3) THEN 4530 4500 PRINT"Sensors show no damage to enemy at ";K(I,1);",";K(I,2) 4510 GOTO 4670 4530 K(I,3)=K(I,3)-H 4540 PRINT H;"unit hit on Klingon at sector";K(I,1);","; 4550 PRINT K(I,2):IF K(I,3)>0 THEN 4560 4555 PRINT"*** KLINGON DESTROYED **OR X3>8 OR Y3<1 OR Y3>8 THEN 5485 4970 IF D(2)<0 THEN 5000 4974 J0=-1:X=X-X1/2:Y=Y-X2/2 4976 X3=INT(2*X+.5)/2:Y3=INT(4*Y+.5)/4 4980 A$=" o " 4990 IF X3<>S1 OR ABS(Y-S2)>.5 THEN GOSUB 9300 4992 J0=J0+1:IF J0>0 THEN 5010 4995 X=X+X1/2:Y=Y+X2/2:GOTO 49*" 4556 GOSUB 9400:SLOG$(LOGF)="Klingon destroyed.":GOTO 4580 4560 PRINT" (Sensors show";K(I,3);"units remaining)" 4570 GOTO 4670 4580 K3=K3-1:K9=K9-1:Z1=K(I,1):Z2=K(I,2):A$=" " 4590 GOSUB 8670 4650 K(I,3)=0:G(Q1,Q2)=G(Q1,Q2)-100:Z(Q1,Q2)=G(Q1,Q276 5000 PRINT" ";X3;",";Y3 5010 A$=" ":Z1=X:Z2=Y:GOSUB 8830 5020 X3=INT(X+.5):Y3=INT(Y+.5) 5050 IF Z3<>0 THEN 4920 5060 A$="+K+":Z1=X:Z2=Y:GOSUB 8830 5070 IF Z3=0 THEN 5210 5080 IF D(2)<0 THEN 5110 5090 GOSUB 9280 5110 PRINT"*** KLINGON   DESTROYED ***" 5115 GOSUB 9400:SLOG$(LOGF)="Klingon destroyed." 5120 K3=K3-1:K9=K9-1 5130 IF K9<=0 THEN 6370 5150 FOR I=1 TO 3:IF X3=K(I,1) AND Y3=K(I,2) THEN 5190 5180 NEXT I:I=3 5190 K(I,3)=0:GOTO 5430 5210 A$=" * ":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 Tnoperable.":GOTO 1990 5560 PRINT"Energy available =";E+S;"units." 5570 INPUT"NUMBER OF UNITS TO SHIELDS";X 5580 IF X<0 OR S=X THEN PRINT"Shields unchanged.":GOTO 1990 5590 IF X<=E+S THEN 5630 5600 PRINT"Shield control reports, 'This is not the FederatHEN 5280 5220 IF D(2)<0 THEN 5260 5230 GOSUB 9280 5240 A$=" * ":KEEP=1:GOSUB 9300:KEEP=0 5250 GOSUB 9290 5260 PRINT"Star at";X3;",";Y3;"absorbed torpedo energy." 5270 GOSUB 6000:GOTO 1990 5280 A$=">!<":Z1=X:Z2=Y:GOSUB 8830:IF Z3=0 THEN 4920 5290 IFion" 5605 PRINT"Treasury.'" 5610 PRINT"Shields unchanged.":GOTO 1990 5630 E=E+S-X:S=X:PRINT"Deflector control room report:" 5660 PRINT"'Shields now at";INT(S);"units per your command.'" 5670 GOTO 1990 5680 REM damage control 5690 IF D(6)>=0 THEN 591 D(2)<0 THEN 5330 5300 GOSUB 9280 5330 PRINT"*** STARBASE DESTROYED ***":B3=B3-1:B9=B9-1 5340 GOSUB 9400:SLOG$(LOGF)="Starbase destroyed." 5360 IF B9>0 OR K9=1 THEN D3=.9 5810 PRINT"Technicians standing by to repair your ship." 5command and sentenced to 99 stardates at hard" 5380 PRINT"labor on Cygnus 12!" 5390 GOTO 6270 5400 PRINT"Starfleet command reviewing your record to consider" 5410 PRINT"court martial!":D0=0 5420 SLOG$(LOGF)=SLOG$(LOGF)+" Captain under review." 5430 Z820 PRINT"Estimated time to repair:";.01*INT(100*D3);"stardates." 5840 INPUT"Will you authorize the repair order (Y/N)";A$ 5860 IF A$<>"Y" THEN 1990 5870 FOR I=1 TO 8:IF D(I)<0 THEN D(I)=0 5890 NEXT I:T=T+D3+.1 5900 GOSUB 9400:SLOG$(LOGF)="Technicians1=X:Z2=Y:A$=" ":GOSUB 8670 5470 G(Q1,Q2)=K3*100+B3*10+S3:Z(Q1,Q2)=G(Q1,Q2) 5480 GOSUB 6000:GOTO 1990 5485 IF D(2)>=0 THEN GOSUB 9290 5490 PRINT"Torpedo missed.":GOSUB 6000:GOTO 1990 5520 REM shield control 5530 IF D(7)<0 THEN PRINT"Shield control i repaired ship." 5910 PRINT:PRINT"DEVICE STATE OF REPAIR" 5915 FOR R1=1 TO 8 5920 GOSUB 8790 5930 PRINT G2$;LEFT$(Z$,25-LEN(G2$));INT(D(R1)*100)*.01 5950 NEXT R1:PRINT:IF D0<>0 THEN 5720 5980 GOTO 1990 5990 REM klingons shooting 6000 IF   K3<=0 THEN RETURN 6010 IF D0<>0 THEN PRINT"Starbase shields protect the Enterprise.": RETURN 6040 FOR I=1 TO 3:IF K(I,3)<=0 THEN 6200 6060 H=INT((K(I,3)/FND(1))*(2+RND)):S=S-H 6070 K(I,3)=K(I,3)/(3+RND(0)) 6080 PRINT H;"unit hit on Enterprise from s has been destroyed." 6400 PRINT:PRINT"Your efficiency rating is";1000*(K7/(T-T0))^2 6410 GOTO 6290 6420 REM short range sensor scan and startup s/r 6430 FOR I=S1-1 TO S1+1:FOR J=S2-1 TO S2+1 6450 IF INT(I+.5)<1 OR INT(I+.5)>8 OR INT(J+.5)<1 OR INT(J+ector";K(I,1);",";K(I,2) 6090 IF S<=0 THEN 6240 6100 PRINT"Shields down to";S;"units.":IF H<20 THEN 6200 6120 IF RND>.6 OR H/S<=.02 THEN 6200 6140 R1=FNR:D(R1)=D(R1)-H/S-.5*RND:GOSUB 8790 6170 PRINT"Damage control reports, '";G2$ 6180 PRINT "damaged .5)>8 THEN 6540 6490 A$=">!<":Z1=I:Z2=J:GOSUB 8830:IF Z3=1 THEN 6580 6540 NEXT J:NEXT I:D0=0:GOTO 6650 6580 D0=1:C$="DOCKED":E=E0:P=P0 6620 PRINT"Shields dropped for docking purposes.":S=0:GOTO 6720 6650 IF K3>0 THEN C$="*RED*"+CHR$(7):GOTO 6720 6660by the hit.'" 6190 GOSUB 9400:SLOG$(LOGF)=G2$+" damaged." 6200 NEXT I:RETURN 6210 REM end of game 6220 PRINT"It is stardate";T;CHR$(8)+".":GOTO 6270 6240 PRINT:PRINT"The Enterprise has been destroyed. The Federation" 6250 PRINT"will be conquered. " C$="GREEN":IF E=0 THEN 6770 6730 PRINT:PRINT"*** SHORT RANGE SENSORS ARE OUT ***":PRINT:RETURN 6770 O1$="---------------------------------" 6780 PRINT O1$:FOR I=1 TO 8:IF I>1 THEN PRINT 6820 FOR J=(I-1)*24;:GOTO 6220 6270 PRINT"There were";K9;"Klingon battle cruisers left at" 6280 PRINT"the end of your mission." 6300 PRINT:PRINT 6310 PRINT"The Federation is in need of a starship commander" 6320 PRINT"for a similar mission. If there is a volunteer," 6+1 TO (I-1)*24+22 STEP 3 6825 PRINT" ";MID$(Q$,J,3);:NEXT J 6830 ON I GOTO 6850,6900,6960,7020,7070,7120,7180,7240 6850 PRINT" Stardate ";INT(T*10)*.1:GOTO 7260 6900 PRINT" Condition ";C$:GOTO 7260 6960 PRINT" Quadrant ";Q1;",";Q2:GOTO 7260 702330 INPUT"let him step forward and enter AYE";A$ 6335 FINI=1:GOSUB 9440:FINI=0 6340 IF A$<>"AYE" THEN END 6350 INPUT"Ready";A$:GOTO 220 6360 END 6370 PRINT"Congratulations, Captain! The last Klingon battle" 6380 PRINT"cruiser menacing the Federation0 PRINT" Sector ";S1;",";S2:GOTO 7260 7070 PRINT" Torpedoes ";INT(P):GOTO 7260 7120 PRINT" Tot.Energy";INT(E+S):GOTO 7260 7180 PRINT" Shields ";INT(S):GOTO 7260 7240 PRINT" Klingons ";INT(K9) 7260 NEXT I:PRINT O1$:RETURN 7280 REM library-c  omputer code 7290 IF D(8)<0 THEN PRINT"Computer disabled.":GOTO 1990 7310 PRINT"Computer active and awaiting your command." 7320 INPUT"FUNCTION (0-5)";A:IF A<0 THEN 1990 7350 PRINT:H8=1:ON A+1 GOTO 7540,7900,8070,8500,8150,7400,9440 7360 PRINT"Functio);G2$; 7800 Z5=5:GOSUB 9030:J0=INT(39-.5*LEN(G2$)) 7810 PRINT TAB(J0);G2$; 7850 PRINT:PRINT O1$:NEXT I:PRINT:GOTO 1990 7890 REM status report 7900 PRINT CHR$(26)+" Status report:":X$="":XX$="is" 7910 IF K9>1 THEN X$="s":XX$="are" 7940 PRINT"There ns available from library-computer:" 7370 PRINT" 0 = Cumulative galactic record" 7372 PRINT" 1 = Status report" 7374 PRINT" 2 = Photon torpedo data" 7376 PRINT" 3 = Starbase NAV data" 7378 PRINT" 4 = Direction/distance calculator" 7380 PRINT" 5";XX$;K9;" Klingon";X$;" remaining." 7960 PRINT"Mission must be completed in";.1*INT((T0+T9-T)*10);"stardates." 7970 X$="s":IF B9<2 THEN X$="":IF B9<1 THEN 8010 7980 PRINT"The Federation is maintaining";B9;"starbase";X$ 7985 PRINT"in the galaxy." 7990 = Galaxy 'Region Name' map" 7385 PRINT" 6 = Ship's log":PRINT:GOTO 7320 7390 REM setup to change cum gal record to galaxy map 7400 H8=0:G5=1:PRINT CHR$(26)+" THE GALAXY" 7410 GOTO 7550 7530 REM cum galactic record 7540 REM de GOTO 5690 8010 PRINT"Your stupidity has left you on your own in" 8020 PRINT"the galaxy. You have no starbases left!" 8030 GOTO 5690 8060 REM torpedo, base NAV, d/d calculator 8070 IF K3<=0 THEN 4270 8080 X$="":IF K3>1 THEN X$="s" 8090 PRINT"From Eleted TTY logic 7543 PRINT CHR$(26):PRINT" "; 7544 PRINT"Computer record of galaxy for quadrant";Q1;",";Q2 7546 PRINT 7550 PRINT" 1 2 3 4 5 6 7 8" 7560 O1$=" ----- ----- ----- ----- ----- ----- ----- -----" 7nterprise to Klingon battle cruiser";X$;":" 8100 H8=0:FOR I=1 TO 3:IF K(I,3)<=0 THEN 8480 8110 W1=K(I,1):X=K(I,2) 8120 C1=S1:A=S2:GOTO 8220 8150 PRINT"Direction/Distence Calculator:" 8160 PRINT"You are at quadrant ";Q1;",";Q2;" sector ";S1;",";S2 817570 PRINT O1$:FOR I=1 TO 8:PRINT I;:IF H8=0 THEN 7740 7630 FOR J=1 TO 8:PRINT" ";:IF Z(I,J)=0 THEN PRINT"***";:GOTO 7720 7700 PRINT RIGHT$(STR$(Z(I,J)+1000),3); 7720 NEXT J:GOTO 7850 7740 Z4=I:Z5=1:GOSUB 9030:J0=INT(15-.5*LEN(G2$)) 7750 PRINT TAB(J00 PRINT"Please enter:" 8180 INPUT" INITIAL COORDINATES (X,Y)";C1,A 8200 INPUT" FINAL COORDINATES (X,Y)";W1,X 8220 X=X-A:A=C1-W1:IF X<0 THEN 8350 8250 IF A<0 THEN 8410 8260 IF X>0 THEN 8280 8270 IF A=0 THEN C1=5:GOTO 8290 8280 C1=1 8290 IF ABS(A  )<=ABS(X) THEN 8330 8310 PRINT"Direction =";C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A)) 8320 GOTO 8460 8330 PRINT"Direction =";C1+(ABS(A)/ABS(X)):GOTO 8460 8350 IF A>0 THEN C1=3:GOTO 8420 8360 IF X<>0 THEN C1=5:GOTO 8290 8410 C1=7 8420 IF ABS(A)>=ABS(X) THTURN 8796 G2$="Long range sensors":RETURN 8798 G2$="Phaser control":RETURN 8800 G2$="Photon tubes":RETURN 8802 G2$="Damage control":RETURN 8804 G2$="Shield control":RETURN 8806 G2$="Library-computer":RETURN 8820 REM string comparison in quadrant arrEN 8450 8430 PRINT"Direction =";C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X)) 8440 GOTO 8460 8450 PRINT"Direction =";C1+(ABS(X)/ABS(A)) 8460 X=SQR(X^2+A^2):PRINT"Distance =";X 8470 IF H8=1 THEN PRINT"Use WARP =";X/8;"if maneuver is within quadrant.":GOTO 199ay 8830 Z1=INT(Z1+.5):Z2=INT(Z2+.5) 8840 S8=(Z2-1)*3+(Z1-1)*24+1:Z3=0 8890 IF MID$(Q$,S8,3)<>A$ THEN RETURN 8900 Z3=1:RETURN 9010 REM quadrant name in g2$ from z4,z5=q1,q2 9020 REM call with g5=1 to get region name only 9030 IF Z5<=4 THEN ON Z4 GOTO0 8480 NEXT I:GOTO 1990 8500 IF B3<>0 THEN PRINT"From Enterprise to Starbase:":W1=B4:X=B5:GOTO 8120 8510 PRINT"Mr. Spock reports, 'Sensors show no starbases" 8520 PRINT"in this quadrant.'":GOTO 1990 8580 REM find empty place in quadrant for things 85 9040,9050,9060,9070,9080,9090,9100,9110 9035 GOTO 9120 9040 G2$="Antares":GOTO 9210 9050 G2$="Rigel":GOTO 9210 9060 G2$="Procyon":GOTO 9210 9070 G2$="Vega":GOTO 9210 9080 G2$="Canopus":GOTO 9210 9090 G2$="Altair":GOTO 9210 9100 G2$="Sagittarius":G90 R1=FNR:R2=FNR:A$=" ":Z1=R1:Z2=R2:GOSUB 8830 8595 IF Z3=0 THEN 8590 8600 RETURN 8660 REM insert in string array for quadrant 8670 S8=INT(Z2-.5)*3+INT(Z1-.5)*24+1 8675 IF LEN(A$)<>3 THEN PRINT"error":STOP 8680 IF S8=1 THEN Q$=A$+RIGHT$(Q$,189):RETOTO 9210 9110 G2$="Polux":GOTO 9210 9120 ON Z4 GOTO 9130,9140,9150,9160,9170,9180,9190,9200 9130 G2$="Sirius":GOTO 9210 9140 G2$="Deneb":GOTO 9210 9150 G2$="Capella":GOTO 9210 9160 G2$="Betelgeuse":GOTO 9210 9170 G2$="Aldebaran":GOTO 9210 9180 G2$=URN 8690 IF S8=190 THEN Q$=LEFT$(Q$,189)+A$:RETURN 8700 Q$=LEFT$(Q$,S8-1)+A$+RIGHT$(Q$,190-S8):RETURN 8780 REM prints device name 8790 ON R1 GOTO 8792,8794,8796,8798,8800,8802,8804,8806 8792 G2$="WARP engines":RETURN 8794 G2$="Short range sensors":RE"Regulus":GOTO 9210 9190 G2$="Arcturus":GOTO 9210 9200 G2$="Spica" 9210 IF G5<>1 THEN ON Z5 GOTO 9230,9240,9250,9260,9230,9240,9250,9260 9220 RETURN 9230 G2$=G2$+" I":RETURN 9240 G2$=G2$+" II":RETURN 9250 G2$=G2$+" III":RETURN 9260 G2$=G2$+" IV":RE  TURN 9280 A$="[#]":GOSUB 9300 9290 PRINT CHR$(27)+"=1 ":RETURN 9300 PRINT CHR$(27)+"="+CHR$(32+2*X3)+CHR$(29+4*Y3)+A$ 9305 IF KEEP THEN RETURN 9310 FOR I=1 TO 150:NEXT 9315 J=LEN(A$):A$="":FOR I=1 TO J:A$=A$+" ":NEXT 9320 PRINT CHR$(27)+"="+CHR$(32+م2*X3)+CHR$(29+4*Y3)+A$ 9340 RETURN 9400 LOGF=(LOGF+1) MOD 20 9410 IF LOGS=LOGF THEN LOGS=(LOGS+1) MOD 20 9420 TLOG(LOGF)=T:RETURN 9440 J=LOGF-LOGS+1:IF LOGS>LOGF THEN J=20 9450 PRINT CHR$(26)+"Most recent";J;"entries in ship's log:" 9460 X$=CHR$(27)م+"l":X0$=CHR$(27)+"m" 9470 PRINT:PRINT X$+"Stardate"+X0$,X$+"Log Entry"+X0$ 9480 I=LOGS 9490 PRINT USING " ####.# &";TLOG(I);SLOG$(I) 9500 I=(I+1) MOD 20 9510 IF LOGS<=LOGF AND I<=LOGF THEN 9490 9520 IF LOGS>LOGF AND I<>LOGS THEN 9490 9525 PRINT 9م530 IF FINI THEN RETURN ELSE 1990  IF LOGS<=LOGF AND I<=LOGF THEN 9490 9520 IF LOGS>LOGF AND I<>LOGS THEN 9490 9525 PRINT 9;SLOG$(I) 9500 I=(I+1) MOD 20 9510 IF LOGS<=LOGF AND I<=LOGF THEN 9490 9520 IF LOGS>LOGF AND I<>LOGS THEN 9490 9525 PRINT 91 REM Revised for Osborne 1 by Jim Woolley, FOG Librarian, 7/82 2 RANDOMIZE 100 REM (SOURCE UNKNOWN) EDITED SLIGHTLY BY D. KURLAND 11/6/75 110 PRINT "WELCOME TO CASINO UNIVAC 1108" 120 PRINT "THE GAME IS BACCARAT" 130 H=0 140 GOSUB 1400 150 DIمM A(10),C(10) 160 PRINT "ARE YOU READY"; 170 INPUT X$ 180 IF X$="NO" OR X$="N" THEN 1390 190 PRINT "WAGER"; 200 D=0 210 E=0 220 INPUT G 230 IF G>100000! THEN 1370 240 IF G>0 THEN 270 250 PRINT "HA!HA!, VERY FUNNY!!" 260 GOTO   190 270 B=1 280 GOTO 740 290 A(B)=INT(RND(1)*52)+1 300 C(B)=A(B)-13*INT(A(B)/13) 310 IF C(B)=0 THEN 600 320 ON C(B) GOTO 330,350,370,390,410,430,450,470,490,510,540,570 330 PRINT "ACE "; 340 GOTO 620 350 PRINT "DEUCE "; 360 GOTO0 840 D=D+C(B) 850 B=B+1 860 GOTO 900 870 PRINT "THE CARD IS A "; 880 GOSUB 290 890 GOSUB 1310 900 PRINT "MY FIRST CARD IS A "; 910 GOSUB 290 920 GOSUB 1340 930 PRINT "MY NEXT CARD IS A "; 940 GOSUB 290 950 GOSUB 1340 960 I 620 370 PRINT "THREE "; 380 GOTO 620 390 PRINT "FOUR "; 400 GOTO 620 410 PRINT "FIVE "; 420 GOTO 620 430 PRINT "SIX "; 440 GOTO 620 450 PRINT "SEVEN "; 460 GOTO 620 470 PRINT "EIGHT "; 480 GOTO 620 490 PRINT "NIF E<10 THEN 990 970 E=E-10 980 GOTO 960 990 IF E<6 THEN 1030 1000 PRINT "I DO NOT WANT A CARD" 1010 C(6)=0 1020 GOTO 1060 1030 PRINT "I TAKE CARD" 1040 PRINT "THE CARD IS A "; 1050 GOSUB 290 1060 E=E+C(6) 1070 IF D<10 THEN 1100 108NE "; 500 GOTO 620 510 PRINT "TEN "; 520 C(B)=0 530 GOTO 620 540 PRINT "JACK "; 550 C(B)=0 560 GOTO 620 570 PRINT "QUEEN "; 580 C(B)=0 590 GOTO 620 600 PRINT "KING "; 610 C(B)=0 620 IF INT(A(B)/13)<>A(B)/13 THEN 60 D=D-10 1090 GOTO 1070 1100 PRINT "YOUR TOTAL IS";D 1110 IF E<10 THEN 1140 1120 E=E-10 1130 GOTO 1110 1140 PRINT "MY TOTAL IS ";E 1150 IF D=E THEN 1590 1160 IF D>E THEN 1200 1170 PRINT "I WIN $"G 1180 G=-G 1190 GOTO 1210 140 630 ON A(B)/13 GOTO 660,680,700,720 640 IF INT(A(B)/13)=0 THEN 660 650 ON INT(A(B)/13)GOTO 680,700,720 660 PRINT "OF CLUBS" 670 RETURN 680 PRINT "OF DIAMONDS" 690 RETURN 700 PRINT "OF SPADES" 710 RETURN 720 PRINT "OF HEARTS" 200 PRINT "YOU WIN $";G 1210 H=H+G 1220 IF H>0 THEN 1290 1230 IF H=0 THEN 1610 1240 PRINT "YOU OWE ME $";-H 1250 PRINT "DO YOU WANT TO TRY AGAIN"; 1260 INPUT K$ 1270 IF K$="NO" OR K$="N" THEN 1390 1280 GOTO 190 1290 PRINT "I.O.U. $";H  730 RETURN 740 PRINT "YOUR FIRST CARD IS A "; 750 GOSUB 290 760 GOSUB 1310 770 PRINT "YOUR NEXT CARD IS A "; 780 GOSUB 290 790 GOSUB 1310 800 PRINT "DO YOU WANT A CARD"; 810 INPUT J$ 820 IF J$="YES" OR J$="Y" THEN 870 830 C(3)= 1300 GOTO 1250 1310 D=D+C(B) 1320 B=B+1 1330 RETURN 1340 E=E+C(B) 1350 B=B+1 1360 RETURN 1370 PRINT "HOUSE LIMIT IS $100000" 1380 GOTO190 1390 STOP 1400 PRINT "DO YOU WANT THE RULES OF THE GAME"; 1410 INPUT I$ 1420 IF I$  ="NO" OR I$="N" THEN RETURN 1430 PRINT "* OFFICIAL RULES FOR THE GAME OF BACCARAT *" 1440 PRINT "THE COMPUTER IS SHUFFLING SIX DECKS OF CARDS" 1450 PRINT "TOGETHER. THE RULES ARE AS FOLLOWS: THE OBJECT" 1460 PRINT "IS TO BE AS CLOSE TO POSSIBLE VIA THE NUMERIC KEY PAD 51 '--1-- MOVES CURSOR UP AND TO THE LEFT 52 '--2-- MOVES CURSOR UP 53 '--3-- MOVES CURSOR UP AND TO THE RIGHT 54 '--4-- MOVES CURSOR TO THE LEFT 55 '--5-- IS A SWITCH WHICH TURNS TRACER OFF/ON/OFF/ON 56 '--6-- MOVES CURSOR TOTO NINE IN TWO" 1470 PRINT "OR THREE CARDS, FACE CARDS AND TENS COUNT ZERO" 1480 PRINT "ACES COUNT AS ONE EACH,ALL OTHER CARDS COUNT" 1490 PRINT "THEIR INDEX VALUE. WHEN THE TOTAL IS OVER TEN" 1500 PRINT "THE TENS UNIT IS DROPPED. EXAMPLE: A  RIGHT 57 '--7-- MOVES CURSOR DOWN AND TO THE LEFT 58 '--8-- MOVES CURSOR DOWN 59 '--9-- MOVES CURSOR DOWN AND TO THE RIGHT 60 '--0-- ERASES ANY CHARACTER AT CURSOR POSITION 70 ' 80 '--x-- ANY OTHER CHARACTER BECOMES TRACER 90 ' 91 'PUT MBASIC IN ASEVEN AND" 1510 PRINT "A SIX TOTALING THIRTEEN COUNT AS THREE. THE" 1520 PRINT "PLAYER WITH THE HIGHER TOTAL WINS. IN CASE OF" 1530 PRINT "A TIE THE COMPUTER WINS. " 1540 PRINT "DO YOU UNDERSTAND THE RULES"; 1550 INPUT O$ 1560 IF O$="YE 92 'PUT THEIS DISC IN B 93 'Type MBASIC B:E-SKETCH and try it out 94 ' 100 PRINT CHR$(26) 'CLEAR SCREEN 110 B$ = "X" 'SET TRACER CHARACTER 120 IPEN% = -1 'TURN OFF TRACS" OR O$="Y" THEN RETURN 1570 PRINT "TOUGH LUCK" 1580 RETURN 1590 PRINT "IT IS A TIE. THE COMPUTER WINS!" 1600 GOTO 1170 1610 PRINT "YOU ARE EVEN-UP !!" 1620 GOTO1250 1630 END N 1590 PRINT "IT IS A TIE. THE COMPUTER WINS!" 1600 GOTO 1170ER 140 X% = 58 'SET INITIAL X 150 Y% = 44 'SET INITIAL Y 160 PRINT CHR$(27);"=";CHR$(Y%);CHR$(X%); 'POSITION CURSOR 200 A$ = INPUT$(1) 'INPUT A CONTROL CHARACTER 201 I10 'ETCH (ETCH-A-SKETCH) WRITTEN IN MBASIC AS CURSOR CONTROL EXERCISE 20 'BY DAVE BLAIR 14 JUNE 1982 21 ' 22 ' 30 'C DROPS YOU BACK TO MBASIC 40 ' STARTS PROGRAM OVER 41 ' 42 ' MOST KEYS GIVES A GRAPHIC 43 ' 50 'ALL COMMANDS ARE F A$ = CHR$(27) THEN GOTO 100 'START OVER IF 208 IF A$ < "0" THEN B$ = A$ 'IF NOT NUMERIC, SET FOR TRACER 209 IF A$ > "9" THEN B$ = A$ 210 IF A$ = "1" THEN X% = X% - 1 211 IF A$ = "1" THEN Y% = Y% + 1 220 IF A$   = "2" THEN Y% = Y% + 1 230 IF A$ = "3" THEN X% = X% + 1 231 IF A$ = "3" THEN Y% = Y% + 1 240 IF A$ = "4" THEN X% = X% - 1 250 IF A$ = "5" THEN IPEN% = -IPEN% 'REVERSE TRACER SWITCH 260 IF A$ = "6" THEN X% = X% + 1 270 IF A$ = "7" THEN X% = X% -م 1 271 IF A$ = "7" THEN Y% = Y% - 1 280 IF A$ = "8" THEN Y% = Y% - 1 290 IF A$ = "9" THEN X% = X% + 1 291 IF A$ = "9" THEN Y% = Y% - 1 300 IF X% > 81 THEN X% = 33 310 IF X% < 33 THEN X% = 81 320 IF Y% < 33 THEN Y% = 54 'KEEP CURSOR ON مSCREEN 330 IF Y% > 54 THEN Y% = 33 390 PRINT 'KEEPS LINE COUNTER CLEAN 400 IF A$ <> "0" THEN GOTO 500 'IF --0-- BLANK OUT CURSOR POSITION 410 PRINT CHR$(27);"=";CHR$(Y%);CHR$(X%);" "; 420 PRINT CHR$(27);"=";مCHR$(Y%);CHR$(X%); 430 GOTO 200 500 PRINT CHR$(27);"=";CHR$(Y%);CHR$(X%); 'POSITION CURSOR 510 IF IPEN% = -1 THEN GOTO 200 'IF SWITCH OFF, GO DO NEXT COMMAND 520 PRINT CHR$(27);"g"; 'SET FOR GRAPHICS 530 PRINT B$; م 'IF SWITCH ON, PRINT TRACER 540 PRINT CHR$(27);"G"; 'RESET FOR NON-GRAPHICS 550 PRINT CHR$(27);"=";CHR$(Y%);CHR$(X%); 'POSITION CURSOR 599 GOTO 200 'GET NEXT COMMAND م  10 'ETCH (ETCH-A-SKETCH) WRITTEN IN MBASIC AS CURSOR CONTROL EXERCISE 20 'BY DAVE BLAIR 14 JUNE 1982 21 ' 22 ' 30 'C DROPS YOU BACK TO MBASIC 40 ' STARTS PROGRAM OVER 41 ' 42 ' MOST KEYS GIVES A GRAPHIC 43 ' 50 'ALL COMMANDS ARE مVIA THE NUMERIC KEY PAD 51 '--1-- MOVES CURSOR UP AND TO THE LEFT 52 '--2-- MOVES CURSOR UP 53 '--3-- MOVES CURSOR UP AND TO THE RIGHT 54 '--4-- MOVES CURSOR TO THE LEFT 55 '--5-- IS A SWITCH WHICH TURNS TRACER OFF/ON/OFF/ON 56 '--6-- MOVES CURSOR TOم RIGHT 57 '--7-- MOVES CURSOR DOWN AND TO THE LEFT 58 '--8-- MOVES CURSOR DOWN 59 '--9-- MOVES CURSOR DOWN AND TO THE RIGHT 60 '--0-- ERASES ANY CHARACTER AT CURSOR POSITION 70 ' 80 '--x-- ANY OTHER CHARACTER BECOMES TRACER 90 ' 91 'PUT MBASIC IN Aم 92 'PUT THEIS DISC IN B 93 'Type MBASIC B:E-SKETCH and try it out 94 ' 60 '--0-- ERASES ANY CHARACTER AT CURSOR POSITION 70 ' 80 '--x-- ANY OTHER CHARACTER BECOMES TRACER 90 ' 91 'PUT MBASIC IN A1000 REM ***************************************************** 1005 REM * * 1010 REM * WIZARD'S CASTLE GAME FROM JULY/AUGUST 1980 * 1015 REM * ISSUE OF RECREATIONAL COMPUTING MAGAZINE * م1020 REM * WRITTEN FOR EXIDY SORCERER BY JOSEPH R. POWER * 1025 REM * MODIFIED FOR HEATH MICROSOFT BASIC BY J.F.STETSON * 1030 REM * * 1035 REM *****************************************************   1040 DEFINT A-Z 1045 DIM C$(34),I$(34),R$(4),W$(8),E$(8) 1050 DIM L(512),C(3,4),T(8),O(3),R(3) 1055 DEF FNA(Q)=1+INT(RND(1)*Q) 1060 DEF FNB(Q)=Q+8*((Q=9)-(Q=0)) 1065 DEF FNC(Q)=-Q*(Q<19)-18*(Q>18) 1070 DEF FND(Q)=64*(Q-1)+8*(X-1)+Y 1075 DEF FNE(Q)=Q5 L(FND(1))=2 1260 FOR Z=1 TO 7 1265 FOR Q1=1 TO 2 1270 Q=104 1275 GOSUB 5285 1280 L(FND(Z+1))=103 1285 NEXT Q1 1290 NEXT Z 1295 FOR Z=1 TO 8 1300 FOR Q=113 TO 124 1305 GOSUB 5285 1310 NEXT Q 1315 FOR Q1=1 TO 3 1320 FOR Q=105 TO 112 1325 GOSU+100*(Q>99) 1080 Y$="** PLEASE ANSWER YES OR NO" 1085 NG=0 1090 REM 1095 REM INITIALIZE ARRAYS 1100 REM 1105 NG=NG+1 1110 Q=RND(1) 1115 RESTORE 1120 FOR Q=1 TO 34 1125 READ C$(Q),I$(Q) 1130 NEXT Q 1135 FOR Q=1 TO 512 1140 L(Q)=101 1145 NEXTB 5285 1330 NEXT Q 1335 Q=125 1340 GOSUB 5285 1345 NEXT Q1 1350 NEXT Z 1355 FOR Q=126 TO 133 1360 Z=FNA(8) 1365 GOSUB 5285 1370 NEXT Q 1375 Q=101 1380 FOR A=1 TO 3 1385 Z=FNA(8) 1390 GOSUB 5285 1395 C(A,1)=X 1400 C(A,2)=Y 1405 C(A,3)=Z 141 Q 1150 FOR Q=1 TO 8 1155 READ W$(Q),E$(Q) 1160 NEXT Q 1165 FOR Q=1 TO 4 1170 READ R$(Q) 1175 NEXT Q 1180 IF NG > 1 GOTO 1250 1185 PRINT CHR$(27);"E" 1190 GOSUB 5375 1195 PRINT TAB(16);"* * * THE WIZARD'S CASTLE * * *" 1200 PRINT 1205 GOSUB 5370 C(A,4)=0 1415 NEXT A 1420 RC=0 1425 ST=2 1430 DX=14 1435 R$(3)="MAN" 1440 Q=112+FNA(12) 1445 Z=FNA(8) 1450 GOSUB 5285 1455 R(1)=X 1460 R(2)=Y 1465 R(3)=Z 1470 Q=109 1475 Z=FNA(8) 1480 GOSUB 5285 1485 O(1)=X 1490 O(2)=Y 1495 O(3)=Z 1500 5 1210 PRINT "MANY CYCLES AGO, IN THE KINGDOM OF N'DIC, THE GNOMIC" 1215 PRINT "WIZARD ZOT FORGED HIS GREAT *ORB OF POWER*. HE SOON" 1220 PRINT "VANISHED, LEAVING BEHIND HIS VAST SUBTERRANEAN CASTLE" 1225 PRINT "FILLED WITH ESURIENT MONSTERS, FABULOUS BF=0 : OT=8 : AV=0 : HT=0 : T=1 : VF=0 : LF=0 1505 TC=0 : GP=60 : RF=0 : OF=0 : BL=0 : IQ=8 : SX=0 1510 FOR Q=1 TO 8 1515 T(Q)=0 1520 NEXT Q 1525 PRINT CHR$(7); 1530 PRINT "ALL RIGHT, BOLD ONE." 1535 PRINT "YOU MAY BE AN ELF, DWARF, MAN, OR HOBBIT."TREASURES, AND" 1230 PRINT "THE INCREDIBLE *ORB OF ZOT*. FROM THAT TIME HENCE, MANY" 1235 PRINT "A BOLD YOUTH HAS VENTURED INTO THE WIZARD'S CASTLE. AS" 1240 PRINT "OF NOW, *NONE* HAS EVER EMERGED VICTORIOUSLY! BEWARE!!" 1245 PRINT 1250 X=1 : Y=4 125 1540 GOSUB 5405 1545 FOR Q=1 TO 4 1550 IF LEFT$(R$(Q),1)=O$ THEN RC=Q : ST=ST+2*Q : DX=DX-2*Q 1555 NEXT Q 1560 PRINT 1565 OT=OT+4*(RC=1) 1570 IF RC > 0 THEN R$(3)="HUMAN" : GOTO 1585 1575 PRINT "** THAT WAS INCORRECT. PLEASE TYPE E, D, M, OR H."   1580 GOTO 1535 1585 PRINT "WHICH SEX TO YOU PREFER"; 1590 GOSUB 5415 1595 IF O$="M" THEN SX=1 : GOTO 1615 1600 IF O$="F" GOTO 1615 1605 PRINT "** CUTE ";R$(RC);", REAL CUTE. TRY M OR F." 1610 GOTO 1585 1615 PRINT 1620 PRINT "OK, ";R$(RC);", YOU HAV="M")-(O$="D") 1800 IF WV > 0 GOTO 1820 1805 PRINT 1810 PRINT "** IS YOUR IQ REALLY";IQ;"?" 1815 GOTO 1770 1820 GP=GP-WV*10 1825 IF GP < 20 GOTO 1855 1830 PRINT 1835 PRINT "DO YOU WANT TO BUY A LAMP FOR 20 GP'S"; 1840 GOSUB 5415 1845 IF O$="Y" TE THE FOLLOWING ATTRIBUTES :" 1625 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX 1630 PRINT "AND";OT;"OTHER POINTS TO ALLOCATE AS YOU WISH." 1635 PRINT 1640 Z$="STRENGTH" 1645 GOSUB 5430 1650 ST=ST+Q 1655 IF OT=0 GOTO 1695 1660 Z$="IHEN LF=1 : GP=GP-20 : GOTO 1855 1850 IF O$ <> "N" THEN PRINT : PRINT Y$ : PRINT : GOTO 1835 1855 PRINT 1860 IF GP < 1 THEN Q=0 : GOTO 1915 1865 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GOLD PIECES LEFT." 1870 PRINT 1875 INPUT "FLARES COST 1 GP EACH. HOW NTELLIGENCE" 1665 GOSUB 5430 1670 IQ=IQ+Q 1675 IF OT=0 GOTO 1695 1680 Z$="DEXTERITY" 1685 GOSUB 5430 1690 DX=DX+Q 1695 PRINT "OK, ";R$(RC);", YOU HAVE 60 GOLD PIECES (GP'S)." 1700 Z$="ARMOR" 1705 GOSUB 5555 1710 AV=0 : WV=0 : FL=0 : WC=0 1715 PRMANY DO YOU WANT";O$ 1880 Q=VAL(O$) 1885 PRINT 1890 IF Q > 0 OR ASC(O$)=48 GOTO 1910 1895 PRINT "** IF YOU DON'T WANT ANY, JUST TYPE 0 (ZERO)." 1900 PRINT 1905 GOTO 1875 1910 IF Q > GP THEN PRINT "** YOU CAN ONLY AFFORD";GP;"." : PRINT : GOTO 1875 INT "PLATE<30> CHAINMAIL<20> LEATHER<10> NOTHING<0>" 1720 GOSUB 5405 1725 IF O$="N" GOTO 1755 1730 AV=-3*(O$="P")-2*(O$="C")-(O$="L") 1735 IF AV > 0 GOTO 1755 1740 PRINT 1745 PRINT "** ARE YOU A ";R$(RC);" OR ";C$(FNA(12)+12);"?" 1750 GOTO 1700 1751915 FL=FL+Q : GP=GP-Q 1920 X=1 : Y=4 : Z=1 1925 PRINT "OK, ";R$(RC);", YOU ARE NOW ENTERING THE CASTLE!" 1930 GOTO 3450 1935 REM 1940 REM MAIN PROCESSING LOOP 1945 REM 1950 T=T+1 1955 IF RF+OF > 0 GOTO 2020 1960 IF C(1,4) > T(1) THEN T=T+1 1965 AH=AV*7 : GP=GP-AV*10 1760 PRINT 1765 PRINT "OK, BOLD ";R$(RC);", YOU HAVE";GP;"GP'S LEFT." 1770 Z$="WEAPONS" 1775 GOSUB 5555 1780 PRINT "SWORD<30> MACE<20> DAGGER<10> NOTHING<0>" 1785 GOSUB 5405 1790 IF O$="N" GOTO 1820 1795 WV=-3*(O$="S")-2*(O$5 IF C(2,4) > T(3) THEN GP=GP-FNA(5) 1970 IF GP < 0 THEN GP=0 1975 IF C(3,4) <= T(5) GOTO 2020 1980 A=X : B=Y : C=Z 1985 X=FNA(8) : Y=FNA(8) : Z=FNA(8) 1990 L(FND(Z))=FNE(L(FND(Z)))+100 1995 X=A : Y=B : Z=C 2000 IF L(FND(Z)) <> 1 GOTO 2020 2005 FOR   Q=1 TO 3 2010 C(Q,4)=-(C(Q,1)=X)*(C(Q,2)=Y)*(C(Q,3)=Z) 2015 NEXT Q 2020 IF FNA(5) > 1 GOTO 2165 2025 PRINT 2030 PRINT "YOU "; 2035 Q=FNA(7)+BL 2040 IF Q > 7 THEN Q=4 2045 ON Q GOSUB 2125,2065,2115,2055,2135,2145,2155 2050 GOTO 2165 2055 PRINT "SEN ON BL+1 GOTO 2750,2505 2260 IF O$="O" GOTO 2965 2265 IF O$="G" THEN ON BL+1 GOTO 3185,2505 2270 IF O$="T" THEN PRINT : ON RF+1 GOTO 3315,3335 2275 IF O$="Q" GOTO 3390 2280 IF O$<>"H" GOTO 2420 2285 PRINT CHR$(27);"E" 2290 PRINT "*** WIZARD'S CASTTEPPED ON A FROG!" 2060 RETURN 2065 PRINT "HEAR "; 2070 ON FNA(4) GOTO 2075,2085,2095,2105 2075 PRINT "A SCREAM!" 2080 RETURN 2085 PRINT "FOOTSTEPS!" 2090 RETURN 2095 PRINT "A WUMPUS!" 2100 RETURN 2105 PRINT "THUNDER!" 2110 RETURN 2115 PRINT "SLE COMMAND AND INFORMATION SUMMARY ***" 2295 PRINT 2300 PRINT "THE FOLLOWING COMMANDS ARE AVAILABLE :" 2305 PRINT 2310 PRINT "H/ELP N/ORTH S/OUTH E/AST W/EST U/P" 2315 PRINT "D/OWN DR/INK M/AP F/LARE L/AMP O/PEN" NEEZED!" 2120 RETURN 2125 PRINT "SEE A BAT FLY BY!" 2130 RETURN 2135 PRINT "SMELL ";C$(12+FNA(13));" FRYING!" 2140 RETURN 2145 PRINT "FEEL LIKE YOU'RE BEING WATCHED!" 2150 RETURN 2155 PRINT "HEAR FAINT RUSTLING NOISES!" 2160 RETURN 2165 IF BL+T(4 2320 PRINT "G/AZE T/ELEPORT Q/UIT" 2325 PRINT 2330 PRINT "THE CONTENTS OF ROOMS ARE AS FOLLOWS :" 2335 PRINT 2340 PRINT ". = EMPTY ROOM B = BOOK C = CHEST" 2345 PRINT "D = STAIRS DOWN E = ENTRANCE/EXIT F = FLARES" 2350 PRIN) <> 2 GOTO 2185 2170 PRINT 2175 PRINT C$(29);" CURES YOUR BLINDNESS!" 2180 BL=0 2185 IF BF+T(6) <> 2 GOTO 2205 2190 PRINT 2195 PRINT C$(31);" DISSOLVES THE BOOK!" 2200 BF=0 2205 PRINT 2210 LINE INPUT "ENTER YOUR COMMAND : ";O$ 2215 IF LEFT$(O$,2T "G = GOLD PIECES M = MONSTER O = CRYSTAL ORB" 2355 PRINT "P = MAGIC POOL S = SINKHOLE T = TREASURE" 2360 PRINT "U = STAIRS UP V = VENDOR W = WARP/ORB" 2365 PRINT 2370 PRINT "THE BENEFITS OF HAVING TREASURES ARE )="DR" GOTO 2870 2220 O$=LEFT$(O$,1) 2225 IF O$="N" GOTO 2435 2230 IF (O$="S") OR (O$="W") OR (O$="E") GOTO 2440 2235 IF O$="U" GOTO 2465 2240 IF O$="D" GOTO 2480 2245 IF O$="M" GOTO 2505 2250 IF O$="F" THEN ON BL+1 GOTO 2620,2505 2255 IF O$="L" TH:" 2375 PRINT 2380 PRINT "RUBY RED - AVOID LETHARGY PALE PEARL - AVOID LEECH" 2385 PRINT "GREEN GEM - AVOID FORGETTING OPAL EYE - CURES BLINDNESS" 2390 PRINT "BLUE FLAME - DISSOLVES BOOKS NORN STONE - NO BENEFIT" 2395 PRINT "PALANTIR - NO BENEFI  T SILMARIL - NO BENEFIT" 2400 PRINT 2405 PRINT "PRESS RETURN WHEN READY TO RESUME, ";R$(RC);"."; 2410 LINE INPUT "";O$ 2415 GOTO 1950 2420 PRINT 2425 PRINT "** SILLY ";R$(RC);", THAT WASN'T A VALID COMMAND!" 2430 GOTO 1950 2435 IF L(FND(Z))TS WITH FLARE 2645 REM 2650 PRINT 2655 FL=FL-1 2660 A=X : B=Y 2665 FOR Q1=A-1 TO A+1 2670 X=FNB(Q1) 2675 FOR Q2=B-1 TO B+1 2680 Y=FNB(Q2) 2685 Q=FNE(L(FND(Z))) 2690 L(FND(Z))=Q 2695 PRINT " ";I$(Q);" "; 2700 NEXT Q2 2705 PRINT 2710 PRINT 2=2 GOTO 4970 2440 X=X+(O$="N")-(O$="S") 2445 Y=Y+(O$="W")-(O$="E") 2450 X=FNB(X) 2455 Y=FNB(Y) 2460 GOTO 3450 2465 IF L(FND(Z))=3 THEN Z=Z-1 : GOTO 3450 2470 Z$="UP" 2475 GOTO 2490 2480 Z$="DOWN" 2485 IF L(FND(Z))=4 THEN Z=Z+1 : GOTO 3450 2490 P715 NEXT Q1 2720 X=A : Y=B 2725 GOSUB 5570 2730 GOTO 1950 2735 REM 2740 REM DISPLAY CONTENTS OF ADJACENT ROOM WITH LAMP 2745 REM 2750 IF LF <> 0 GOTO 2770 2755 PRINT 2760 PRINT "** YOU DON'T HAVE A LAMP, ";R$(RC);"!" 2765 GOTO 1950 2770 PRINT RINT 2495 PRINT "** THERE ARE NO STAIRS GOING ";Z$;" FROM HERE!" 2500 GOTO 1950 2505 IF BL <> 1 GOTO 2540 2510 PRINT 2515 PRINT "** YOU CAN'T SEE ANYTHING, YOU DUMB ";R$(RC);"!" 2520 GOTO 1950 2525 REM 2530 REM DISPLAY MAP OF CURRENT CASTLE LEVEL 2775 PRINT "WHERE DO YOU WANT TO SHINE THE LAMP (N,S,E,W)"; 2780 GOSUB 5415 2785 A=X : B=Y 2790 X=FNB(X+(O$="N")-(O$="S")) 2795 Y=FNB(Y+(O$="W")-(O$="E")) 2800 IF A-X+B-Y <> 0 GOTO 2820 2805 PRINT 2810 PRINT "** THAT'S NOT A DIRECTION, ";R$(RC);"!" 2535 REM 2540 PRINT 2545 A=X : B=Y 2550 FOR X=1 TO 8 2555 FOR Y=1 TO 8 2560 Q=L(FND(Z)) 2565 IF Q > 99 THEN Q=Q-100:LET Q=34:REM TO HIDE ROOMS 2570 IF X=A AND Y=B THEN PRINT "<";I$(Q);"> "; : GOTO 2580 2575 PRINT " ";I$(Q);" "; 2580 NEXT Y 2 2815 GOTO 1950 2820 PRINT 2825 PRINT "THE LAMP SHINES INTO (";X;",";Y;") LEVEL";Z;"." 2830 PRINT 2835 L(FND(Z))=FNE(L(FND(Z))) 2840 PRINT "THERE YOU WILL FIND ";C$(L(FND(Z)));"." 2845 X=A : Y=B 2850 GOTO 1950 2855 REM 2860 REM TAKE A DRINK FRO585 PRINT 2590 PRINT 2595 NEXT X 2600 X=A : Y=B 2605 GOTO 2725 2610 PRINT ") LEVEL";Z 2615 GOTO 1950 2620 IF FL <> 0 GOTO 2650 2625 PRINT "** HEY, BRIGHT ONE, YOU'RE OUT OF FLARES!" 2630 GOTO 1950 2635 REM 2640 REM DISPLAY ADJACENT ROOM CONTENM A POOL 2865 REM 2870 IF L(FND(Z))=5 GOTO 2890 2875 PRINT 2880 PRINT "** IF YOU WANT A DRINK, FIND A POOL!" 2885 GOTO 1950 2890 Q=FNA(8) 2895 PRINT 2900 PRINT "YOU TAKE A DRINK AND "; 2905 IF Q < 7 THEN PRINT "FEEL "; 2910 ON Q GOTO 2915,2920,29  25,2930,2935,2940,2945,2955 2915 ST=FNC(ST+FNA(3)) : PRINT "STRONGER." : GOTO 1950 2920 ST=ST-FNA(3) : PRINT "WEAKER." : ON (1-(ST<1)) GOTO 1950,4910 2925 IQ=FNC(IQ+FNA(3)) : PRINT "SMARTER." : GOTO 1950 2930 IQ=IQ-FNA(3) : PRINT "DUMBER." : ON (1-(IQ<80 ST=18 3085 GOTO 3105 3090 PRINT "THE BOOK STICKS TO YOUR HANDS -" 3095 PRINT "NOW YOU ARE UNABLE TO DRAW YOUR WEAPON!" 3100 BF=1 3105 L(FND(Z))=1 3110 GOTO 1950 3115 ON FNA(4) GOTO 3120,3140,3160,3140 3120 PRINT "KABOOM! IT EXPLODES!!" 3125 Q=F1)) GOTO 1950,4910 2935 DX=FNC(DX+FNA(3)) : PRINT "NIMBLER." : GOTO 1950 2940 DX=DX-FNA(3) : PRINT "CLUMSIER." : ON (1-(DX<1)) GOTO 1950,4910 2945 Q=FNA(4) : IF Q=RC GOTO 2945 2950 RC=Q : PRINT "BECOME A ";R$(RC);"." : GOTO 1950 2955 SX=1-SX : PRINT "NA(6) 3130 GOSUB 4860 3135 ON (1-(ST<1)) GOTO 3105,4910 3140 Q=FNA(1000) 3145 PRINT "FIND";Q;"GOLD PIECES!" 3150 GP=GP+Q 3155 GOTO 3105 3160 PRINT "GAS!! YOU STAGGER FROM THE ROOM!" 3165 L(FND(Z))=1 3170 T=T+20 3175 O$=MID$("NSEW",FNA(4),1) 3180TURN INTO A "; : IF SX=0 THEN PRINT "FE"; 2960 PRINT "MALE ";R$(RC);"!" : GOTO 1950 2965 IF L(FND(Z)) <> 6 GOTO 2985 2970 PRINT 2975 PRINT "YOU OPEN THE CHEST AND" 2980 GOTO 3115 2985 IF L(FND(Z)) <> 12 GOTO 3005 2990 PRINT 2995 PRINT "YOU OPEN THE GOTO 2440 3185 IF L(FND(Z))=11 GOTO 3205 3190 PRINT 3195 PRINT "** IT'S HARD TO GAZE WITHOUT AN ORB!" 3200 GOTO 1950 3205 PRINT 3210 PRINT "YOU SEE "; 3215 ON FNA(6) GOTO 3220,3230,3240,3250,3285,3305 3220 PRINT "YOURSELF IN A BLOODY HEAP!" 3225  BOOK AND" 3000 GOTO 3020 3005 PRINT 3010 PRINT "** THE ONLY THING OPENED WAS YOUR BIG MOUTH!" 3015 GOTO 1950 3020 ON FNA(6) GOTO 3025,3040,3050,3060,3075,3090 3025 PRINT "FLASH! OH NO! YOU ARE NOW A BLIND ";R$(RC);"!" 3030 BL=1 3035 GOTO 3105 304ST=ST-FNA(2) : ON (1-(ST<1)) GOTO 1950,4910 3230 PRINT "YOURSELF DRINKING FROM A POOL AND BECOMING ";C$(12+FNA(13));"!" 3235 GOTO 1950 3240 PRINT C$(12+FNA(13));" GAZING BACK AT YOU!" 3245 GOTO 1950 3250 A=X : B=Y : C=Z 3255 X=FNA(8) : Y=FNA(8) : Z=F0 PRINT "IT'S ANOTHER VOLUME OF ZOT'S POETRY! - YECH!!" 3045 GOTO 3105 3050 PRINT "IT'S AN OLD COPY OF PLAY";R$(FNA(4));"!" 3055 GOTO 3105 3060 PRINT "IT'S A MANUAL OF DEXTERITY!" 3065 DX=18 3070 GOTO 3105 3075 PRINT "IT'S A MANUAL OF STRENGTH!" 30NA(8) 3260 Q=FNE(L(FND(Z))) 3265 L(FND(Z))=Q 3270 PRINT C$(Q);" AT (";X;",";Y;") LEVEL";Z;"." 3275 X=A : Y=B : Z=C 3280 GOTO 1950 3285 A=FNA(8) : B=FNA(8) : C=FNA(8) 3290 IF FNA(8) < 4 THEN A=O(1) : B=O(2) : C=O(3) 3295 PRINT "***THE ORB OF ZOT***   AT (";A;",";B;") LEVEL";C;"!" 3300 GOTO 1950 3305 PRINT "A SOAP OPERA RERUN!" 3310 GOTO 1950 3315 IF RF <> 0 GOTO 3335 3320 PRINT 3325 PRINT "** YOU CAN'T TELEPORT WITHOUT THE RUNESTAFF!" 3330 GOTO 1950 3335 Z$="X-COORDINATE" 3340 GOSUB 5485 3345 AND (O(2)=Y) AND (O(3)=Z) THEN ON (1-(O$="T")) GOTO 2440,5175 3540 X=FNA(8) : Y=FNA(8) : Z=FNA(8) : GOTO 3450 3545 IF Q=10 THEN Z=FNB(Z+1) : GOTO 3450 3550 IF Q <= 25 OR Q >= 34 GOTO 3580 3555 PRINT 3560 PRINT "IT'S NOW YOURS!" 3565 T(Q-25)=1 3570  X=Q 3350 Z$="Y-COORDINATE" 3355 GOSUB 5485 3360 Y=Q 3365 Z$="Z-COORDINATE" 3370 GOSUB 5485 3375 Z=Q 3380 O$="T" 3385 GOTO 3450 3390 PRINT 3395 PRINT "DO YOU REALLY WANT TO QUIT NOW"; 3400 GOSUB 5415 3405 PRINT 3410 IF O$="Y" GOTO 3425 3415 PTC=TC+1 3575 GOTO 3105 3580 A=L(FND(Z))-12 3585 WC=0 3590 IF (A<13) OR (VF=1) GOTO 4185 3595 PRINT 3600 PRINT "YOU MAY TRADE WITH, ATTACK, OR IGNORE THE VENDOR." 3605 GOSUB 5405 3610 IF O$="I" GOTO 1950 3615 IF O$ <> "A" GOTO 3640 3620 VF=1 3625RINT "** THEN DON'T SAY THAT YOU DO!" 3420 GOTO 1950 3425 PRINT 3430 GOTO 5030 3435 REM 3440 REM DISPLAY STATUS INFORMATION 3445 REM 3450 PRINT 3455 IF BL=0 THEN GOSUB 5570 : PRINT 3460 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";D PRINT 3630 PRINT "YOU'LL BE SORRY THAT YOU DID THAT!" 3635 GOTO 4185 3640 IF O$="T" GOTO 3660 3645 PRINT 3650 PRINT "** NICE SHOT, ";R$(RC);"!" 3655 GOTO 3595 3660 FOR Q=1 TO 8 3665 A=FNA(Q*1500) 3670 IF T(Q)=0 GOTO 3700 3675 PRINT 3680 PRINT "X 3465 PRINT "TREASURES =";TC;" FLARES =";FL;" GOLD PIECES =";GP 3470 PRINT "WEAPON = ";W$(WV+1);" ARMOR = ";W$(AV+5); 3475 IF LF=1 THEN PRINT " AND A LAMP"; 3480 PRINT 3485 WC=0 3490 Q=FNE(L(FND(Z))) 3495 L(FND(Z))=Q 3500 Z$="YOU NOW HAVE" 3505DO YOU WANT TO SELL ";C$(Q+25);" FOR";A;"GP'S"; 3685 GOSUB 5415 3690 IF O$="Y" THEN TC=TC-1 : T(Q)=0 : GP=GP+A : GOTO 3700 3695 IF O$ <> "N" THEN PRINT Y$ : GOTO 3675 3700 NEXT Q 3705 IF GP >= 1000 GOTO 3725 3710 PRINT 3715 PRINT "YOU'RE TOO POOR TO PRINT 3510 PRINT "HERE YOU FIND ";C$(Q);"." 3515 IF (Q<7) OR (Q=11) OR (Q=12) GOTO 1950 3520 IF Q=7 THEN GP=GP+FNA(10) : PRINT Z$;GP;"." : GOTO 3105 3525 IF Q=8 THEN FL=FL+FNA(5) : PRINT Z$;FL;"." : GOTO 3105 3530 IF Q > 9 GOTO 3545 3535 IF (O(1)=X) TRADE, ";R$(RC);"." 3720 GOTO 1950 3725 IF GP < 1250 GOTO 3975 3730 PRINT 3735 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GP'S AND ";W$(AV+5);" ARMOR." 3740 PRINT 3745 Z$="ARMOR" 3750 GOSUB 5555 3755 PRINT "NOTHING<0> LEATHER<1250> "; 3760 IF GP > 1499   THEN PRINT "CHAINMAIL<1500> "; 3765 IF GP > 1999 THEN PRINT "PLATE<2000>"; 3770 PRINT 3775 GOSUB 5405 3780 PRINT 3785 IF O$="N" GOTO 3850 3790 IF O$="L" THEN GP=GP-1250 : AV=1 : AH=7 : GOTO 3850 3795 IF O$ <> "C" OR GP >= 1500 GOTO 3810 3800 PRINT "; 3950 PRINT "YOU LEFT HOME WITHOUT IT!" 3955 GOTO 3865 3960 IF O$="S" THEN GP=GP-2000 : WV=3 : GOTO 3975 3965 PRINT "** TRY CHOOSING A SELECTION!" 3970 GOTO 3895 3975 IF GP < 1000 GOTO 1950 3980 Z$="STRENGTH" 3985 GOSUB 5525 3990 IF O$ <> "Y" G "** YOU HAVEN'T GOT THAT MUCH CASH ON HAND!" 3805 GOTO 3740 3810 IF O$="C" THEN GP=GP-1500 : AV=2 : AH=14 : GOTO 3850 3815 IF O$ <> "P" OR GP >= 2000 GOTO 3830 3820 PRINT "** YOU CAN'T AFFORD PLATE ARMOR!" 3825 GOTO 3740 3830 IF O$="P" THEN GP=GP-20OTO 4020 3995 GP=GP-1000 4000 ST=FNC(ST+FNA(6)) 4005 Q=ST 4010 GOSUB 5540 4015 GOTO 3975 4020 IF O$ <> "N" THEN PRINT Y$ : GOTO 3980 4025 IF GP < 1000 GOTO 1950 4030 Z$="INTELLIGENCE" 4035 GOSUB 5525 4040 IF O$ <> "Y" GOTO 4070 4045 GP=GP-1000 00 : AV=3 : AH=21 : GOTO 3850 3835 PRINT 3840 PRINT "** DON'T BE SILLY. CHOOSE A SELECTION." 3845 GOTO 3770 3850 IF GP < 1250 GOTO 3975 3855 PRINT 3860 PRINT "YOU HAVE";GP;"GP'S LEFT WITH ";W$(WV+1);" IN HAND." 3865 PRINT 3870 Z$="WEAPON" 3875 GOS4050 IQ=FNC(IQ+FNA(6)) 4055 Q=IQ 4060 GOSUB 5540 4065 GOTO 4025 4070 IF O$ <> "N" THEN PRINT Y$ : GOTO 4030 4075 IF GP < 1000 GOTO 1950 4080 Z$="DEXTERITY" 4085 GOSUB 5525 4090 IF O$ <> "Y" GOTO 4120 4095 GP=GP-1000 4100 DX=FNC(DX+FNA(6)) 4105 QUB 5555 3880 PRINT "NOTHING<0> DAGGER<1250> "; 3885 IF GP > 1499 THEN PRINT "MACE<1500> "; 3890 IF GP > 1999 THEN PRINT "SWORD<2000>"; 3895 PRINT 3900 GOSUB 5405 3905 PRINT 3910 IF O$="N" GOTO 3975 3915 IF O$="D" THEN GP=GP-1250 : WV=1 : GOTO 3975 =DX 4110 GOSUB 5540 4115 GOTO 4075 4120 IF O$ <> "N" THEN PRINT Y$ : GOTO 4080 4125 IF (GP<1000) OR (LF=1) GOTO 1950 4130 PRINT 4135 PRINT "DO YOU WANT TO BUY A LAMP FOR 1000 GP'S"; 4140 GOSUB 5415 4145 IF O$ <> "Y" GOTO 4175 4150 GP=GP-1000 4155 3920 IF O$ <> "M" OR GP >= 1500 GOTO 3935 3925 PRINT "** SORRY SIR, I'M AFRAID I DON'T GIVE CREDIT!" 3930 GOTO 3865 3935 IF O$="M" THEN GP=GP-1500 : WV=2 : GOTO 3975 3940 IF O$ <> "S" OR GP >= 2000 GOTO 3960 3945 PRINT "** YOUR DUNGEON EXPRESS CARD - LF=1 4160 PRINT 4165 PRINT "IT'S GUARANTEED TO OUTLIVE YOU!" 4170 GOTO 1950 4175 IF O$ <> "N" THEN PRINT Y$ : GOTO 4130 4180 GOTO 1950 4185 Q1=1+INT(A/2) : Q2=A+2 : Q3=1 4190 IF (C(1,4)>T(1)) OR (BL=1) OR (DX 14 THEN PRINT "YOU CAN ALSO CAST A SPELL." 4225 PRINT 4230 PRINT "YOUR STRENGTH IS";ST;"ANU'VE FOUND THE RUNESTAFF!";CHR$(7) 4410 R(1)=0 4415 RF=1 4420 Q=FNA(1000) 4425 PRINT 4430 PRINT "YOU NOW GET HIS HOARD OF";Q;"GP'S!" 4435 GP=GP+Q 4440 GOTO 3105 4445 IF O$="R" GOTO 4700 4450 IF O$ <> "C" GOTO 4595 4455 IF IQ >= 15 OR Q3 <= 1 GOTOD YOUR DEXTERITY IS";DX;"." 4235 GOSUB 5405 4240 IF O$ <> "A" GOTO 4445 4245 IF WV <> 0 GOTO 4265 4250 PRINT 4255 PRINT "** POUNDING ON ";C$(A+12);" WON'T HURT IT!" 4260 GOTO 4700 4265 IF BF <> 1 GOTO 4285 4270 PRINT 4275 PRINT "** YOU CAN'T BEAT  4475 4460 PRINT 4465 PRINT "** YOU CAN'T CAST A SPELL NOW!" 4470 GOTO 4195 4475 PRINT 4480 PRINT "WHICH SPELL (WEB, FIREBALL, DEATHSPELL)"; 4485 GOSUB 5415 4490 PRINT 4495 IF O$ <> "W" GOTO 4515 4500 ST=ST-1 4505 WC=FNA(8)+1 4510 ON (1-(ST<1)) IT TO DEATH WITH A BOOK!" 4280 GOTO 4700 4285 IF DX >= FNA(20)+(3*BL) GOTO 4305 4290 PRINT 4295 PRINT "YOU MISSED, TOO BAD!" 4300 GOTO 4700 4305 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2) 4310 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2) 4315 PRINT 4320 PRINT "GOTO 4700,4910 4515 IF O$ <> "F" GOTO 4560 4520 Q=FNA(7)+FNA(7) 4525 ST=ST-1 4530 IQ=IQ-1 4535 IF (IQ < 1) OR (ST < 1) GOTO 4910 4540 PRINT "IT DOES";Q;"POINTS WORTH OF DAMAGE." 4545 PRINT 4550 Q2=Q2-Q 4555 GOTO 4355 4560 IF O$="D" GOTO 4580 456YOU HIT THE EVIL ";Z$;"!" 4325 Q2=Q2-WV 4330 IF (A <> 9 AND A <> 12) GOTO 4355 4335 IF FNA(8) <> 1 GOTO 4355 4340 PRINT 4345 PRINT "OH NO! YOUR ";W$(WV+1);" BROKE!" 4350 WV=0 4355 IF Q2 > 0 GOTO 4700 4360 PRINT 4365 MC=MC-1 4370 PRINT C$(A+12);" 5 PRINT 4570 PRINT "** TRY ONE OF THE OPTIONS GIVEN." 4575 GOTO 4195 4580 PRINT "DEATH . . . "; 4585 IF IQ < FNA(4)+15 THEN PRINT "YOURS!" : IQ=0 : GOTO 4910 4590 PRINT "HIS!" : Q2=0 : GOTO 4360 4595 IF O$="B" AND Q3 <= 1 GOTO 4615 4600 PRINT 4605 LIES DEAD AT YOUR FEET!" 4375 IF H > T-60 GOTO 4395 4380 PRINT 4385 PRINT "YOU SPEND AN HOUR EATING ";C$(A+12);E$(FNA(8));"." 4390 H=T 4395 IF X <> R(1) OR Y <> R(2) OR Z <> R(3) THEN ON (1-(A=13)) GOTO 4420,5305 4400 PRINT 4405 PRINT "GREAT ZOT! YOPRINT "** CHOOSE ONE OF THE OPTIONS LISTED." 4610 GOTO 4195 4615 IF TC <> 0 GOTO 4635 4620 PRINT 4625 PRINT "ALL I WANT IS YOUR LIFE!" 4630 GOTO 4700 4635 Q=FNA(8) 4640 IF T(Q)=0 GOTO 4635 4645 PRINT 4650 PRINT "I WANT ";C$(Q+25);". WILL YOU GIVE   IT TO ME"; 4655 GOSUB 5415 4660 IF O$="N" GOTO 4700 4665 IF O$ <> "Y" THEN PRINT Y$ : GOTO 4645 4670 T(Q)=0 4675 TC=TC-1 4680 PRINT 4685 PRINT "OK, JUST DON'T TELL ANYONE ELSE." 4690 VF=VF+(L(FND(Z))=25) 4695 GOTO 1950 4700 Q3=2 4705 IF WC <= 0  DESTROYED . . . GOOD LUCK!" 4900 ST=ST-Q 4905 RETURN 4910 PRINT CHR$(7) 4915 GOSUB 5375 4920 PRINT "A NOBLE EFFORT, OH FORMERLY LIVING ";R$(RC);"!" 4925 PRINT 4930 PRINT "YOU DIED DUE TO LACK OF "; 4935 IF ST < 1 THEN PRINT "STRENGTH." 4940 IF IQGOTO 4720 4710 WC=WC-1 4715 IF WC=0 THEN PRINT : PRINT "THE WEB JUST BROKE!" 4720 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2) 4725 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2) 4730 IF WC <= 0 GOTO 4750 4735 PRINT 4740 PRINT "THE ";Z$;" IS STUCK AND CAN'T ATTACK NO < 1 THEN PRINT "INTELLIGENCE." 4945 IF DX < 1 THEN PRINT "DEXTERITY." 4950 PRINT 4955 Q3=1 4960 PRINT "AT THE TIME YOU DIED, YOU HAD :" 4965 GOTO 5055 4970 Q3=0 4975 PRINT 4980 PRINT "YOU LEFT THE CASTLE WITH"; 4985 IF OF=0 THEN PRINT "OUT"; 499W!" 4745 GOTO 4805 4750 PRINT 4755 PRINT "THE ";Z$;" ATTACKS!" 4760 IF DX < FNA(7)+FNA(7)+FNA(7)+3*BL GOTO 4780 4765 PRINT 4770 PRINT "WHAT LUCK, HE MISSED YOU!" 4775 GOTO 4805 4780 PRINT 4785 PRINT "OUCH! HE HIT YOU!" 4790 Q=Q1 4795 GOSUB 4860 0 PRINT " THE ORB OF ZOT." 4995 PRINT 5000 IF OF=0 GOTO 5030 5005 PRINT 5010 PRINT "AN INCREDIBLY GLORIOUS VICTORY!!" 5015 PRINT 5020 PRINT "IN ADDITION, YOU GOT OUT WITH THE FOLLOWING :" 5025 GOTO 5050 5030 PRINT 5035 PRINT "A LESS THAN AWE-INSPI 4800 IF ST < 1 GOTO 4910 4805 IF O$ <> "R" GOTO 4195 4810 PRINT 4815 PRINT "YOU HAVE ESCAPED!" 4820 PRINT 4825 PRINT "DO YOU WANT TO GO NORTH, SOUTH, EAST, OR WEST"; 4830 GOSUB 5415 4835 IF O$="N" OR O$="S" OR O$="E" OR O$="W" GOTO 2440 4840 PRINTRING DEFEAT." 5040 PRINT 5045 PRINT "WHEN YOU LEFT THE CASTLE, YOU HAD :" 5050 IF Q3=0 THEN PRINT "YOUR MISERABLE LIFE!" 5055 FOR Q=1 TO 8 5060 IF T(Q)=1 THEN PRINT C$(Q+25) 5065 NEXT Q 5070 PRINT W$(WV+1);" AND ";W$(AV+5); 5075 IF LF=1 THEN PRINT  4845 PRINT "** DON'T PRESS YOUR LUCK, ";R$(RC);"!" 4850 PRINT 4855 GOTO 4825 4860 IF AV=0 GOTO 4900 4865 Q=Q-AV 4870 AH=AH-AV 4875 IF Q < 0 THEN AH=AH-Q : Q=0 4880 IF AH >= 0 GOTO 4900 4885 AH=0 : AV=0 4890 PRINT 4895 PRINT "YOUR ARMOR HAS BEEN" AND A LAMP"; 5080 PRINT 5085 PRINT "YOU ALSO HAD";FL;"FLARES AND";GP;"GOLD PIECES" 5090 IF RF=1 THEN PRINT "AND THE RUNESTAFF" 5095 PRINT 5100 PRINT "AND IT TOOK YOU";T;"TURNS!" 5105 PRINT 5110 PRINT "ARE YOU FOOLISH ENOUGH TO WANT TO PLAY AGAIN";   5115 GOSUB 5415 5120 PRINT 5125 IF O$ <> "Y" GOTO 5155 5130 PRINT "SOME ";R$(RC);"S NEVER LEARN!" 5135 PRINT 5140 PRINT "PLEASE BE PATIENT WHILE THE CASTLE IS RESTOCKED." 5145 PRINT 5150 GOTO 1105 5155 IF O$ <> "N" THEN PRINT Y$ : GOTO 5110 516085 X=FNA(8) : Y=FNA(8) 5290 IF L(FND(Z)) <> 101 GOTO 5285 5295 L(FND(Z))=Q 5300 RETURN 5305 PRINT 5310 PRINT "YOU GET ALL HIS WARES :" 5315 PRINT "PLATE ARMOR" 5320 AV=3 : AH=21 5325 PRINT "A SWORD" 5330 WV=3 5335 PRINT "A STRENGTH POTION" 5340  PRINT "MAYBE DUMB ";R$(RC);" IS NOT SO DUMB AFTER ALL!" 5165 PRINT 5170 GOTO 5580 5175 PRINT 5180 PRINT "GREAT UNMITIGATED ZOT!" 5185 PRINT 5190 PRINT "YOU JUST FOUND ***THE ORB OF ZOT***!" 5195 PRINT 5200 PRINT "THE RUNESTAFF HAS DISAPPEARED!" 5ST=FNC(ST+FNA(6)) 5345 PRINT "AN INTELLIGENCE POTION" 5350 IQ=FNC(IQ+FNA(6)) 5355 PRINT "A DEXTERITY POTION" 5360 DX=FNC(DX+FNA(6)) 5365 IF LF=0 THEN PRINT "A LAMP" : LF=1 5370 GOTO 4420 5375 FOR Q=1 TO 64 5380 PRINT "*"; 5385 NEXT Q 5390 PRINT 205 RF=0 5210 OF=1 5215 O(1)=0 5220 GOTO 3105 5225 DATA AN EMPTY ROOM,.,THE ENTRANCE,E,STAIRS GOING UP,U 5230 DATA STAIRS GOING DOWN,D,A POOL,P,A CHEST,C,GOLD PIECES,G 5235 DATA FLARES,F,A WARP,W,A SINKHOLE,S,A CRYSTAL ORB,O 5240 DATA A BOOK,B,A KOB5395 PRINT 5400 RETURN 5405 PRINT 5410 PRINT "YOUR CHOICE"; 5415 INPUT O$ 5420 O$=LEFT$(O$,1) 5425 RETURN 5430 PRINT "HOW MANY POINTS DO YOU WISH TO ADD TO YOUR ";Z$; 5435 INPUT O$ 5440 PRINT 5445 Q=VAL(O$) 5450 IF Q=0 AND ASC(O$) <> 48 THEN Q=-OLD,M,AN ORC,M,A WOLF,M,A GOBLIN,M,AN OGRE,M 5245 DATA A TROLL,M,A BEAR,M,A MINOTAUR,M,A GARGOYLE,M,A CHIMERA,M 5250 DATA A BALROG,M,A DRAGON,M,A VENDOR,V,THE RUBY RED,T 5255 DATA THE NORN STONE,T,THE PALE PEARL,T,THE OPAL EYE,T 5260 DATA THE GREEN GEM1 5455 IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 5430 5460 OT=OT-Q 5465 RETURN 5470 INPUT O$ 5475 Q=INT(VAL(O$)) 5480 RETURN 5485 PRINT 5490 PRINT Z$; 5495 INPUT O$ 5500 Q=INT(VAL(O$)) 5505 IF Q > 0 AND Q < 9 THEN RETURN 5510 PRINT ,T,THE BLUE FLAME,T,THE PALANTIR,T,THE SILMARIL,T 5265 DATA X,"?",NO WEAPON," SANDWICH" 5270 DATA DAGGER," STEW",MACE," SOUP",SWORD," BURGER",NO ARMOR," ROAST" 5275 DATA LEATHER," FILET",CHAINMAIL," TACO",PLATE," PIE" 5280 DATA HOBBIT,ELF,MAN,DWARF 525515 PRINT "** TRY A NUMBER FROM 1 TO 8." 5520 GOTO 5485 5525 PRINT 5530 PRINT "DO YOU WANT TO BUY A POTION OF ";Z$;" FOR 1000 GP'S"; 5535 GOTO 5415 5540 PRINT 5545 PRINT "YOUR ";Z$;" IS NOW";Q;"." 5550 RETURN 5555 PRINT 5560 PRINT "THESE ARE THE   TYPES OF ";Z$;" YOU CAN BUY :" 5565 RETURN 5570 PRINT "YOU ARE AT (";X;",";Y;") LEVEL";Z;"." 5575 RETURN 5580 END ARE THE 0 GP'S"; 5535 GOTO 5415 5540 PRINT 5545 PRINT "YOUR ";Z$;" IS NOW";Q;"." 5550 RETURN 5555 PRINT 5560 PRINT "THESE ARE THE  THE GNOMIC WIZARD ZOT FORGED HIS GREAT *ORB OF POWER*. SOON AFTER DOING THIS, HE VANISHED, LEAVING BEHIND HIS VAST SUBTERRANEAN CASTLE FILLED WITH ESURIENT MONSTERS, FABULOUS TREASURES, AND THE INCREDIBLE *ORB OF ZOT*. FROM THAT TIME HENCE, MANY A BOLDم YOUTH HAS VENTURED INTO THE WIZARD'S CASTLE. AS YET, *NONE* HAS EVER EMERGED VICTORIOUS. * * INTRODUCTION * WIZARD'S CASTLE IS A COMPUTERIZED SIMULATION OF ONE OF THE MOST COMMON AND POPULAR FANTASY MOTIFS - THE LONE ADVENTURER'S QUEST WITHIN * * WIZARD'S CASTLE GAME FROM JULY/AUGUST 1980 * ISSUE OF RECREATIONAL COMPUTING MAGAZINE * * ORIGINAL EXIDY SORCERER VERSION BY JOSEPH R. POWER * MODIFIED HEATH MICROSOFT BASIC VERSION BY J.F.STETSON * WIZARD'S CASTLE IS A FAN IMMENSE UNDER- GROUND LABYRINTH. EACH GAME IS SEPARATE FROM ALL OTHERS, SO THE GAME IS A CHALLENGE EVEN AFTER YOU HAVE WON SEVERAL TIMES. EACH GAME WILL RESULT IN A WIN OR A LOSS, DEPENDING ON A PLAYER'S SKILL AND LUCK. THE INSTRUCTIONS WHICH FOLLOWANTASY GAME ABOUT EQUAL IN COMPLEXITY TO THE SEVERAL VERSIONS OF "ADVENTURE" WHICH ARE NOW AVAILABLE FOR MICROCOMPUTERS AND IS A VERY LARGE "BASIC" PROGRAM IN ITS OWN RIGHT. UNLIKE ADVENTURE, THE CASTLE IS RANDOMLY STOCKED FOR EACH GAME, WHICH MEANS THA EXPLAIN THE RULES AND OPTIONS OF THE GAME. IF AT ANY TIME, HOWEVER, YOU ARE NOT SURE OF WHAT TO DO - EXPERIMENT. THE PROGRAM IS DESIGNED TO PREVENT INVALID INPUTS. * * CHARACTER CREATION * AT THE START OF EACH GAME, YOU WILL BE ASKED A NUMBER T WINNING ONE DOES NOT DETRACT FROM PLAYING FUTURE GAMES. AT PRESENT, THERE ARE VERISONS OF WIZARD'S CASTLE FOR THE EXIDY SORCERER, TRS-80, HP-2000 AND HEATH H-8/H-89 COMPUTERS. * * BACKGROUND HISTORY * MANY CYCLES AGO, IN THE KINGDOM OF N'DIC,OF QUESTIONS ABOUT WHAT TYPE OF CHARACTER YOU WILL HAVE. YOU MUST MAKE CHOICES ABOUT THE FOLLOWING : * RACE YOU MAY BE AN ELF, DWARF, MAN, OR HOBBIT. EACH RACE STARTS WITH A TOTAL OF 32 POINTS (EXCEPT HOBBITS, WHO ONLY GET 28), BUT THEY ARE    DISTRIBUTED DIFFERENTLY FOR EACH RACE. * SEX YOU MAY BE MALE OR FEMALE. BOTH ARE EQUAL IN ABILITY AND IN THE NUMBER OF POINTS. BE CREATIVE WITH YOUR RESPONSE. * POINTS EACH CHARACTER STARTS WITH A NUMBER OF POINTS FOR THE ATTRIBUER SELECTING ARMOR AND A WEAPON, YOU HAVE 20 GP'S OR MORE LEFT, YOU MAY BUY A LAMP FOR 20 GP'S. HAVING THE LAMP WILL ALLOW YOU TO LOOK INTO AN ADJACENT ROOM WITHOUT HAVING TO ENTER IT. * FLARES IF, AFTER ALL OTHER PURCHASES, YOU HAVE ATES OF STRENGTH (ST), INTELLIGENCE (IQ), AND DEXTERITY (DX). IN ADDITION, THERE ARE SOME OTHER POINTS WHICH YOU MAY DISTRIBUTE BETWEEN THESE THREE ATTRIBUTES AS YOU WISH. * YOUR ST, IQ, AND DX MAY BE ANY NUMBER FROM 1 TNY MONEY LEFT, YOU MAY BUY FLARES FOR 1 GP EACH. LIGHTING A FLARE REVEALS THE CONTENTS OF ALL THE ROOMS SURROUNDING YOUR CURRENT LOCATION. * ONCE YOU HAVE CREATED AND EQUIPPED A CHARACTER, YOU ARE READY TO ENTER THE CASO 18. IF ANY OF THE THREE DROPS BELOW 1, YOU HAVE DIED. FOR ALL THREE ATTRIBUTES, THE LARGER THE NUMERICAL VALUE, THE BETTER. EACH CHARACTER ALSO STARTS THE GAME WITH 60 GOLD PIECES (GP'S) WITH WHICH TO PURCHASE SOME, NOTLE AND BEGIN YOUR ADVENTURES. * * THE CASTLE * THE CASTLE IS ARRANGED AS AN 8 X 8 X 8 THREE DIMENSIONAL MATRIX. THIS MEANS THAT THERE ARE 8 LEVELS WITH 64 ROOMS ON EACH LEVEL. THE CASTLE LEVELS ARE NUMBERED FROM 1 (THE TOP LEVEL) TO 8 (THE BOTNE, OR ALL OF THE FOLLOWING ITEMS : * ARMOR YOU MAY BUY PLATE ARMOR FOR 30 GP'S, CHAINMAIL FOR 20 GP'S, OR LEATHER FOR 10 GP'S. YOU CAN WEAR ONLY ONE SUIT OF ARMOR AT A TIME. THE MORE EXPENSIVE THE ARMOR, THE MORE DAMAGE IT WILL ABSORTOM LEVEL). EACH CASTLE LEVEL IS CONSTRUCTED LIKE A DOUGHNUT IN THAT THE NORTH EDGE IS CONNECTED TO THE SOUTH EDGE AND THE EAST EDGE IS CONNECTED TO THE WEST EDGE. IN A SIMILAR FASHION, THE SINKHOLES (EXPLAINED LATER) ON LEVEL 8 WILL "DROP" YOU DOWN TO B. * WEAPON YOU MAY BUY A SWORD FOR 30 GP'S, A MACE FOR 20 GP'S, OR A DAGGER FOR 10 GP'S. YOU CAN ONLY CARRY A SINGLE WEAPON AT A TIME. THE MORE EXPENSIVE THE WEAPON, THE MORE DAMAGE IT DOES TO THE VARIOUS MONSTERS. * LAMP IF, AFT LEVEL 1. THE ONLY ROOM WHICH DOES NOT FUNCTION LIKE THIS IS THE ENTRANCE / EXIT ROOM OF THE CASTLE WHICH IS ALWAYS LOCATED AT LOCATION (1,4) LEVEL 1. GOING NORTH FROM THIS ROOM TAKES YOU OUT OF THE CASTLE AND ENDS THE GAME. * EACH ROOM OF THE CASTLE W  ILL HAVE AS CONTENTS ONE OF THE FOLLOWING : * E THE ENTRANCE / EXIT ROOM . AN EMPTY ROOM CONTAINING NOTHING U STAIRS GOING UP TO THE LEVEL ABOVE D STAIRS GOING DOWN TO THE LEVEL BELOW P A MAGIC POOL FROM WHICH YOU MAY DR EFFECTS AND RESTRICTIONS : * NORTH MOVES YOU TO THE ROOM NORTH OF YOUR PRESENT POSITION. WHEN YOU GO NORTH FROM THE ENTRANCE / EXIT ROOM, THE GAME TERMINATES. IN ALL OTHER CASES, THE NORTH EDGE WRAPS AROUND TO THE SOUTH. * SOUTH INK C A CHEST WHICH YOU MAY OPEN B A BOOK WHICH YOU MAY OPEN G FROM 1 TO 10 GOLD PIECES F FROM 1 TO 3 FLARES W A WARP TO ANOTHER RANDOM LOCATION M A MONSTER (ONE OF 12 DIFFERENT TYPES) V A VENDOR WHICH YOU M MOVES YOU TO THE ROOM SOUTH OF YOUR PRESENT POSITION. IN ALL CASES, THE SOUTH EDGE WRAPS AROUND TO THE NORTH EDGE. * EAST MOVES YOU TO THE ROOM EAST OF YOUR PRESENT POSITION. IN ALL CASES, THE EAST EDGE WRAPS AROUND TO THE WEST EDGEAY ATTACK, IGNORE OR TRADE WITH O A CRYSTAL ORB (THIS IS NOT THE *ORB OF ZOT*) S A SINKHOLE (A ROOM WITH NO FLOOR) T A TREASURE (ONE OF THE 8 IN THE CASTLE) * THE SINGLE LETTERS ARE THE ABBREVIATIONS FOR THE ROOM CONTENTS . * WEST MOVES YOU TO THE ROOM WEST OF YOUR PRESENT POSITION. IN ALL CASES, THE WEST EDGE WRAPS AROUND TO THE EAST EDGE. * UP CAUSES YOU TO ASCEND STAIRS GOING UP. YOU MUST BE IN A ROOM CONTAINING STAIRS GOING UP. * DOWN  WHICH ARE DISPLAYED WHENEVER YOU LOOK AT YOUR MAP OR LIGHT A FLARE. WHEN YOU LOOK AT YOUR MAP, THE ROOM YOU ARE CURRENTLY LOCATED IN IS BRACKETED BY < >. * * PLAYER COMMANDS * WHENEVER THE PROGRAM ASKS FOR A COMMAND, YOU MCAUSES YOU TO DESCEND STAIRS GOING DOWN. YOU MUST BE IN A ROOM CONTAINING STAIRS GOING DOWN. * DRINK CAUSES YOU TO TAKE A DRINK FROM A MAGIC POOL. YOU MAY REPEAT THIS COMMAND AS OFTEN AS YOU WISH, BUT YOU MUST BE IN A ROOM COUST DECIDE WHAT ACTION YOU WISH TO PERFORM. IF YOUR CHOICE IS NOT VALID IN YOUR CURRENT SITUATION, THE PROGRAM WILL INFORM YOU AND ALLOW YOU TO TRY AGAIN. THE FOLLOWING IS A LIST OF THE COMMANDS WHICH THE PROGRAM UNDERSTANDS, WITH A DESCRIPTION OF THEIRNTAINING A MAGIC POOL. * MAP CAUSES A MAP OF THE LEVEL YOU ARE CURRENTLY ON TO BE PRINTED. ALL UNEXPLORED ROOMS ARE DISPLAYED AS "?". ALL OTHER ROOMS ARE DISPLAYED AS THEIR ONE CHARACTER ABBREVIATIONS. YOU MAY LOOK AT YOUR !  MAP AT ANY TIME UNLESS YOU ARE EITHER BLIND OR ARE RETREATING FROM A MONSTER. * FLARE CAUSES ONE OF YOUR FLARES TO BE LIT, REVEALING THE CONTENTS OF ALL ROOMS SURROUNDING YOUR CURRENT POSITION. BECAUSE EACH EDGE IS JOINED TO ZOT*, THERE IS ONLY A 50% CHANCE THAT IT IS CORRECT. YOU CANNOT GAZE WHEN YOU ARE BLIND OR WHEN YOU ARE NOT IN A ROOM CONTAINING A CRYSTAL ORB. * TELE- ALLOWS YOU TO TELEPORT DIRECTLY INTO A SPECIFIC ROOM ANYWHERE IN PORT THE CASTTHE OPPOSITE EDGE, YOU WILL ALWAYS SEE NINE ROOMS WITH YOUR LOCATION IN THE CENTER. EACH FLARE BURNS AWAY TO NOTHING. YOU MAY LIGHT FLARES AS LONG AS YOU HAVE SOME AND YOU ARE NOT BLIND OR RETREATING FROM A MONSTER. FOR THOSE WHOLE. THIS IS THE ONLY WAY TO ENTER THE ROOM CONTAINING THE *ORB OF ZOT*. YOU MUST HAVE THE RUNESTAFF IN ORDER TO TELEPORT. * QUIT ALLOWS YOU TO END THE GAME WHILE YOU ARE STILL IN THE CASTLE. YOU WILL BE ASKED IF YOU REALLY WANT TO QU ARE FAMILIAR WITH ANY OF THE COMMON "STAR TREK" GAMES, A FLARE WORKS MUCH LIKE A LONG RANGE SENSOR SCAN WITH THE ADDITION OF WRAPAROUND. * LAMP ALLOWS YOU TO SHINE YOUR LAMP INTO ANY ONE OF THE ROOMS NORTH, SOUTH, EAST, OR IT, IN CASE YOU MADE A MISTAKE OR WANT TO CHANGE YOUR MIND. IF YOU QUIT, YOU WILL LOSE THE GAME. * HELP CAUSES A SUMMARY OF THE AVAILABLE COMMANDS, ABBREVIATIONS USED IN DESCRIBING THE CONTENTS OF ROOMS, AND THE BENEFITS OF POSSESSINWEST OF YOUR CURRENT POSITION, REVEALING THE ROOM'S CONTENTS. UNLIKE FLARES, THE LAMP MAY BE USED REPEATEDLY. YOU MAY USE YOUR LAMP AT ANY TIME UNLESS YOU DON'T HAVE A LAMP, ARE BLIND, OR ARE RETREATING FROM A MONSTER. * OPEN G EACH OF THE TREASURES TO BE DISPLAYED AT ANY TIME DURING THE GAME. * ALL OF THE COMMANDS, EXCEPT DRINK, CAN BE ABBREVIATED TO THEIR FIRST LETTER (M FOR MAP, Q FOR QUIT, ETC.). THE ABBREVIATION FOR DRINK IS "DR" (TO DI CAUSES YOU TO OPEN A BOOK OR A CHEST WHICH IS IN THE ROOM WITH YOU. * GAZE CAUSES YOU TO GAZE INTO A CRYSTAL ORB. WHEN YOU SEE YOURSELF IN A BLOODY HEAP, YOU LOSE 1 OR 2 POINTS OF STRENGTH. WHEN YOU SEE THE LOCATION OF THE *ORB OF STINGUISH IT FROM "D" FOR THE DOWN COMMAND). * * MAGIC SPELLS * WHENEVER YOUR INTELLIGENCE (IQ) BECOMES 15 OR HIGHER, YOU GAIN THE OPTION TO CAST A MAGIC SPELL ON A MONSTER IF YOU HAVE THE VERY FIRST COMBAT OPTION. THE THREE SPELLS AND THEIR EF"  FECTS ARE AS FOLLOWS : * WEB TRAPS THE MONSTER IN A STICKY WEB SO THAT IT CAN'T FIGHT BACK AS YOU ATTACK IT. THIS SPELL LASTS FROM 2 TO 9 TURNS AND COSTS YOU ONE STRENGTH (ST) POINT. * FIRE- HITS THE MONSTER WITH A BALL OF FLAME OR CASTING SPELLS ON THEM. * LEECH - THIS TAKES FROM 1 TO 5 GP'S FROM YOU EACH TURN UNTIL YOU HAVE NO GOLD PIECES LEFT. * FORGETFULLNESS - THIS CAUSES YOU TO FORGET WHAT YOU KNOW ABOUT THE CASTLE. YOUR MAP WILL SLOWLY RETURN TO ALL Q THAT CAUSES BETWEEN 2 AND 14 BALL POINTS WORTH OF DAMAGE INSTANTLY. IT COSTS ONE STRENGTH POINT AND ONE INTELLIGENCE POINT. * DEATH- IS A CONTEST OF WILLS BETWEEN THE MONSTER AND YOURSELF. WHOEVER SPELL HAS THE LOWER INTELLIGENCE DIES AUESTION MARKS. HOWEVER, THE CONTENTS OF THE ROOMS IN THE CASTLE ARE THE SAME. * IN ADDITION TO NULLIFYING THE EFFECTS OF THE CURSES, THE TREASURES ALSO PROVIDE PROTECTION FROM TWO UNDESIRABLE THINGS WHICH CAN HAPPEN WHEN YOU OPEN A BOOK. THESET ONCE. IT COSTS NOTHING TO USE, BUT IT IS VERY RISKY. EVEN WITH AN IQ OF 18 (THE HIGHEST POSSIBLE), YOU STILL HAVE A 25% CHANCE OF BEING KILLED. * * TREASURES, CURSES, BLINDNESS, AND SUCH * IN THE CASTLE ARE EIGHT RANDOMLY PLAC ARE GOING BLIND, WHICH PREVENTS YOU FROM SEEING YOUR MAPS, LIGHTING FLARES, USING YOUR LAMP, GAZING INTO ORBS, AND BEING INFORMED OF YOUR PRESENT LOCATION, AND SECONDLY, HAVING THE BOOK STICK TO YOUR HANDS, WHICH PREVENTS YOU FROM USING YOUR WEAPON TO ED TREASURES : * THE RUBY RED - WARDS OFF THE CURSE OF LETHARGY. THE PALE PEARL - WARDS OFF THE CURSE OF THE LEECH. THE OPAL EYE - CURES BLINDNESS. THE GREEN GEM - WARDS OFF THE CURSE OF FORGETFULLNESS. THE BLUE FLAME - DISSOLVES BOOKS STUCK TO YOUR FIGHT MONSTERS (YOU CAN STILL CAST SPELLS AT THEM IF YOU ARE SMART ENOUGH, HOWEVER). * * VENDORS * ON EVERY LEVEL IN THE CASTLE, THERE ARE VENDORS WHO ARE MORE THAN WILLING TO SELL YOU VARIOUS ITEMS AT GROSSLY INFLATED PRICES. NORMALLY, THE VENHANDS. * THE NORN STONE - HAS NO SPECIAL POWER. THE PALANTIR - HAS NO SPECIAL POWER. THE SILMARIL - HAS NO SPECIAL POWER. * THERE ARE THREE CURSES : * LETHARGY - THIS GIVES THE MONSTERS THE FIRST ATTACK WHICH PREVENTS YOU FROM BRIBING THEMDORS WILL MAKE YOU AN OFFER FOR EVERY TREASURE YOU HAVE, AND THEN, DEPENDING ON THE AMOUNT OF GOLD YOU HAVE, WILL SELL YOU NEW ARMOR, A NEW WEAPON, POTIONS OF STRENGTH, INTELLIGENCE AND DEXTERITY (NO MATTER HOW MANY POTIONS YOU BUY, THE MAXIMUM AMOUNT #  OF THESE ATTRIBUTES YOU CAN HAVE IS 18), AND A LAMP, IF YOU DON'T ALREADY HAVE ONE. IF YOU CHOOSE TO ATTACK A VENDOR, YOU WILL THEN ANTAGONIZE EVERY VENDOR IN THE CASTLE, AND THEY WILL ALL REACT LIKE MONSTERS. YOU WILL ALSO LOSE THE ABILITY TO TRADE WITE CASTLE EXIT WITHOUT IT). * * WARPS AND THE *ORB OF ZOT* * ALL BUT ONE OF THE ROOMS DENOTED AS "W" REALLY ARE WARPS, AND WALKING, FALLING, OR TELEPORTING INTO THEM WILL CAUSE YOU TO MOVE TO ANY ROOM IN THE CASTLE AT RANDOM. THE ONE EXCEPTION IH THEM. KILLING A VENDOR, HOWEVER, WILL GIVE YOU NEW PLATE ARMOR, A SWORD, ONE OF EACH KIND OF POTION, AND A LAMP (IF YOU DON'T HAVE ONE), IN ADDITION TO HIS HOARD OF BETWEEN 1 AND 1000 GOLD PIECES. TO END HOSTILITIES AND REESTABLISH TRADING PRIVILEGES,S THE *ORB OF ZOT*, WHICH IS DISGUISED AS A WARP. WALKING INTO THIS ROOM ALWAYS CAUSES YOU TO MOVE ONE ROOM FURTHER IN THE SAME DIRECTION. TO ACTUALLY ENTER THIS ROOM, YOU MUST USE THE RUNESTAFF TO TELEPORT IN. AT THIS POINT, YOU WILL ACQUIRE THE GREAT  YOU MUST BRIBE ANY VENDOR IN THE CASTLE WITH THE TREASURE OF HIS CHOICE. * * MONSTERS AND THE RUNESTAFF * THERE ARE 12 TYPES OF MONSTERS IN THE CASTLE : * KOBOLD, ORC, WOLF, GOBLIN, OGRE, TROLL BEAR, MINOTAUR, GARGOYLE, CHIMERA, BALROG, DRAG *ORB OF ZOT*, AND THE RUNESTAFF WILL VANISH. TO WIN THE GAME, YOU MUST LEAVE THE CASTLE WITH THE *ORB OF ZOT*. REMEMBER THAT CRYSTAL ORBS ARE NOT THE *ORB OF ZOT* AND CANNOT BE PICKED UP. * * ERROR MESSAGES * ANY TIME YOU RECEIVE A MESSAGE STAON * PLEASE NOTE THAT EACH TIME YOU STRIKE A GARGOYLE OR A DRAGON, THERE IS A POSSIBILITY THAT YOUR WEAPON WILL BE SHATTERED. * EACH MONSTER POSSESSES A HOARD OF FROM 1 TO 1000 GP'S WHICH YOU OBTAIN WHEN YOU KILL THE MONSTER. IN ADDITION, ONE OF THE RTING WITH "**", IT MEANS THAT THE LAST THING YOU TYPED WAS UNACCEPTABLE TO THE PROGRAM AT THAT TIME. FOR INSTANCE, IF YOU GET THE MESSAGE "** IT'S HARD TO GAZE WITHOUT AN ORB.", THIS MEANS THAT YOU TRIED TO GAZE FROM A ROOM WHICH DID NOT CONTAIN A CRYSMONSTERS IS CARRYING THE RUNESTAFF (YOU WON'T KNOW WHICH ONE UNTIL YOU KILL IT). YOU MUST HAVE THE RUNESTAFF TO TELEPORT, AND WHEN YOU TELEPORT INTO THE CASTLE ROOM WHICH CONTAINS THE *ORB OF ZOT*, THE RUNESTAFF DISAPPEARS (YOU MUST FIND YOUR WAY TO THTAL ORB. YOU ARE ALWAYS REQUIRED TO REDO YOUR LAST RESPONSE WHEN YOU RECEIVE AN "**" TYPE MESSAGE. * * GOOD LUCK, AND BEWARE! * EOF $  مممممممممم%  مممممممممم&  مممممممممم'  مممممممممم