IMD 1.16: 29/05/2007 18:37:06 FOGCPM.066 --FOGCPM066CASTLE BAS CASTLE BASU-06-00 86 CASTLE COM !"#$%&'()*+,-CASTLE COM./0123456789:;<=CASTLE COM>?-CPM066 DOCCASTLE DOC|@ABCDEFGHIJKLMNOCASTLEX DOCPQCIA BAS}RSTUVWXYZ[\]^_`aCIVILW BAS@bcdefghiDSPACE BAS:jklmnopqFIGHTER BAS%rstuvGRANPRIXBASBwxyz{|}~LIFE BAS!MASTERMDBAS QUEST BASQSTARLAN4BAS>STARLANEBASTYAHTZEE BAS;This is the disk name. 10 REM ***************************************************** 20 REM * * 30 REM * Wizard's Castle game from July/August 1980 * 40 REM * issue of Recreational Computing magazine * 50 REM * Written for Exidy Sorcerer by Joseph R. Power * 60 REM * Modified for Heath Microsoft BASIC by J.F.Stetson * 70 REM * Randomizing enhancement by Irene Cohen * 75 REM * Messages changed to lowercase by Alan Chattaway * 80 REM * * 90 REM ***************************************************** 95 GOSUB 10000 100 PRINT "Press any key to start" 110 A$=INKEY$ 120 S=S+1 130 IF S=32769! THEN S=-32768! 140 IF A$="" THEN 110 150 RANDOMIZE S 160 IF AGAIN=1 THEN 300 170 DEFINT A-F,H-Z 180 G=PEEK(-3000):RANDOMIZE G:G=0 190 DIM C$(34),I$(34),R$(4),W$(8),E$(8) 200 DIM L(512),C(3,4),T(8),O(3),R(3) 210 DEF FNA(Q)=1+INT(RND(1)*Q) 220 DEF FNB(Q)=Q+8*((Q=9)-(Q=0)) 230 DEF FNC(Q)=-Q*(Q<19)-18*(Q>18) 240 DEF FND(Q)=64*(Q-1)+8*(X-1)+Y 250 DEF FNE(Q)=Q+100*(Q>99) 260 Y$="** Please answer es or o" 270 NG=0 280 REM 290 REM initialize arrays 300 REM 310 NG=NG+1 320 Q=RND(1) 330 RESTORE 340 FOR Q=1 TO 34 350 READ C$(Q),I$(Q) 360 NEXT Q 365 REM 370 FOR Q=1 TO 512 380 L(Q)=101 390 NEXT Q 395 REM 400 FOR Q=1 TO 8 410 READ W$(Q),E$(Q) 420 NEXT Q 425 REM 430 FOR Q=1 TO 4 440 READ R$(Q) 450 NEXT Q 460 IF NG > 1 GOTO 610 470 REM deleted line 480 GOSUB 10000:GOSUB 8880 490 PRINT " * * * The Wizard's Castle * * *" 500 PRINT 510 GOSUB 8880 520 PRINT "Many cycles ago, in the Kingdom of n'Dic, the" 530 PRINT "gnomic wizard Zot forged his great Orb of Power." 540 PRINT "He soon vanished, leaving behind his vast subter-" 550 PRINT "ranean Castle filled with esurient Monsters, fabu-" 560 PRINT "lous Treasures, and the incredible Orb of Zot. Ever" 570 PRINT "since that time, many a bold youth has ventured" 580 PRINT "into the Wizard's Castle. As of now, none has ever" 590 PRINT "emerged victoriously! BEWARE!!!" 600 PRINT 610 X=1 : Y=4 620 L(FND(1))=2 630 FOR Z=1 TO 7 640 FOR Q1=1 TO 2 650 Q=104 660 GOSUB 8700 670 L(FND(Z+1))=103 680 NEXT Q1 690 NEXT Z 695 REM 700 FOR Z=1 TO 8 710 FOR Q=113 TO 124 720 GOSUB 8700 730 NEXT Q 735 REM 740 FOR Q1=1 TO 3 750 FOR Q=105 TO 112 760 GOSUB 8700 770 NEXT Q 780 Q=125 790 GOSUB 8700 800 NEXT Q1 810 NEXT Z 815 REM 820 FOR Q=126 TO 133 830 Z=FNA(8) 840 GOSUB 8700 850 NEXT Q 860 Q=101 870 FOR A=1 TO 3 880 Z=FNA(8) 890 GOSUB 8700 900 C(A,1)=X 910 C(A,2)=Y 920 C(A,3)=Z 930 C(A,4)=0 940 NEXT A 950 RC=0 960 ST=2 970 DX=14 980 R$(3)="Man" 990 Q=112+FNA(12) 1000 Z=FNA(8) 1010 GOSUB 8700 1020 R(1)=X 1030 R(2)=Y 1040 R(3)=Z 1050 Q=109 1060 Z=FNA(8) 1070 GOSUB 8700 1080 O(1)=X 1090 O(2)=Y 1100 O(3)=Z 1110 BF=0 : OT=8 : AV=0 : HT=0 : T=1 : VF=0 : LF=0 1120 TC=0 : GP=60 : RF=0 : OF=0 : BL=0 : IQ=8 : SX=0 1130 FOR Q=1 TO 8 1140 T(Q)=0 1150 NEXT Q 1160 PRINT CHR$(7); 1170 PRINT "All right, bold one." 1180 PRINT "you may be an lf, warf, huan, or obbit." 1190 GOSUB 8940 1200 FOR Q=1 TO 4 1210 IF (CHR$(ASC(LEFT$(R$(Q),1)) OR &H20))=O$ THEN RC=Q : ST=ST+2*Q : DX=DX-2*Q 1220 NEXT Q 1230 PRINT 1240 OT=OT+4*(RC=1) 1250 IF RC > 0 THEN R$(3)="Human" : GOTO 1280 1260 PRINT "** That was incorrect. Please type e, d, m, or h." 1270 GOTO 1180 1280 PRINT "Which sex would you prefer to be"; 1290 GOSUB 8960 1300 IF O$="m" THEN SX=1 : GOTO 1340 1310 IF O$="f" GOTO 1340 1320 PRINT "** Well, ";R$(RC);", I suggest you try m or f." 1330 GOTO 1280 1340 PRINT 1350 PRINT "Be aware, ";R$(RC);", that you have the following attributes :" 1360 PRINT "Strength =";ST;" Intelligence =";IQ;" Dexterity =";DX 1370 PRINT "and";OT;"other points to allocate as you wish." 1380 PRINT 1390 Z$="Strength" 1400 GOSUB 8990 1410 ST=ST+Q 1420 IF OT=0 GOTO 1500 1430 Z$="Intelligence" 1440 GOSUB 8990 1450 IQ=IQ+Q 1460 IF OT=0 GOTO 1500 1470 Z$="Dexterity" 1480 GOSUB 8990 1490 DX=DX+Q 1500 PRINT "Now, ";R$(RC);", you have 60 Gold Pieces (GP's)." 1510 Z$="Armor" 1520 GOSUB 9240 1530 AV=0 : WV=0 : FL=0 : WC=0 1540 PRINT "

late (30 GP's) hainmail (20 GP's)" 1545 PRINT "eather (10 GP's) othing (free)" 1550 GOSUB 8940 1560 IF O$="n" GOTO 1620 1570 AV=-3*(O$="p")-2*(O$="c")-(O$="l") 1580 IF AV > 0 GOTO 1620 1590 PRINT 1600 PRINT "** Are you a ";R$(RC);" or ";C$(FNA(12)+12);"?" 1610 GOTO 1510 1620 AH=AV*7 : GP=GP-AV*10 1630 PRINT 1640 PRINT "Now, bold ";R$(RC);", you have";GP;"GP's left." 1650 Z$="Weapons" 1660 GOSUB 9240 1670 PRINT "word (30 GP's) ace (20 GP's)" 1675 PRINT "agger (10 GP's) othing (free)" 1680 GOSUB 8940 1690 IF O$="n" GOTO 1750 1700 WV=-3*(O$="s")-2*(O$="m")-(O$="d") 1710 IF WV > 0 GOTO 1750 1720 PRINT 1730 PRINT "** Is your IQ really";IQ;"?" 1740 GOTO 1650 1750 GP=GP-WV*10 1760 IF GP < 20 GOTO 1820 1770 PRINT 1780 PRINT "Do you wish to buy a Lamp for 20 GP's"; 1790 GOSUB 8960 1800 IF O$="y" THEN LF=1 : GP=GP-20 : GOTO 1820 1810 IF O$ <> "n" THEN PRINT : PRINT Y$ : PRINT : GOTO 1780 1820 PRINT 1830 IF GP < 1 THEN Q=0 : GOTO 1940 1840 PRINT "Well, ";R$(RC);", you have";GP;"Gold Pieces left." 1850 PRINT 1860 INPUT "Flares cost 1 GP each. How many would you like";O$ 1870 Q=VAL(O$) 1880 PRINT 1890 IF Q > 0 OR ASC(O$)=48 GOTO 1930 1900 PRINT "** If you don't wish to buy any, type 0 (zero)." 1910 PRINT 1920 GOTO 1860 1930 IF Q > GP THEN PRINT "** You can afford only";GP;"." : PRINT : GOTO 1860 1940 FL=FL+Q : GP=GP-Q 1950 X=1 : Y=4 : Z=1 1960 PRINT "Now, ";R$(RC);", you are entering the Castle!" 1970 GOTO 5010 1980 REM 1990 REM main processing loop 2000 REM 2010 T=T+1 2020 IF RF+OF > 0 GOTO 2150 2030 IF C(1,4) > T(1) THEN T=T+1 2040 IF C(2,4) > T(3) THEN GP=GP-FNA(5) 2050 IF GP < 0 THEN GP=0 2060 IF C(3,4) <= T(5) GOTO 2150 2070 A=X : B=Y : C=Z 2080 X=FNA(8) : Y=FNA(8) : Z=FNA(8) 2090 L(FND(Z))=FNE(L(FND(Z)))+100 2100 X=A : Y=B : Z=C 2110 IF L(FND(Z)) <> 1 GOTO 2150 2120 FOR Q=1 TO 3 2130 C(Q,4)=-(C(Q,1)=X)*(C(Q,2)=Y)*(C(Q,3)=Z) 2140 NEXT Q 2150 IF FNA(5) > 1 GOTO 2440 2160 PRINT 2170 PRINT "You "; 2180 Q=FNA(7)+BL 2190 IF Q > 7 THEN Q=4 2200 ON Q GOSUB 2360,2240,2340,2220,2380,2400,2420 2210 GOTO 2440 2220 PRINT "stepped on a frog!" 2230 RETURN 2240 PRINT "hear "; 2250 ON FNA(4) GOTO 2260,2280,2300,2320 2260 PRINT "a scream!" 2270 RETURN 2280 PRINT "footsteps!" 2290 RETURN 2300 PRINT "a wumpus!" 2310 RETURN 2320 PRINT "thunder!" 2330 RETURN 2340 PRINT "sneezed!" 2350 RETURN 2360 PRINT "see a bat fly by!" 2370 RETURN 2380 PRINT "smell ";C$(12+FNA(13));" frying!" 2390 RETURN 2400 PRINT "feel that you are being watched!" 2410 RETURN 2420 PRINT "hear faint rustling noises!" 2430 RETURN 2440 IF BL+T(4) <> 2 GOTO 2480 2450 PRINT 2460 PRINT C$(29);" cures your blindness!" 2470 BL=0 2480 IF BF+T(6) <> 2 GOTO 2520 2490 PRINT 2500 PRINT C$(31);" dissolves the Book!" 2510 BF=0 2520 PRINT 2530 LINE INPUT "Enter your command ( for help) : ";O$ 2540 IF LEFT$(O$,2)="dr" GOTO 3850 2550 O$=LEFT$(O$,1) 2560 IF O$="n" GOTO 2980 2570 IF (O$="s") OR (O$="w") OR (O$="e") GOTO 2990 2580 IF O$="u" GOTO 3040 2590 IF O$="d" GOTO 3070 2600 IF O$="m" GOTO 3120 2610 IF O$="f" THEN ON BL+1 GOTO 3350,3120 2620 IF O$="l" THEN ON BL+1 GOTO 3610,3120 2630 IF O$="o" GOTO 4040 2640 IF O$="g" THEN ON BL+1 GOTO 4480,3120 2650 IF O$="t" THEN PRINT : ON RF+1 GOTO 4740,4780 2660 IF O$="q" GOTO 4890 2670 IF O$<>"h" GOTO 2950 2680 REM deleted line 2690 GOSUB 10000:PRINT "*** Wizard's Castle command and information summary ***" 2700 PRINT 2710 PRINT " The following commands are available :" 2720 PRINT 2730 PRINT "elp orth outh ast est p" 2740 PRINT "own ink ap lare amp pen" 2750 PRINT "aze uit eleport" 2760 PRINT 2770 PRINT "The contents of rooms are displayed on aps as follows :" 2780 PRINT 2790 PRINT ". = Empty Room b = Book c = Chest" 2800 PRINT "d = stairs Down e = Entrance/Exit f = Flares" 2810 PRINT "g = Gold Pieces m = Monster o = crystal Orb" 2820 PRINT "p = magic Pool s = Sinkhole t = Treasure" 2830 PRINT "u = stairs Up v = Vendor w = Warp (or Orb of Zot)" 2840 PRINT 2850 PRINT " The benefits of having treasures are :" 2860 PRINT 2870 PRINT "Ruby Red - avoid lethargy Pale Pearl - avoid leech" 2880 PRINT "Green Gem - avoid forgetting Opal Eye - cures blindness" 2890 PRINT "Blue Flame - dissolves Books Norn Stone - no benefit" 2900 PRINT "Palantir - no benefit Silmaril - no benefit" 2910 PRINT 2920 PRINT "Press when ready to resume, ";R$(RC);"."; 2930 LINE INPUT "";O$ 2940 GOTO 2010 2950 PRINT 2960 PRINT "** Foolish ";R$(RC);", that wasn't a valid command!" 2970 GOTO 2010 2980 IF L(FND(Z))=2 GOTO 8050 2990 X=X+(O$="n")-(O$="s") 3000 Y=Y+(O$="w")-(O$="e") 3010 X=FNB(X) 3020 Y=FNB(Y) 3030 GOTO 5010 3040 IF L(FND(Z))=3 THEN Z=Z-1 : GOTO 5010 3050 Z$="up" 3060 GOTO 3090 3070 Z$="down" 3080 IF L(FND(Z))=4 THEN Z=Z+1 : GOTO 5010 3090 PRINT 3100 PRINT "** There are no stairs going ";Z$;" from here!" 3110 GOTO 2010 3120 IF BL <> 1 GOTO 3190 3130 PRINT 3140 PRINT "** You can see nothing, you foolish ";R$(RC);"!" 3150 GOTO 2010 3160 REM 3170 REM display map of current castle level 3180 REM 3190 PRINT 3200 A=X : B=Y 3210 FOR X=1 TO 8 3220 FOR Y=1 TO 8 3230 Q=L(FND(Z)) 3240 IF Q > 99 THEN Q=Q-100:LET Q=34:REM to hide rooms 3250 IF X=A AND Y=B THEN PRINT "<";I$(Q);"> "; : GOTO 3270 3260 PRINT " ";I$(Q);" "; 3270 NEXT Y 3280 PRINT 3290 PRINT 3300 NEXT X 3310 X=A : Y=B 3320 GOTO 3560 3330 PRINT ") level";Z 3340 GOTO 2010 3350 IF FL <> 0 GOTO 3410 3360 PRINT "** O forgetful one, you have no flares!" 3370 GOTO 2010 3380 REM 3390 REM display adjacent room contents with flare 3400 REM 3410 PRINT 3420 FL=FL-1 3430 A=X : B=Y 3440 FOR Q1=A-1 TO A+1 3450 X=FNB(Q1) 3460 FOR Q2=B-1 TO B+1 3470 Y=FNB(Q2) 3480 Q=FNE(L(FND(Z))) 3490 L(FND(Z))=Q 3500 PRINT " ";I$(Q);" "; 3510 NEXT Q2 3520 PRINT 3530 PRINT 3540 NEXT Q1 3550 X=A : Y=B 3560 GOSUB 9270 3570 GOTO 2010 3580 REM 3590 REM display contents of adjacent room with Lamp 3600 REM 3610 IF LF <> 0 GOTO 3650 3620 PRINT 3630 PRINT "** You have no Lamp, ";R$(RC);"!" 3640 GOTO 2010 3650 PRINT 3660 PRINT "Where do you wish the Lamp to shine (n,s,e,w)"; 3670 GOSUB 8960 3680 A=X : B=Y 3690 X=FNB(X+(O$="n")-(O$="s")) 3700 Y=FNB(Y+(O$="w")-(O$="e")) 3710 IF A-X+B-Y <> 0 GOTO 3750 3720 PRINT 3730 PRINT "** That is not a direction, ";R$(RC);"!" 3740 GOTO 2010 3750 PRINT 3760 PRINT "The Lamp reveals (";X;",";Y;") level";Z;"." 3770 PRINT 3780 L(FND(Z))=FNE(L(FND(Z))) 3790 PRINT "There you will find ";C$(L(FND(Z)));"." 3800 X=A : Y=B 3810 GOTO 2010 3820 REM 3830 REM take a drink from a pool 3840 REM 3850 IF L(FND(Z))=5 GOTO 3890 3860 PRINT 3870 PRINT "** If you wish to drink, find a pool!" 3880 GOTO 2010 3890 Q=FNA(8) 3900 PRINT 3910 PRINT "As the drink takes effect, you "; 3920 IF Q < 7 THEN PRINT "feel "; 3930 ON Q GOTO 3940,3950,3960,3970,3980,3990,4000,4020 3940 ST=FNC(ST+FNA(3)) : PRINT "stronger." : GOTO 2010 3950 ST=ST-FNA(3) : PRINT "weaker." : ON (1-(ST<1)) GOTO 2010,7930 3960 IQ=FNC(IQ+FNA(3)) : PRINT "wiser." : GOTO 2010 3970 IQ=IQ-FNA(3) : PRINT "less wise." : ON (1-(IQ<1)) GOTO 2010,7930 3980 DX=FNC(DX+FNA(3)) : PRINT "nimbler." : GOTO 2010 3990 DX=DX-FNA(3) : PRINT "clumsier." : ON (1-(DX<1)) GOTO 2010,7930 4000 Q=FNA(4) : IF Q=RC GOTO 4000 4010 RC=Q : PRINT "become a ";R$(RC);"." : GOTO 2010 4020 SX=1-SX : PRINT "turn into a "; : IF SX=0 THEN PRINT "fe"; 4030 PRINT "male ";R$(RC);"!" : GOTO 2010 4040 IF L(FND(Z)) <> 6 GOTO 4080 4050 PRINT 4060 PRINT "You open the chest and" 4070 GOTO 4340 4080 IF L(FND(Z)) <> 12 GOTO 4120 4090 PRINT 4100 PRINT "You open the Book and" 4110 GOTO 4150 4120 PRINT 4130 PRINT "** The only thing opened was your mouth!" 4140 GOTO 2010 4150 ON FNA(6) GOTO 4160,4190,4210,4230,4260,4290 4160 PRINT "F L A S H ! Oh no! You are now a blind ";R$(RC);"!" 4170 BL=1 4180 GOTO 4320 4190 PRINT "It's a volume of Zot's esoteric poetry!" 4200 GOTO 4320 4210 PRINT "It's an old copy of ";R$(FNA(4));"'s Digest!" 4220 GOTO 4320 4230 PRINT "It's a Manual of Dexterity!" 4240 DX=18 4250 GOTO 4320 4260 PRINT "It's a Manual of Strength!" 4270 ST=18 4280 GOTO 4320 4290 PRINT "The Book sticks to your hands!" 4300 PRINT "Now you are unable to draw your weapon!" 4310 BF=1 4320 L(FND(Z))=1 4330 GOTO 2010 4340 ON FNA(4) GOTO 4350,4390,4430,4390 4350 PRINT "K A B O O M ! It explodes!!" 4360 Q=FNA(6) 4370 GOSUB 7830 4380 ON (1-(ST<1)) GOTO 4320,7930 4390 Q=FNA(1000) 4400 PRINT "find";Q;"Gold Pieces!" 4410 GP=GP+Q 4420 GOTO 4320 4430 PRINT "Gas!! You stagger from the room!" 4440 L(FND(Z))=1 4450 T=T+20 4460 O$=MID$("nsew",FNA(4),1) 4470 GOTO 2990 4480 IF L(FND(Z))=11 GOTO 4520 4490 PRINT 4500 PRINT "** It's hard to gaze without an Orb!" 4510 GOTO 2010 4520 PRINT 4530 PRINT "You see "; 4540 ON FNA(6) GOTO 4550,4570,4590,4610,4680,4720 4550 PRINT "yourself lying in a bloody heap!" 4560 ST=ST-FNA(2) : ON (1-(ST<1)) GOTO 2010,7930 4570 PRINT "yourself drinking from a pool and becoming ";C$(12+FNA(13));"!" 4580 GOTO 2010 4590 PRINT C$(12+FNA(13));" gazing back at you!" 4600 GOTO 2010 4610 A=X : B=Y : C=Z 4620 X=FNA(8) : Y=FNA(8) : Z=FNA(8) 4630 Q=FNE(L(FND(Z))) 4640 L(FND(Z))=Q 4650 PRINT C$(Q);" at (";X;",";Y;") level";Z;"." 4660 X=A : Y=B : Z=C 4670 GOTO 2010 4680 A=FNA(8) : B=FNA(8) : C=FNA(8) 4690 IF FNA(8) < 4 THEN A=O(1) : B=O(2) : C=O(3) 4700 PRINT "***The Orb of Zot*** at (";A;",";B;") level";C;"!" 4710 GOTO 2010 4720 PRINT "`The Oracle You Have Reached Is Not In Service'!" 4730 GOTO 2010 4740 IF RF <> 0 GOTO 4780 4750 PRINT 4760 PRINT "** You can't teleport without the Runestaff!" 4770 GOTO 2010 4780 Z$="X-coordinate" 4790 GOSUB 9100 4800 X=Q 4810 Z$="Y-coordinate" 4820 GOSUB 9100 4830 Y=Q 4840 Z$="Z-coordinate" 4850 GOSUB 9100 4860 Z=Q 4870 O$="t" 4880 GOTO 5010 4890 PRINT 4900 PRINT "Do you really want to quit now"; 4910 GOSUB 8960 4920 PRINT 4930 IF O$="y" GOTO 4960 4940 PRINT "** Then don't say that you do!" 4950 GOTO 2010 4960 PRINT 4970 GOTO 8170 4980 REM 4990 REM display status information 5000 REM 5010 PRINT 5020 IF BL=0 THEN GOSUB 9270 : PRINT 5030 PRINT "Strength =";ST;" Intelligence =";IQ;" Dexterity =";DX 5040 PRINT "Treasures =";TC;" Flares =";FL;" Gold Pieces =";GP 5050 PRINT "Weapon = ";W$(WV+1);" Armor = ";W$(AV+5); 5060 IF LF=1 THEN PRINT " and a Lamp"; 5070 PRINT 5080 WC=0 5090 Q=FNE(L(FND(Z))) 5100 L(FND(Z))=Q 5110 Z$="You now have" 5120 PRINT 5130 PRINT "Here you find ";C$(Q);"." 5140 IF (Q<7) OR (Q=11) OR (Q=12) GOTO 2010 5150 IF Q=7 THEN GP=GP+FNA(10) : PRINT Z$;GP;"." : GOTO 4320 5160 IF Q=8 THEN FL=FL+FNA(5) : PRINT Z$;FL;"." : GOTO 4320 5170 IF Q > 9 GOTO 5200 5180 IF (O(1)=X) AND (O(2)=Y) AND (O(3)=Z) THEN ON (1-(O$="t")) GOTO 2990,8480 5190 X=FNA(8) : Y=FNA(8) : Z=FNA(8) : GOTO 5010 5200 IF Q=10 THEN Z=FNB(Z+1) : GOTO 5010 5210 IF Q <= 25 OR Q >= 34 GOTO 5270 5220 PRINT 5230 PRINT "It's now yours!" 5240 T(Q-25)=1 5250 TC=TC+1 5260 GOTO 4320 5270 A=L(FND(Z))-12 5280 WC=0 5290 IF (A<13) OR (VF=1) GOTO 6480 5300 PRINT 5310 PRINT "You may trade with, attack, or ignore the Vendor." 5320 GOSUB 8940 5330 IF O$="i" GOTO 2010 5340 IF O$ <> "a" GOTO 5390 5350 VF=1 5360 PRINT 5370 PRINT "You may well be sorry that you did that!" 5380 GOTO 6480 5390 IF O$="t" GOTO 5430 5400 PRINT 5410 PRINT "** Nice shot, ";R$(RC);"!" 5420 GOTO 5300 5430 FOR Q=1 TO 8 5440 A=FNA(Q*1500) 5450 IF T(Q)=0 GOTO 5510 5460 PRINT 5470 PRINT "Do you wish to sell ";C$(Q+25);" for";A;"GP's"; 5480 GOSUB 8960 5490 IF O$="y" THEN TC=TC-1 : T(Q)=0 : GP=GP+A : GOTO 5510 5500 IF O$ <> "n" THEN PRINT Y$ : GOTO 5460 5510 NEXT Q 5520 IF GP >= 1000 GOTO 5560 5530 PRINT 5540 PRINT "You're too poor to trade, ";R$(RC);"." 5550 GOTO 2010 5560 IF GP < 1250 GOTO 6060 5570 PRINT 5580 PRINT "Now, ";R$(RC);", you have";GP;"GP's and ";W$(AV+5);" armor." 5590 PRINT 5600 Z$="armor" 5610 GOSUB 9240 5620 PRINT "othing (free) eather (1250 GP's) "; 5630 IF GP > 1499 THEN PRINT "hainmail (1500 GP's) "; 5640 IF GP > 1999 THEN PRINT "

late (2000 GP's)"; 5650 PRINT 5660 GOSUB 8940 5670 PRINT 5680 IF O$="n" GOTO 5810 5690 IF O$="l" THEN GP=GP-1250 : AV=1 : AH=7 : GOTO 5810 5700 IF O$ <> "c" OR GP >= 1500 GOTO 5730 5710 PRINT "** You do not have that much cash on hand!" 5720 GOTO 5590 5730 IF O$="c" THEN GP=GP-1500 : AV=2 : AH=14 : GOTO 5810 5740 IF O$ <> "p" OR GP >= 2000 GOTO 5770 5750 PRINT "** You can't afford plate armor!" 5760 GOTO 5590 5770 IF O$="p" THEN GP=GP-2000 : AV=3 : AH=21 : GOTO 5810 5780 PRINT 5790 PRINT "** Don't be foolish. Choose a selection." 5800 GOTO 5650 5810 IF GP < 1250 GOTO 6060 5820 PRINT 5830 PRINT "You have";GP;"GP's left with ";W$(WV+1);" in hand." 5840 PRINT 5850 Z$="weapon" 5860 GOSUB 9240 5870 PRINT "othing (free) agger (1250 GP's) "; 5880 IF GP > 1499 THEN PRINT "ace (1500 GP's) "; 5890 IF GP > 1999 THEN PRINT "word (2000 GP's)"; 5900 PRINT 5910 GOSUB 8940 5920 PRINT 5930 IF O$="n" GOTO 6060 5940 IF O$="d" THEN GP=GP-1250 : WV=1 : GOTO 6060 5950 IF O$ <> "m" OR GP >= 1500 GOTO 5980 5960 PRINT "** Sorry, Sir, I'm afraid I don't give credit!" 5970 GOTO 5840 5980 IF O$="m" THEN GP=GP-1500 : WV=2 : GOTO 6060 5990 IF O$ <> "s" OR GP >= 2000 GOTO 6030 6000 PRINT "** Your Mediaeval Express card - "; 6010 PRINT "you left home without it!" 6020 GOTO 5840 6030 IF O$="s" THEN GP=GP-2000 : WV=3 : GOTO 6060 6040 PRINT "** Try choosing a selection!" 6050 GOTO 5900 6060 IF GP < 1000 GOTO 2010 6070 Z$="strength" 6080 GOSUB 9180 6090 IF O$ <> "y" GOTO 6150 6100 GP=GP-1000 6110 ST=FNC(ST+FNA(6)) 6120 Q=ST 6130 GOSUB 9210 6140 GOTO 6060 6150 IF O$ <> "n" THEN PRINT Y$ : GOTO 6070 6160 IF GP < 1000 GOTO 2010 6170 Z$="intelligence" 6180 GOSUB 9180 6190 IF O$ <> "y" GOTO 6250 6200 GP=GP-1000 6210 IQ=FNC(IQ+FNA(6)) 6220 Q=IQ 6230 GOSUB 9210 6240 GOTO 6160 6250 IF O$ <> "n" THEN PRINT Y$ : GOTO 6170 6260 IF GP < 1000 GOTO 2010 6270 Z$="dexterity" 6280 GOSUB 9180 6290 IF O$ <> "y" GOTO 6350 6300 GP=GP-1000 6310 DX=FNC(DX+FNA(6)) 6320 Q=DX 6330 GOSUB 9210 6340 GOTO 6260 6350 IF O$ <> "n" THEN PRINT Y$ : GOTO 6270 6360 IF (GP<1000) OR (LF=1) GOTO 2010 6370 PRINT 6380 PRINT "Do you wish to buy a Lamp for 1000 GP's"; 6390 GOSUB 8960 6400 IF O$ <> "y" GOTO 6460 6410 GP=GP-1000 6420 LF=1 6430 PRINT 6440 PRINT "It's guaranteed to outlive you!" 6450 GOTO 2010 6460 IF O$ <> "n" THEN PRINT Y$ : GOTO 6370 6470 GOTO 2010 6480 Q1=1+INT(A/2) : Q2=A+2 : Q3=1 6490 IF (C(1,4)>T(1)) OR (BL=1) OR (DX 14 THEN PRINT "You may also cast a spell." 6560 PRINT 6570 PRINT "Your strength is";ST;"and your dexterity is";DX;"." 6580 GOSUB 8940 6590 IF O$ <> "a" GOTO 7000 6600 IF WV <> 0 GOTO 6640 6610 PRINT 6620 PRINT "** Raining blows upon ";C$(A+12);" will not hurt it!" 6630 GOTO 7510 6640 IF BF <> 1 GOTO 6680 6650 PRINT 6660 PRINT "** You cannot beat it to death with a Book!" 6670 GOTO 7510 6680 IF DX >= FNA(20)+(3*BL) GOTO 6720 6690 PRINT 6700 PRINT "You missed; how unfortunate!" 6710 GOTO 7510 6720 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2) 6730 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2) 6740 PRINT 6750 PRINT "You hit the evil ";Z$;"!" 6760 Q2=Q2-WV 6770 IF (A <> 9 AND A <> 12) GOTO 6820 6780 IF FNA(8) <> 1 GOTO 6820 6790 PRINT 6800 PRINT "Oh no! Your ";W$(WV+1);" broke!" 6810 WV=0 6820 IF Q2 > 0 GOTO 7510 6830 PRINT 6840 MC=MC-1 6850 PRINT C$(A+12);" lies dead at your feet!" 6860 IF H > T-60 GOTO 6900 6870 PRINT 6880 PRINT "You spend an hour eating ";C$(A+12);E$(FNA(8));"." 6890 H=T 6900 IF X <> R(1) OR Y <> R(2) OR Z <> R(3) THEN ON (1-(A=13)) GOTO 6950,8740 6910 PRINT 6920 PRINT "Great Zot! You've found the Runestaff!";CHR$(7) 6930 R(1)=0 6940 RF=1 6950 Q=FNA(1000) 6960 PRINT 6970 PRINT "You now acquire his hoard of";Q;"GP's!" 6980 GP=GP+Q 6990 GOTO 4320 7000 IF O$="r" GOTO 7510 7010 IF O$ <> "c" GOTO 7300 7020 IF IQ >= 15 OR Q3 <= 1 GOTO 7060 7030 PRINT 7040 PRINT "** You cannot cast a spell now!" 7050 GOTO 6500 7060 PRINT 7070 PRINT "Which spell (web, fireball, deathspell)"; 7080 GOSUB 8960 7090 PRINT 7100 IF O$ <> "w" GOTO 7140 7110 ST=ST-1 7120 WC=FNA(8)+1 7130 ON (1-(ST<1)) GOTO 7510,7930 7140 IF O$ <> "f" GOTO 7230 7150 Q=FNA(7)+FNA(7) 7160 ST=ST-1 7170 IQ=IQ-1 7180 IF (IQ < 1) OR (ST < 1) GOTO 7930 7190 PRINT "It does";Q;"points worth of damage." 7200 PRINT 7210 Q2=Q2-Q 7220 GOTO 6820 7230 IF O$="d" GOTO 7270 7240 PRINT 7250 PRINT "** Try one of the options given." 7260 GOTO 6500 7270 PRINT "Death . . . "; 7280 IF IQ < FNA(4)+15 THEN PRINT "yours!" : IQ=0 : GOTO 7930 7290 PRINT "his!" : Q2=0 : GOTO 6830 7300 IF O$="b" AND Q3 <= 1 GOTO 7340 7310 PRINT 7320 PRINT "** Choose one of the options listed." 7330 GOTO 6500 7340 IF TC <> 0 GOTO 7380 7350 PRINT 7360 PRINT "All I want is your life!" 7370 GOTO 7510 7380 Q=FNA(8) 7390 IF T(Q)=0 GOTO 7380 7400 PRINT 7410 PRINT "I want ";C$(Q+25);". Will you give it to me"; 7420 GOSUB 8960 7430 IF O$="n" GOTO 7510 7440 IF O$ <> "y" THEN PRINT Y$ : GOTO 7400 7450 T(Q)=0 7460 TC=TC-1 7470 PRINT 7480 PRINT "Very well; but don't tell anyone else." 7490 VF=VF+(L(FND(Z))=25) 7500 GOTO 2010 7510 Q3=2 7520 IF WC <= 0 GOTO 7550 7530 WC=WC-1 7540 IF WC=0 THEN PRINT : PRINT "The web has broken!" 7550 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2) 7560 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2) 7570 IF WC <= 0 GOTO 7610 7580 PRINT 7590 PRINT "The ";Z$;" is stuck and can't attack now!" 7600 GOTO 7720 7610 PRINT 7620 PRINT "The ";Z$;" attacks!" 7630 IF DX < FNA(7)+FNA(7)+FNA(7)+3*BL GOTO 7670 7640 PRINT 7650 PRINT "What good fortune - he missed you!" 7660 GOTO 7720 7670 PRINT 7680 PRINT "Ouch! He hit you!" 7690 Q=Q1 7700 GOSUB 7830 7710 IF ST < 1 GOTO 7930 7720 IF O$ <> "r" GOTO 6500 7730 PRINT 7740 PRINT "You have escaped!" 7750 PRINT 7760 PRINT "Do you wish to go north, south, east, or west"; 7770 GOSUB 8960 7780 IF O$="n" OR O$="s" OR O$="e" OR O$="w" GOTO 2990 7790 PRINT 7800 PRINT "** Don't tempt fate, ";R$(RC);"!" 7810 PRINT 7820 GOTO 7760 7830 IF AV=0 GOTO 7910 7840 Q=Q-AV 7850 AH=AH-AV 7860 IF Q < 0 THEN AH=AH-Q : Q=0 7870 IF AH >= 0 GOTO 7910 7880 AH=0 : AV=0 7890 PRINT 7900 PRINT "Your armor has been destroyed . . . good luck!" 7910 ST=ST-Q 7920 RETURN 7930 PRINT CHR$(7) 7940 GOSUB 8880 7950 PRINT "A noble effort, O formerly living ";R$(RC);"!" 7960 PRINT 7970 PRINT "You died due to lack of "; 7980 IF ST < 1 THEN PRINT "strength." 7990 IF IQ < 1 THEN PRINT "intelligence." 8000 IF DX < 1 THEN PRINT "dexterity." 8010 PRINT 8020 Q3=1 8030 PRINT "At the time you died, you possessed :" 8040 GOTO 8220 8050 Q3=0 8060 PRINT 8070 PRINT "You left the castle with"; 8080 IF OF=0 THEN PRINT "out"; 8090 PRINT " The Orb of Zot." 8100 PRINT 8110 IF OF=0 GOTO 8170 8120 PRINT 8130 PRINT "An incredibly glorious victory!!" 8140 PRINT 8150 PRINT "In addition, you left the Castle with the following :" 8160 GOTO 8210 8170 PRINT 8180 PRINT "A less than awe-inspiring defeat." 8190 PRINT 8200 PRINT "When you left the castle, you had :" 8210 IF Q3=0 THEN PRINT "Your miserable life!" 8220 FOR Q=1 TO 8 8230 IF T(Q)=1 THEN PRINT C$(Q+25) 8240 NEXT Q 8250 PRINT W$(WV+1);" and ";W$(AV+5); 8260 IF LF=1 THEN PRINT " and a Lamp"; 8270 PRINT 8280 PRINT "You also had";FL;"flares and";GP;"Gold Pieces" 8290 IF RF=1 THEN PRINT "and the Runestaff" 8300 PRINT 8310 PRINT "And it took you";T;"turns!" 8320 PRINT 8330 PRINT "Are you foolish enough to want to play again"; 8340 GOSUB 8960  8350 PRINT 8360 IF O$ <> "y" GOTO 8440 8370 PRINT "Some ";R$(RC);"s never learn!" 8380 PRINT 8390 AGAIN=1 8400 GOTO 100 8440 IF O$ <> "n" THEN PRINT Y$ : GOTO 8330 8450 PRINT "Perhaps this ";R$(RC);" is not as foolish as one supposes!" 8460 PRINT 8470 GOTO 9290 8480 PRINT 8490 PRINT "Great Zot!" 8500 PRINT 8510 PRINT "You have found ***The Orb of Zot***!" 8520 PRINT 8530 PRINT "The Runestaff has disappeared!" 8540 RF=0 8550 OF=1 8560 O(1)=0 8570 GOTO 4320 8580 DATA an Empty Room,.,the Entrance,e,stairs going Up,u 8590 DATA stairs going Down,d,a Pool,p,a Chest,c,Gold Pieces,g 8600 DATA Flares,f,a Warp,w,a Sinkhole,s,a crystal Orb,o 8610 DATA a Book,b,a Kobold,m,an Orc,m,a Wolf,m,a Goblin,m,an Ogre,m 8620 DATA a Troll,m,a Bear,m,a Minotaur,m,a Gargoyle,m,a Chimera,m 8630 DATA a Balrog,m,a Dragon,m,a Vendor,v,the Ruby Red,t 8640 DATA the Norn Stone,t,the Pale Pearl,t,the Opal Eye,t 8650 DATA the Green Gem,t,the Blue Flame,t,the Palantir,t,the Silmaril,t 8660 DATA x,"?",no weapon," sandwich" 8670 DATA Dagger," stew",Mace," soup",Sword," pastie",no Armor," roast" 8680 DATA Leather," filet",Chainmail," in curry sauce",Plate," pie" 8690 DATA Hobbit,Elf,Man,Dwarf 8700 X=FNA(8) : Y=FNA(8) 8710 IF L(FND(Z)) <> 101 GOTO 8700 8720 L(FND(Z))=Q 8730 RETURN 8740 PRINT 8750 PRINT "You get all his wares :" 8760 PRINT "Plate Armor" 8770 AV=3 : AH=21 8780 PRINT "a Sword" 8790 WV=3 8800 PRINT "a Strength Potion" 8810 ST=FNC(ST+FNA(6)) 8820 PRINT "an Intelligence Potion" 8830 IQ=FNC(IQ+FNA(6)) 8840 PRINT "a Dexterity Potion" 8850 DX=FNC(DX+FNA(6)) 8860 IF LF=0 THEN PRINT "a Lamp" : LF=1 8870 GOTO 6950 8880 FOR Q=1 TO 64 8890 PRINT "*"; 8900 NEXT Q 8910 PRINT 8920 PRINT 8930 RETURN 8940 PRINT 8950 PRINT "Your choice"; 8960 INPUT O$ 8970 O$=LEFT$(O$,1) 8980 RETURN 8990 PRINT "How many points do you wish to add to your ";Z$; 9000 INPUT O$ 9010 PRINT 9020 Q=VAL(O$) 9030 IF Q=0 AND ASC(O$) <> 48 THEN Q=-1 9040 IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 8990 9050 OT=OT-Q 9060 RETURN 9070 INPUT O$ 9080 Q=INT(VAL(O$)) 9090 RETURN 9100 PRINT 9110 PRINT Z$; 9120 INPUT O$ 9130 Q=INT(VAL(O$)) 9140 IF Q > 0 AND Q < 9 THEN RETURN 9150 PRINT 9160 PRINT "** Try a number from 1 to 8." 9170 GOTO 9100 9180 PRINT 9190 PRINT "Do you wish to buy a potion of ";Z$;" for 1000 GP's"; 9200 GOTO 8960 9210 PRINT 9220 PRINT "Your ";Z$;" is now";Q;"." 9230 RETURN 9240 PRINT 9250 PRINT "These are the types of ";Z$;" you can buy :" 9260 RETURN 9270 PRINT "You are at (";X;",";Y;") level";Z;"." 9280 RETURN 9290 END 10000 PRINT CHR$(26): RETURN  FOR Q=1 TO 64 8890 PRINT "*"; 8900 NEXT Q 8910 PRINT 8920 PRINT 8930 RETURN 8940 PRINT 8950 PRINT "Your choice"; 8960 INPUT O$ 8970 O$=LEFT$(O$,1) 8980 RETURN 8990 PRINT "How many points do you wish to add to your ";Z$; 9000 INPUT O$ 9010 PRINT 9020 Q=VAL(O$) 9030 IF Q=0 AND ASC(O$) <> 48 THEN Q=-1 9040 IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 8990 +"6# x+:`i* ">"/##~>;+> 6*s#r w+͊1>2 u+#w+>36*s#rw+6*xDM"+ڍ+s#r#À+! æ+>2:*ã+6*x+Á*~#ʽ+#~+ҽ+~+x 6*s#rw+ɯ2,x_O:*+2,x_O6*9w#w+x,+r+s=,w>#w+Á*~7^#VE,E,!~ѧ7x1P*x1~7!~#fo~ʁ,7,#~+~w}D#wx#1]*KÄ,!9*?>":u,2g>2u:u, PJ-,O:u,-!l{Ps",͖Q!-gQH-*fx-͸QP'-͌Q!l>P͍PH-@]T}_|H-)>-x1P*I&>4ͺ-K3y=d-e#x2#~+Œ-x-xGe#>.xʛ-e#>.xG ʩ->.x#~+>.>X6*s#r+}*W!-K^#V#~.    !> .!> .! > .!> .!> .O*yK !.KF͊1q-x2.H.u+w.#N+͊1q-ڱ.xn.#~+j..n.y. u+w!~#fo#~#w:.ʏ.6~+ž.~ ž.6 «.~«.63ó.ɀ @ PPPPPP  #..~.+u+w#w+e#*#~6+/]*6#s#r>6###s#r#6@"=#w:uGf?/b!/####~#B/F#N#~#fo~#fox/ LU/##~>O͖,6#p#6 ####yKͶ,+w~39;5!/K~2>"@&0:/3-3>".͊1P*/ 00`i)9^#V!~`-y0#~#fo##A:x03x>". U0^#V#ͩ+3> ".10#~͸/o&"f>2u./ͩ+3> "."0xGO>$6*H"0s#r# ‹0H +V+^ͩ+s#r#  0͸/w*0![Z%8\%>e!sZ͟dL` Tk\f Z͐g h Z;^g Z !ZHl! hͅ` hZW:Ho&Ͳh͐g!hͅ`^gZÜ!ZͿ`Ͳg*|Ͳh͜f!~Cf`fZi*~|go*~|go}o|g)))*~ *|)go*ogh*|)?go͸h}o|g)*))))))*)))*H*|9)?go͸hd*!RZTk!"*#"!ZͿ`i"j!Ï*͸hpjpj*#"*|ڟ)s!ú*)0es#r*#"*|)ڨ!*͸hpjpj*#"*|)! *͸hpj*#"*|+ ) *|; )Ҫ %>͸;e!&Z͟de!Z͟d͸;e!Y͟de!Y͟de!Y͟de!ZY͟de!#Y͟de!X͟de!X͟de!X͟de!Z͟d!"!"!" )0s#r! ! !h"ͼ:*#" )0gs#r*#"*| ) *#"*| ) !Ò !q5 ͼ:*#"*|E ). !{ !i[ ͼ:*#"*|k )T !}"ͼ:*#"*|ڋ )N *#"*|ڢ )( !~þ !"|y"ͼ:*#"*z| )ګ !e"!1 !"|y"ͼ:*):*s#r*)B*s#r*)J*s#r*)Rs#r*#"*|A ) !"!"!"!XTk! "|yp"!"|y"ͼ:*"v*"x*"z!m"!"|y"ͼ:*"n*"p*"r!"!"!""!"!""!"^gZ"""!"!"! *)Zs#r*#"*|% ) e!k{de!{X͟de!EX͟d;!Ø *͸h!͚k͵l} o|gk!Cl *")*"*}o|g"*#"*|ڨ )O e!Z͟d*|go))*"*| !=XTk e! X͟d= e!W{d<!WCl !"< !WHl< e!W{d*͸h{d!W͟d e!Z͟de!W{d*͸h{d!zW͟de!mW{d*rd![W{d*rd!LW{d*͖de!FW{d*rd!W͟de!Z͟d!WTk%<**"*| !WTk%<**"*| !VTk%<**"e!V{d*͸h{d!V͟d!VTk=!""""e!V͟de!eV͟d;!aVHl!]V$l͸h!YV$l)}o|g!UV$l}o|g"*|ژe!Z͟de!EV{d*͸h{d!>V{d! "|y͸h={d!:V͟d*͸h"*͸h Ͳh̀f͐ge!Z͟de!-V{d*͸h{d! V{d!`d!V͟d! VTk=e!U͟de!U͟d;!aVHl!U$l͸h!W$l)}o|g!U$l}o|g"*|ڞ¿e!Z͟de!U{d*rd!:V͟d0*͸h Ͳh̀f͐ggZ;e!Z͟de!gU{d<!cUCl!"\fZ͐g;!aVHl;e!Z͟de!͟de!Z͟de!Z͟dhZV!" e!ZU{d*͸h{d! V{d!`d!FU͟de!Z͟d!Ubqa!ͭb!li"e!Z͟d*|ڻ?go!͵l|go|g}o|e!T͟de!Z͟dÉ*Ͳh(h e!T{d!`d!T͟de!Z͟dÉ**"*Ͳh̀f͐g!"!"!"e!V{d*͸h{d!T͟dþ"*#"**|چ*T*\z|}|Ң*#"*V*`z|}|!"|yͲh̀f͐gUh^gZ*X*dz|}|*"*"*"!"|y"!"|y"!"|y"*" )0^#V",d*" )0s#r*"*"*"*" )0^#V|!*):^#V*}o|goog"B^#V*}o|go*h"J^#V*}o|go*h"R*s#r*#"*|)ډ!"|y|*)e!Z͟de!T{d!"|y*"*|])f!"*^p~e!T͟de!T{d!"|yZpe!uT͟de!hT͟de!\T͟de!QT͟de!FT͟de!2T͟de!)T{d! "|y͸h={d!T͟de!S͟de!S͟d**b|Je!Z͟de!p{d!S͟d!"**f|ye!Z͟de!v{d!S͟d!"e!Z͟d!Sb!c!͚k!SHl!͚kTk!aVHl!U$l!}S$l|g}o!yS$l|g}o|!uSHl7!UHli !WHl!WCl#*#Zp!UVCl:*#Zp&!qSHl!mSCl\*#Zp!iSCl|e!Z͟d*#Zp";"!eSHl}"!aSCl%>e!'S͟de!Z͟de!R͟de!Z͟de!R͟de!R͟de!aR͟de!Z͟de!$R͟de!Z͟de!Q͟de!Q͟de!Q͟de!JQ͟de!Q͟de!Z͟de!P͟de!Z͟de!P͟de!\P͟de!"P͟de!O͟de!Z͟de!O{d*͸h{d!T{d!Zb!cne!Z͟de!O{d*͸h{d!O͟dn*" )0^#V|5!U$l*}o|g!aV$l"!yS$l*}o|g!}S$l"*"~͟"*"~͟"þ"*" )0^#V|]*+"þ"!OTkØ!OTk*" )0^#V|˜*#"þ"e!Z͟de!eO{d!{d!WO͟dn*|e!Z͟de!0O{d*͸h{d!,O͟dne!Z͟d*"*"!!ù*" )0^#V"*|2)E*"!""**}o|go**}o|go|g}o|ʗe!(O{d*͸h{d!"O{dõe!O{d*͸h{d!O{d*#"*|)e!Z͟de!Z͟d*#"*|) *"*" e!O{d*͖dn*|*e!N͟dne!Z͟d*+"*"*"*#"*+*"~͟"*#"*+*"~͟"*" )0^#V","*" )0*s#re!O{d*͸h{d!O{d*#"**z|}|ne!Z͟de!Z͟d*#"**z|}|T*"*"=n*|Xe!Z͟de!N{d*͸h{d!,O͟dne!Z͟de!N{d<*"*"!U$l*}o|g!aV$l"~͟"!yS$l*}o|g!}S$l"~͟"**}o|g*}o|g*|e!Z͟de!}N{d*͸h{d!,O͟dne!Z͟de!hN{d*rd!dN{d*rd!O{d*rd!T͟de!Z͟d*" )0^#V",*" )0s#re!MN{d*" )0^#V͸h{d!T͟d*"*"n*" )0^#V|e!Z͟de!%N͟dn!"|y"e!Z͟de!N{d*|)$e!M{d*Zp;^&g!"|y*""e!M͟dn!"|y*}o|g"e!M͟d*|ڊ)go!}o|gZpn5!"|y*""e!M͟dn!"|y*}o|g"e!M͟d*|)go!}o|gZpn5!"|y*""e!M͟dn!"|y*}o|g"e!M͟d*|R)go!}o|gZpn5!"|y"**}o|g*"e!M{d*͸h{d!T͟dn*!}o|g"e!M{d*|e!M{de!M{d*͸h{d!,O͟dn*" )0^#V|&e!Z͟de!wM͟d2*" )0^#V|We!Z͟de!_M͟dle!Z͟de!4M͟dn!"|yZpe! M{d*͸h{d!,O͟d!"e!L͟de!L{d!"|y͸h{d!L͟de!L͟d!"e!L͟d!"e!_L͟de!5L͟d!"*" )0s#rn!"|yZpGe!L͟d!"|y"ͣ4*|l)go!}o|gZp5!"|y"e!L{d*rd!L͟d*Ͳh`f͐ge!K͟d*" )0s#r*"!"|yK!kTk*" )0^#V|) e!Z͟de!K͟dne!Z͟de!K{d!"|yZpT !"e!K͟d!"|y*}o|g"*|ڀ )go!}o|gZpn5e!RK{d! "|y͸h={d!,O͟dne! "|y͸h={d!;K͟dn*"*"*"!"|y"!"|y"!"|y"*" )0^#V","*" )0*s#re*͸h{d!3K{d*rd!dN{d*rd!O{d*rd!T͟d*"*"*"n!"|y"!"|y"!"|y"!"|y|!)!*n"*p"*r"e!K{d*rd!dN{d*rd!O{d*rd!,O͟dne!J͟dn*|;"e!Z͟de!J͟dn!JTk=*"!JTk=*"!JTk=*"!iSTkþ"e!Z͟de!gJ{de!Z͟de!?͟de!Z͟de!?͟de!Z͟de!?͟d!"!"!"nY8^8 an Empty Room,.,the Entrance,e,stairs going Up,uÔ88 stairs going Down,d,a Pool,p,a Chest,c,Gold Pieces,g88 Flares,f,a Warp,w,a Sinkhole,s,a crystal Orb,o 99 a Book,b,a Kobold,m,an Orc,m,a Wolf,m,a Goblin,m,an Ogre,mI9N9 a Troll,m,a Bear,m,a Minotaur,m,a Gargoyle,m,a Chimera,m99 a Balrog,m,a Dragon,m,a Vendor,v,the Ruby Red,tö99 the Norn Stone,t,the Pale Pearl,t,the Opal Eye,t9: the Green Gem,t,the Blue Flame,t,the Palantir,t,the Silmaril,t:": x,"?",no Weapon," sandwich"a:f: Dagger," stew",Mace," soup",Sword," pastie",no Armor," roast"á:: Leather," filet",Chainmail," in curry sauce",Plate," pie"ü:Z Hobbit,Elf,Man,Dwarf!"|y"!"|y"*" )0^#V|¼:*" )0*s#re!Z͟de!?͟de!y?͟d!"!"e!o?͟d!"e![?͟d!"|y*""e!B?͟d!"|y*""e!-?͟d!"|y*""*|µ;e!$?͟d!"ó/!;e! ?{d*#"*|;)ھ;e!Z͟de!Z͟de!Z͟de!?{d!Zbqa!ͭb!͚kTke!>{d!{d!Zbqa!ͭbe!Z͟d!li"*|go!͵l|go|g}o|ʉ{d%<**}o|g"!Zbqa!ͭb! l!~Mfi"e!Z͟de!{d!Zbqa!ͭb!l!~Mfi"*|R=?go*|d=)go|g}o|t=e!Z͟de!>͟d=e!Z͟de!>{d!{d!>{d{d!{d!z>{d*rd!T͟de!Z͟de!`>{d!{d!O>͟de!@>{d*rd!dN{d*rd!O{d*rd!T͟d͡\e!2>͟d͡\ 5>  C>You are at (R> you can buy :c>These are the types of }> is now>Your > for 1000 GP's>Do you wish to buy a potion of >** Try a number from 1 to 8.>** +>How many points do you wish to add to your ?Your choice#?*'?a Lamp0?a Dexterity PotionE?an Intelligence Potion^?a Strength Potionr?a Sword |?Plate Armor?You get all his wares :?The Runestaff has disappeared!$?You have found ***The Orb of Zot***! ?Great Zot!#? is not as foolish as one supposes! @Perhaps this /@s never learn!@@Some ,H@Are you foolish enough to want to play againw@turns!@And it took you@and the Runestaff @Gold Pieces @flares and @You also had @ and a Lamp@ and @Your miserable life!#@When you left the castle, you had :!#AA less than awe-inspiring defeat.5GAIn addition, you left the Castle with the following : AAn incredibly glorious victory!!A The Orb of Zot.AoutAYou left the castle with%AAt the time you died, you possessed : Adexterity. Bintelligence. Bstrength.'BYou died due to lack of "BBA noble effort, O formerly living .gBYour armor has been destroyed . . . good luck!B** Don't tempt fate, -BDo you wish to go north, south, east, or westBYou have escaped!BOuch! He hit you!"CWhat good fortune - he missed you! -C attacks!9C is stuck and can't attack now![CThe bCThe web has broken!&xCVery well; but don't tell anyone else.C. Will you give it to meCI want CAll I want is your life!$C** Choose one of the options listed.Db Dhis!Dyours! DDeath . . . +D** Try one of the options given.NDpoints worth of damage.hDIt does'rDWhich spell (web, fireball, deathspell)D** You cannot cast a spell now!DrDGP's!DYou now acquire his hoard of&DGreat Zot! You've found the Runestaff!EYou spend an hour eating .E lies dead at your feet!IE broke! SEOh no! Your bEYou hit the evil vEYou missed; how unfortunate!+E** You cannot beat it to death with a Book!E will not hurt it!E** Raining blows upon Eand your dexterity is FYour strength isFYou may also cast a spell.9FYou may also attempt a bribe.YFYou may attack or retreat.vFYou're facing FIt's guaranteed to outlive you!'FDo you wish to buy a Lamp for 1000 GP's Fdexterity FintelligenceFstrengthF** Try choosing a selection!Gyou left home without it!!4G** Your Mediaeval Express card - .XG** Sorry, Sir, I'm afraid I don't give credit!Gword (2000 GP's)Gace (1500 GP's) (Gothing (free) agger (1250 GP's) Gweapon G in hand.GGP's left with HYou have(H** Don't be foolish. Choose a selection. >H** You can't afford plate armor!*aH** You do not have that much cash on hand!H

late (2000 GP's)Hhainmail (1500 GP's) )Hothing (free) eather (1250 GP's) HarmorH armor. HGP's and  IYou're too poor to trade, 'IGP's.I for5IDo you wish to sell LI** Nice shot, (]IYou may well be sorry that you did that!IaIi1IYou may trade with, attack, or ignore the Vendor.IIt's now yours!IHere you find IYou now have I and a Lamp J Armor = JWeapon = J Gold Pieces = /J Flares = ;JTreasures =IJ** Then don't say that you do!jJDo you really want to quit now JZ-coordinate JY-coordinate JX-coordinate,J** You can't teleport without the Runestaff!0J`The Oracle You Have Reached Is Not In Service'!K***The Orb of Zot*** at (6K at (>K gazing back at you!+UKyourself drinking from a pool and becoming Kyourself lying in a bloody heap!KYou see $K** It's hard to gaze without an Orb!Knsew!KGas!! You stagger from the room! LGold Pieces!LfindLK A B O O M ! It explodes!!'8LNow you are unable to draw your weapon!bLThe Book sticks to your hands!LIt's a Manual of Strength!LIt's a Manual of Dexterity! L's Digest!LIt's an old copy of 'LIt's a volume of Zot's esoteric poetry!( MF L A S H ! Oh no! You are now a blind (7M** The only thing opened was your mouth!bMYou open the Book andzMYou open the chest andMmale Mfe Mturn into a Mbecome a Mclumsier.Mnimbler. Mless wise.Mwiser.Mweaker. Mstronger.Mfeel NAs the drink takes effect, you %(N** If you wish to drink, find a pool!PNThere you will find gN,kNThe Lamp reveals (N** That is not a direction, -NWhere do you wish the Lamp to shine (n,s,e,w)N** You have no Lamp, 'N** O forgetful one, you have no flares!O) levelO !O %O> +O</O!$3O** You can see nothing, you foolish ZO from here!hO** There are no stairs going OdownOupO, that wasn't a valid command! O** Foolish %OPress when ready to resume, 7OPalantir - no benefit Silmaril - no benefit7%PBlue Flame - dissolves Books Norn Stone - no benefit<_PGreen Gem - avoid forgetting Opal Eye - cures blindness8PRuby Red - avoid lethargy Pale Pearl - avoid leech.P The benefits of having treasure s are :@ Qu = stairs Up v = Vendor w = Warp (or Orb of Zot)4MQp = magic Pool s = Sinkhole t = Treasure7Qg = Gold Pieces m = Monster o = crystal Orb2Qd = stairs Down e = Entrance/Exit f = Flares1Q. = Empty Room b = Book c = Chest:'RThe contents of rooms are displayed on aps as follows :dRaze uit eleport8Rown ink ap lare amp pen6Relp orth outh ast est p.R The following commands are available :7*S*** Wizard's Castle command and information summary ***dShhSqlStpSgtSoxSu|SeSwSdr$SEnter your command ( for help) : S dissolves the Book!S cures your blindness!Shear faint rustling noises! Sfeel that you are being watched!!T frying!,Tsmell 5Tsee a bat fly by!ITsneezed!TTthunder! _Ta wumpus! kTfootsteps! xTa scream!Thear Tstepped on a frog!TYou T, you are entering the Castle!T.T** You can afford only/T** If you don't wish to buy any, type 0 (zero)..UFlares cost 1 GP each. How many would you likeIUGold Pieces left.]UWell, fUy%jUDo you wish to buy a Lamp for 20 GP'sU** Is your IQ reallyUdUs)Uagger (10 GP's) othing (free),Uword (30 GP's) ace (20 GP's) VWeapons VGP's left. #V, you have 0VNow, bold =V?AV or HV** Are you a XVl\Vc`VpdVn+hVeather (10 GP's) othing (free).V

late (30 GP's) hainmail (20 GP's)VArmor!V, you have 60 Gold Pieces (GP's).VNow, VDexterity WIntelligenceWStrength%!Wother points to allocate as you wish.IWand OW Dexterity =^W Intelligence = pWStrength =*}W, that you have the following attributes : WBe aware, W, I suggest you try m or f. W** Well, WfWm WWhich sex would you prefer to be1 X** That was incorrect. Please type e, d, m, or h.@XHuman3HXyou may be an lf, warf, huan, or obbit.~XAll right, bold one.XMan Xemerged victoriously! BEWARE!!!3Xinto the Wizard's Castle. As of now, none has ever/Xsince that time, many a bold youth has ventured4&Ylous Treasures, and the incredible Orb of Zot. Ever2]Yranean Castle filled with esurient Monsters, fabu-1YHe soon vanished, leaving behind his vast subter-0Ygnomic wizard Zot forged his great Orb of Power.-YMany cycles ago, in the Kingdom of n'Dic, the))Z * * * The Wizard's Castle * * *UZ** Please answer es or ovZPress any key to startZz;@y`;@z p[[[[ Wizard's Castle game - from FOG disk library ]][5*|DM*"m*6^##"m\>2[2[*^#V"[##^#V"[ 2[!g[!!""[!["[6#6P>2[>2[>2[[ì[[ì[ã[_ 6 6!Z66!DA6N66!Z%6+6! A1646!Z:6=6!@C6*|_6F6!@L6hh!9"[%^ !͆\%^)\!͆\\![͆\!R"[!O"[%^|Z\> \6#s#r#=O\>2[>2[>2[2[!["[!$\"[>&2[5[p6#}ƒ\|ƒ\͵p STO͑]á\^*[.. . ........o*[|¨\:[]*[|]]%^  s#r%^  {t^w#6"[*[*[>2[u^Û\!9N#F%^~#~N]~+T]~#~N]+^#V###,]###,]|`]~#fo!h]͵p Internal Error - No Line Number ð[%^~#]͵p at line]Ͱ]^>]<]]³]]<]0;}]]}_|W!]}~#fo>͵p at address|p}p^> ;}> ;}~#*4^}~#foڇ!9"[!<^*[B^"[!c^*[^!^~<ʏ^=ʏ^#~#^{^#ûpSyntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File Already Exist=Disk Ful>Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Errob8^ͅ[!K`>b`͏[w>n!P^!`bqa!h`ͭb*h`È`P^"[ͼ}daѯz}%`Random Number Seed (-32768 to 32767) P^B![-a![B![Ȇw!5aO ͺ:[<2[!QaO ͹!~^#V#N#F#{YOO6+F6![4~֫#aw K![Ç}w+w+w`5Jʙ9v" GSљ e͘w>hFhiuhP^!p^`#"*N#"oa!9"ja"lay2na*[|ʓa*[!}b"[A~#*:d}:[³a~}b8ba8sa?s":daacq*~*~*~*~bͱr*~bLq*~*~*:d}+b~#":d,ʛa }b:[}bÛa~}b!"[~,"Cb#"~WbWb# Fb}b"]b#":dx"rb rb+~ gbynb͵pIncorrect Format *jao!bb*oa:naOÚa*la+~+bbb +w bb++~#foWk"la!na5*ja?~2b#~#^#Vͧp++nX{ڒ\::c8^*[|6c!:cnnWk*[!=!͙=!>͟=<͓=!Z͐=ͫ=!>ͥ=!ͺ=!z>=*57!Tͱ=ʹ=!Z==!`>=!=!O>==!@>=*=!dN=*>!O>* >!T==!2>>#> 5>CLEARSCREEN C>You are at (R> you can buy :c>These are the types of }> is now>Your > for 1000 GP8^ͨdÌe8^ͳdÌe8^;dÌe8^~dÌe8^ͨdîe8^ͳdîe8^;dîe8^eîe8^ͨd\e8^ͳd\e8^;d\e8^e\e~d~d"~dH~# dx2q:[ƒeSee un<ͺe~dͧ|#dͩe u~d ħ|#e>2q:[ƒeF#~#foxSe̺eJeAe~#ͧ|5eJenSe>"ç|G:[xSeO}*[+~<e=e###~e*[O}!d*[*[~=ғe/<ͺeͩe=ße> ç|Se>,ͧ|W*[#^ ee+=e:[=eO}z{e{_e!["[!"[2[f![~6#w~!.fpN%fI^i&\ S^B2S^Eares ffffffffffffffffffffffffffff g'g^#V#3g"Xf*Xf gf g^#gg g^#V#-gf"Zf~2Wf"Xf8^*Zf*Xf:Wfp}:Wfï}:WfEgRg.Rgsc{]}~#fo^#V#^#V#͒}^#V#͒}͇}^#V#͇}ng^#gz}^#g͇}íg&)))%^>!>!>!>!>!>^#V#^#V#oh>h>h>h>h>h>^#V#^#V#Îh>9h>9h>9h>9h>9h>^#V#!~Îh>ah>ah>ah>ah>ah>^#V#!k^Îhzh GiʊhÙh Giʭh~#foïh##S^Ú^#V#h2[8^8^h8^ͯ} iz}|þ\8^i8^ ih7i:[mi!l^sDi:[pi!p^͹:~2~:~Ҍi͖i:~difi|/g}/o:~ږi!~iiŒi!I^û\:~goW*~|7gҲi:~²i+>i|/g}/oi!iG|iio& Gȯ|g}oii>j~+~?~j+#j+ j8^kLq~>gj8^k8s-kcq~>gj8^kͱr~>}8^k~,"„j#"~ʛjʛj# ‡jI^þ\"¡j#-kx"ʼjy}+~ »j °jynWk%^^#V#{j!["["[>2[jN#F#*[~= k}| k?kjk?s-k:[j*[}~=I^\}~,;k#"[ɧNk*["[+V+^"[I^\8^ͬnԑk~##++zo>}+V+^+ʄk+r+so8^Wk~n8^|¾\BKkPY8^|¾\BK k o_èk8^z¾\zk k_ko}`innDM8^|¾\!9>n>&l>&l>&l>&l>&l>]l!+>Jl>Jl>Jl>Jl>Jl>]lYl~#fo##GNʉlyʉl#~#fo~#fo’l#ʈl xl yʒly<.ڜl)ʜl)nn~no&~ʾ\#^#V++no&8^~<ʾ\jn~#~#fo}6+[z8scqnn, Sir, m m mrmdm mnm mv!mc$md'm!*mG-m>0mr3m(0_!m4Fm5*m"m~#N#F#چm`m }Imyxkm Im+++6@#yw#xw+++6###!m~6ڗmͬmFmm*m#~#~FmI^õ\!*m"m~#^#V#mm}ùm|mùm++~_w#~Ww#ùmͬm*mDM~#^#V#Pnnm+z-o+{-o##{z~#q#p_myEnxEnDMm~#EnmYP+++"m6@###{_zW+r+sɷʟn*m|}nI^ø\6m^#V+"mw#s#r+++r+s##!nn*Up{z*Wp?n}|~# nyGjnx}Gjnx#N#F& nͬnzoo*Up*Wp})oo#ozoo### oOo͵p during G.C. ð[Oo͵p ð[͵p Internal Error - String Space Corrup#N#F*myxڿo*myxҿo++`i+V+^}Do##6+6+~6  >@++*m"ms#r+m*m#~_#~WoI^\r+s##6"m###!m~#fop}p<*m"m*m}o|g6@#s#r#6"m*Wp*Up"m}w>#w##}2Yp|›p+})N#җp~#fo :YpŠp!9"[![4 ~}#þ\ɧ~;}#=©pͻp~;}#ûpG~#p#p++p0:p;}ou!+UKyourself drinking from a pool and becomiuz?q*~}/o|/g#"~|pq͚?q!~~wɯ2~uzZqpq*~pqÚuzZq>>s~͘[#uqØ[q!~Óq>!~~2q# ™q!~s!~zr >>ڼq>|}+!0s{Br!+6!~>ͼ2~!,s.!(s{!~{~_#~W#~Okü!yùlrɇ<o&pqÚ*~*~Er"~`i"~!~^#V#N#F#!,súYx{N!~6.wg>Ͷr~r:qGw#~ryrÓr!~zr~uz~uzqr*~||2q rajs L}Gqmq={>2p`hs~&ʐz-gs+gs+[zNt.seysE£s[zlʑsLʑsqʑsQʢs:qʼs>üs~%t#t!tdʼsDst[z͆z[zts_{_+t;tsquz!rsuz stgs[z!r!rst[zsLqcquzNrq=uzqqDG¼u"~`i"~#~+4v- v0OxG4v#~u`xE)vy u>2p9v|u!vu"~`i"~7r#WHx:pgvqvuvuvx60Lry+~0ʄv.Lrʶvuz>"w#6+v6-/</ ҩv:#p#w#6!p#z=wwxzxͦy{q=xFuvp#6!p#:q~ v*v+w[z-+_:[{05w#[z5w++w+wv5w6%wYwyͩqgw u+6% rPwqrHxw_xxxyxxv_y9tw;tw{_xwxxwͻxyxOͻxGOyw*q=xPvZqѯwqr7Hxy9tOzWO;txx/< x/>͐q7y>͐qp#=.y!~4rjyr>Tr7rKz?xBr/{_#zW#yO++~yq#7rp#py>ìyQz>xN#F#*~/}o|gҿy"~p#=¬yxw1_cƤ~@zZrN vH Tʚ;@B''d #~: [z [z [z0?<=:q҂z7-++[z{OʡzHʡz+ͭzڶzsH#züzI^û\M!zz}0?)))صozM!zz}{0? {? ))))صoza{ ruz:~:~r:p2p2pI^û\I^û\S^!"[!:c":dj{:b{{͵p?{{p͡|ï{:r|>\2r|•{z{v|+ʩ{~v|ý{+v|½{v|s|!:c2r|{͡|Oʁ{:r|{>\v|2r|y@|y|7 g| @| {{{@|y|{{|{{v|> v|>â{"|>#é{;|6s|!:c͋|ý{ ڽ{x<>K|yq#v| ½{> v|͡|X| ʽ{{:bs|w^;}>^v|@v|s|~ š|> v|v|#Ë|͏[*[ ʾ|#~+<ʽ|=O} &})} |4+~#<|="} -}͘[ :[G|͘[|:[}<2[*["|!Y}"[ -}͟[*[654> ͧ|~=-}*[!["[ͧ|"[> ͧ|> ç|:[=j}> ͟[> ͟[*|^#V#z}ɷ!~}!~Ñ}~}~}w#w#w#w#}>~}>~} ~#=}!}#~ } }Ʌo$ɧGw#}{z.9rO>!z!~y#6+)r?z"BW"!~.:~r:/Nͼց2~:~#rx/F+N+=B!~V!~>q#p#=Y!~{"-~M<(*-~.):~)!N#FͥqʸGx ¡˜#!~Ăðj0 TeB׳]h!I.k "B"!~{f!~q#~++w+qrDNn"~`35zr1{r1h!I.ryO2y.r:~ҋ/<9r:O!G2~!ͼ:~2~x!~~ 4:~ց!~~++wr!~4#ہ4+6!~~# ɯ# #/!~Oyw#G:~L!~Vwz# 1x$)!~_Dx!~w)~w# a"BÀ"!~s"BÜ"!~cy2!~4~~q+²qӂNsY+Ȃþ W~w+݂ւ!~ڂ͚B!~w#r}EKE!!~F#^#V#N K}~~#3G++Nyz~1!~B>ʈ`fk͖Yʄ!~6.g>Ͷ|!>ZakB2r!~~+>wrͬücr:~Kσ/<r!gͶ!~~_#~W#~O #4.̇ G~_#~W#~OKͬcr>Oÿͬ1c݅rȯG"~y2~Fo!D*~:~On~4Æ͖g.*~:~Ozo͖g.*~:~|x<={_zWxG)yOHG ͬýcNry+F+F+Fw`h| gy:~O|g}oxG-|}݄KElaO܄!~~Gx*ƀ(w!w+ɷ)Yx{N!~6.wgPzO >Ͷ|{>2~K/)) =!~~7w?##wy7O*~*~"~"~ajSX͒)JS\E!~)/Ý Ҝ7>{_zW}o|g=“|g}oŇCZQø o-yOzW{_xGȇ~*~DM^#V#N#F#xyz:~:~7ƇG~_#~W#~OKͬcr>Oÿͬ1c݅rȯG"~y2~Fo!D*~:~On~4Æ͖g.*~:~Ozo͖g.*~:~|x<={_zWxG)yOHG ͬýcNry+F+F+Fw`h| gy:~O|g}oxG-|.PO 14 .PC 26 WIZARD'S CASTLE GAME -------------------- From Jul/Aug 1980 issue of "Recreational Computing". Original Exidy Sorcerer version by Joseph R. Power. Modified Microsoft BASIC version by J.F.Stetson. Instructions formatted in lower case for 52-column Osborne 1 by Alan T. Chattaway. - - - - - - - - - - - - - - - - - - - - - - - - - - Wizard's Castle is a fantasy 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 that 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, Heath H-8/H-89 and Osborne 1 computers. Background History ------------------ Many cycles ago, in the Kingdom of N'dic, 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 an immense under- ground labyrinth. Each game is different 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 follow 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 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 attributes 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 to 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, none, 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 absorb. 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, after 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 any 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 castle 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 bottom 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 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 will have as contents one of the following : E the Entrance / Exit room: an empty room contain- ing 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 drink 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 may 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 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 must 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 their 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: 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 edge. 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: causes 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 containing 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 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 the 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 who 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 west 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: 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 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 the castle. 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 quit, 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 possessing 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 distinguish 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 effects 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 that causes between 2 and 14 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's spell has the lower intelligence dies at 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 placed 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 forgetful- ness. The BLUE FLAME - dissolves books stuck to your hands. 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 them 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. FORGETFULNESS - this causes you to forget what you know about the castle. Your map will slowly return to all question 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. These 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 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 vendors 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 with 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, 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, Dragon* *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 monsters is carrying the Runestaff (you won't know which one until you kill it). You must have the Runestaff to teleport, but when you teleport into the castle room which contains the ORB OF ZOT, the Runestaff will vanish (you must find your way to the 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 exception is 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 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 starting 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 crystal orb. You are always required to redo your last response when you receive an "**" type message. Good luck, and beware! **************************************************** his 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 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 starti.PO 14 .PC 26 WIZARD'S CASTLE =============== Resubmitted to the FOG library by Alan Chattaway July 1985 Wizard's Castle has been in the FOG library for a long time. However, I'm resubmitting it now for a few very good reasons: (1) The .BAS version has been improved as follows: * The true randomizing enhancement by Irene Cohen has been installed at the beginning (from FOGHORN article entitled "Castle Remodelling"). * All messages have been changed to mixed upper and lower case for better readability. You no longer need to turn on your key to play this game. * Many of the messages have been re-phrased from 20th. century slang into something more in keeping with the mediaeval theme of the game. * It now clears the screen before displaying aps. (2) The .COM version is the same as the .BAS version, but I had it compiled with Microsoft's BASCOM compiler, using the ld function library so that no royalties are required. (3) The .DOC file was originally set up for an 80- column screen and was all typed in block capitals. I have changed it to mixed upper and lower case, which many studies have proven is more readable. I also reformatted it to fit the Osborne's 52- column screen, and added the WordStar dot commands to make it print centered on standard 80-column printers. Wizard's Castle is a favourite game among the elves in our own "castle". And with these improvements it is even more enjoyable! Alan T. Chattaway July 1985 1 CLEAR 250:DEFINT A-Z:GOTO 4 2 Z9=0:FOR R=1 TO 50:IF V1$=N$(R) AND (N(R)=LO OR N(R)=-1) THEN Z9=1:RETURN 3 NEXT:PRINT "I DON'T SEE THAT HERE.":Z9=2:RETURN 4 PRINT CHR$(23);" C.I.A ADVENTURE" 5 DIM N1$(50),N$(50),N(50),V$(18),LO(30,4),LO$(30):FL=1:DR=0:DG=-1:T=0:EL=0:BU=0:DO=0:CA=0:BA=0:TE=0:GL=0 6 PA=0:RO=0:FOR R=1 TO 5:R1=INT(9*RND(9)):CO$=CO$+STR$(R1):NEXT:LO=1:A9$=">"+STRING$(62,"-")+"<" 7 R=LEN(CO$):CO$=RIGHT$(CO$,R-1) 10 FOR R=1 TO 50:READ N1$(R),N$(R),N(R):NEXT 11 FOR R=1 TO 30:READ LO$(R),LO(R,1),LO(R,2),LO(R,3),LO(R,4):NEXT 12 FOR R=1 TO 18:READ V$(R):NEXT 20 REM 25 PRINT "WE ARE ";LO$(LO);"." 30 FOR R=1 TO 46:IF N(R)=LO THEN PRINT"I CAN SEE ";N1$(R);"." 35 NEXT:B=0:FOR R=1 TO 4:IF LO(LO,R)>0 THEN B=1 40 NEXT:IF B=0 THEN 45 41 PRINT"WE COULD EASILY GO: ";:IF LO(LO,1)>0 THEN PRINT"NORTH "; 42 IF LO(LO,2)>0 THEN PRINT"SOUTH "; 43 IF LO(LO,3)>0 THEN PRINT"EAST "; 44 IF LO(LO,4)>0 THEN PRINT"WEST "; 45 PRINT:PRINT A9$ 50 T=T+1:IF DG>0 THEN DG=DG-1 53 IF T=1 THEN INPUT"ENTER YOUR NAME PARTNER";NA$ 55 GOTO 2000 56 N=0:FOR R=1 TO 46:IF N(R)=-1 THEN N=N+1 57 NEXT 60 PRINT:INPUT"WHAT DO YOU THINK WE SHOULD DO";A$ 65 GOSUB 3000:V$=LEFT$(A$,3):GOSUB 3010:FOR R=1 TO 18:IF V$=V$(R) THEN 69 ELSE NEXT 66 IF V$="ORD" THEN 5000 67 PRINT"I DON'T KNOW HOW TO DO THAT.":GOTO 60 69 IF V$="QUI" THEN 850 70 V=R:FOR R=1 TO LEN(A$):IF MID$(A$,R,1)=" " THEN 75 ELSE NEXT 71 IF V$="LOO" THEN 20 72 IF V$="BON" THEN 900 73 IF V$="INV" THEN 950 74 PRINT"PLEASE USE 2 WORD COMMANDS SO I CAN UNDERSTAND YOU.":GOTO 60 75 V1$=MID$(A$,R+1,3):FOR R=1 TO 49:IF V1$=N$(R) THEN 80 ELSE NEXT 76 IF V1$="NOR" OR V1$="SOU" OR V1$="EAS" OR V1$="WES" THEN 80 77 PRINT"I DON'T KNOW WHAT IT IS YOU ARE TALKING ABOUT.":GOTO 60 80 ON V GOTO 100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950 100 IF V1$="NOR" AND LO(LO,1)>0 THEN LO=LO(LO,1):GOTO 20 101 IF V1$="SOU" AND LO(LO,2)>0 THEN LO=LO(LO,2):GOTO 20 102 IF V1$="EAS" AND LO(LO,3)>0 THEN LO=LO(LO,3):GOTO 20 103 IF V1$="WES" AND LO(LO,4)>0 THEN LO=LO(LO,4):GOTO 20 104 IF V1$="NOR" OR V1$="SOU" OR V1$="EAS" OR V1$="WES"THEN 135 105 GOSUB 2:IF Z9=2 THEN 50 110 IF R=8 THEN LO=5:GOTO 20 112 IF R=37 AND RO=1 AND LO=20 THEN LO=21:GOTO 20 115 IF R=10 THEN LO=11:GOTO 20 120 IF R=14 THEN LO=13:GOTO 20 125 IF R=33 THEN LO=3:GOTO 20 130 IF R=34 AND DO=1 THEN LO=9:GOTO 20 135 PRINT"I CAN'T GO THAT WAY AT THE MOMENT.":GOTO 50 150 GOSUB 2:IF Z9=2 THEN 50 155 IF R=2 OR R=3 OR R=4 OR R=6 OR R=15 OR R=16 OR R=20 OR R=21 OR R=22 OR R=23 OR R=25 OR R=26 OR R=27 OR R=28 OR R=30 OR R=31 OR R=37 OR R=39 OR R=40 OR R=42 OR R=44 OR R=45 OR R=46 THEN 160 157 PRINT"I CAN'T CARRY THAT!":GOTO 50 160 IF N(R)=-1 THEN PRINT"I ALREADY HAVE IT.":GOTO 50 163 IF N>=5 THEN PRINT"I CAN'T CARRY ANYMORE.":GOTO 50 165 PRINT"O.K.":N(R)=-1 170 IF V1$="PAI" AND PA=0 THEN PRINT"SOMETHING FELL FROM THE FRAME!":N(31)=LO:PA=1 173 IF V1$="TEL" THEN TE=0 175 GOTO 50 200 FOR R=1 TO 46:IF V1$=N$(R) AND N(R)=-1 THEN 205 ELSE NEXT 201 PRINT"I DON'T SEEM TO BE CARRYING IT.":GOTO 50 205 IF R=30 THEN PRINT"I DROPPED THE CUP BUT IT BROKE INTO SMALL PIECES.":PRINT"THE COFFEE SOAKED INTO THE GROUND.":N(30)=0:DR=0:GOTO 50 207 IF R=45 THEN GL=0 208 IF R=31 AND N(30)=-1 THEN PRINT"O.K. I DROPPED IT.":PRINT"BUT IT FELL IN THE COFFEE!":N(31)=0:DR=1:GOTO 50 210 PRINT"O.K. I DROPPED IT.":N(R)=LO:GOTO 50 250 IF V1$="BUT" AND LO=3 AND DO=0 THEN PRINT"THE DOORS OPEN WITH A WHOOSH!":DO=1:GOTO 50 251 IF N(46)=-1 AND V1$="BUT" THEN PRINT"I PUSH THE BUTTON ON THE BOX AND":GOTO 268 252 GOSUB 2 255 IF Z9=2 THEN 50 256 IF R=17 AND GL<>1 THEN PRINT"THERE'S ELECTRICITY COURSING THRU THE SQUARE!":PRINT"I'M BEING ELECTROCUTED!":GOTO 10000 260 IF R=35 AND BU=0 THEN PRINT"THE BUTTON ON THE WALL GOES IN .....":PRINT"CLICK! SOMETHING SEEMS DIFFFERENT NOW.":BU=1:GOTO 50 265 IF R=47 AND FL<>1 THEN LO(9,1)=3:FL=1:GOTO 280 266 IF R=48 AND FL<>2 THEN LO(9,1)=8:FL=2:GOTO 280 267 IF R=49 AND FL<>3 THEN LO(9,1)=10:FL=3:GOTO 280 268 IF N(46)=-1 AND (LO=6 OR LO=29)THEN PRINT"THERE IS A BLINDING FLASH....":FO R R=1 TO 3000:NEXT:LO=1:FL=1:LO(9,1)=3:GOTO 20 270 PRINT"NOTHING HAPPENS.":GOTO 50 280 PRINT"THE DOORS CLOSE AND I FEEL AS IF THE ROOM IS MOVING.":PRINT"SUDDENLY THE DOORS OPEN AGAIN.":FOR R=1 TO 5000:NEXT:GOTO 20 300 GOSUB 2:IF Z9=2 THEN 50 305 IF R=18 AND GL<>1 THEN PRINT"THE LEVER HAS ELECTRICITY COURSING THRU IT!":PRINT"I'M BEING ELECTROCUTED!":GOTO 10000 310 IF R=18 AND EL=0 THEN PRINT"THE LEVER GOES ALL THE WAY UP AND CLICKS.":PRINT"SOMETHING SEEMS DIFFERENT NOW.":EL=1:GOTO 50 315 PRINT"NOTHING HAPPENS.":GOTO 50 350 REM 352 IF V1$="DRA" AND LO=5 THEN PRINT"IT LOOKS FRAGILE.":GOTO 50 353 GOSUB 2:IF Z9=2 THEN 50 355 IF R=1 AND BA<>1 THEN PRINT"THERE'S NO POWER FOR IT.":GOTO 50 356 IF R=1 AND TE<>1 THEN PRINT"THERE'S NO T.V. TO WATCH ON.":GOTO 50 360 IF R=6 THEN PRINT"IT LOOKS HEAVY.":GOTO 50 362 IF R=7 THEN PRINT"IT'S LOCKED.":GOTO 50 364 IF R=13 THEN PRINT"IT'S A VERY STRONG BAG.":GOTO 50 366 IF R=19 THEN PRINT"I CAN SEE A LOCKED DRAWER IN IT.":GOTO 50 368 IF R=22 OR R=27 THEN PRINT"THERE'S WRITING ON IT.":GOTO 50 369 IF R=34 AND DO=1 THEN PRINT"THE DOORS ARE OPEN.":GOTO 50 370 IF R=24 THEN PRINT"I CAN SEE A GLEAMING STONE IN IT.":GOTO 50 371 IF R=9 THEN PRINT"THERE IS A SMALL SLIT NEAR THE DOOR.":GOTO 50 372 IF R=34 THEN PRINT"THERE'S A BUTTON NEAR THE DOORS.":GOTO 50 373 IF R=41 AND BU=1 THEN PRINT"THE SCREEN IS DARK.":GOTO 50 374 IF R=41 THEN PRINT"I SEE A METAL PIT 1000'S OF FEET DEEP ON ONE MONITOR.":PRINT"ON THE OTHER SIDE OF THE PIT,I SEE A LARGE HOOK.":GOTO 50 375 IF R=43 AND BU=1 THEN PRINT"THE SCREEN IS DARK.":GOTO 50 376 IF R=43 THEN PRINT"I SEE A ROOM WITH A CASE ON A PEDESTAL IN IT.":GOTO 50 378 IF R=44 THEN PRINT"I SEE A PICTURE OF A GRINNING JACKAL.":GOTO 50 380 PRINT"I SEE NOTHING OF INTEREST.":GOTO 50 400 GOSUB 2:IF Z9=2 THEN 50 405 IF R<>3 AND R<>2 AND R<>4 AND R<>28 THEN PRINT"I CAN'T INSERT THAT!":GOTO 50 410 INPUT"TELL ME, IN ONE WORD, INTO WHAT";A3$:A3$=LEFT$(A3$,3) 415 R1=R:V1$=A3$:GOSUB 2:IF Z9=2 THEN 50 420 IF R1=3 AND R=1 THEN PRINT"O.K.":BA=1:N(3)=0:BA=1:GOTO 50 423 IF R1=4 AND R=50 AND DG<=0 THEN PRINT"THE GUARD WON'T LET ME!":GOTO 50 425 IF R1=2 AND R=1 THEN PRINT"O.K. THE TAPE IS IN THE RECORDER.":N(2)=0:TA=1:GOTO 50 430 IF R1=4 AND R=50 THEN PRINT"POP! A SECTION OF THE WALL OPENS.....":PRINT"REVEALING SOMETHING VERY INTERESTING.":N(4)=0:N(5)=LO:GOTO 50 435 IF R1=28 AND R=29 THEN PRINT"POP! A CUP OF COFFEE COMES OUT OF THE MACHINE.":N(28)=0:N(30)=LO:GOTO 50 440 PRINT"NOTHING HAPPENED.":GOTO 50 450 REM 452 IF V1$="DRA" AND LO=5 AND N(23)=0 THEN PRINT"IT'S STUCK.":GOTO 50 454 GOSUB 2:IF Z9=2 THEN 50 455 IF R=7 OR R=9 OR R=13 OR R=15 OR R=23 OR R=32 OR R=5 THEN 460 456 PRINT"I CAN'T OPEN THAT!":GOTO 50 460 IF R=7 AND N(16)=-1 THEN PRINT"O.K. I OPENED THE DOOR.":N(7)=0:N(8)=4:GOTO 50 465 IF R=9 THEN PRINT"I CAN'T. IT DOESN'T WORK.":GOTO 50 470 IF R=13 AND N(16)=-1 THEN PRINT"O.K. THE CLOSET IS OPENED.":N(13)=0:N(14)=14:GOTO 50 475 IF R=15 THEN PRINT"I CAN'T. IT'S TOO STRONG.":GOTO 50 480 IF R=23 THEN PRINT"IT'S STUCK.":GOTO 50 482 IF R=32 AND N(28)=0 AND N(4)=0 AND SC=1 THEN PRINT "I OPEN THE SCULPTURE.":PRINT"SOMETHING FALLS OUT.":N(28)=LO:N(4)=LO:GOTO 50 485 IF R<>5 THEN 495 490 INPUT"WHAT'S THE COMBINATION";C$ 491 IF C$=CO$ THEN PRINT"THE DOOR IS SLOWLY OPENING.":N(5)=0:N(9)=0:N(10)=10:GOTO 50 493 PRINT"YOU MUST HAVE THE WRONG COMBINATION OR YOU ARE NOT":PRINT"SAYING IT RIGHT.":GOTO 50 495 PRINT"I CAN'T DO THAT......YET!":GOTO 50 500 IF V1$="GLO" AND N(45)=-1 THEN PRINT"O.K. I'M NOW WEARING THE GLOVES.":GL=1:GOTO 50 505 PRINT"I CAN'T WEAR THAT!":GOTO 50 550 IF V1$<>"SIG" AND V1$<>"NOT" THEN PRINT"I CAN'T READ THAT.":GOTO50 555 GOSUB 2:IF Z9=2 THEN 50 560 IF R=22 THEN PRINT"IT SAYS:":PRINT NA$;",":PRINT" WE HAVE DISCOVERED ONE OF CHAOSES SECRET WORDS.":PRINT"IT IS: BOND-007- .TO BE USED IN A -TASTEFUL- SITUATION.":GOTO 50 565 IF R=27 THEN PRINT"IT SAYS: WATCH OUT! DANGEROUS!":GOTO 50 600 IF V1$<>"REC" THEN PRINT"I CAN'T START THAT.":GOTO 50 605 GOSUB 2:IF Z9=2 THEN 50 610 IF BA<>1 OR TE<>1 OR TA<>1 THEN 620 612 PRINT"THE RECORDER STARTS UP AND PRESENTS A SHORT MESSAGE:" 613 PRINT NA$;"," 614 PRINT"WE HAVE UNCOVERED A NUMBER THAT MAY HELP YOU." 615 PRINT"THAT NUMBER IS:";CO$;". PLEASE WATCH OUT FOR HIDDEN TRAPS." 616 PRINT"ALSO, THERE IS SOMETHING IN THE SCULPTURE.":SC=1:GOTO 50 620 PRINT"NOTHING HAPPENED.":GOTO 50 650 IF V1$<>"DRA" THEN PRINT"I'M TRYING TO BREAK IT, BUT I CAN'T.":GOTO 50 653 IF N(6)<>-1 THEN PRINT"I CAN'T DO THAT YET.":GOTO 50 655 IF LO=5 THEN PRINT"IT'S HARD....BUT I GOT IT. TWO THINGS FELL OUT.":N(3)=LO:N(22)=LO:N(23)=LO:GOTO 50 660 PRINT"NOTHING HAPPENS.":GOTO 50 700 GOSUB 2:IF Z9=2 THEN 50 705 IF R<>15 AND R<>24 THEN PRINT"I'M TRYING. IT DOESN'T WORK.":GOTO 50 710 IF N(25)<>-1 THEN PRINT"I CAN'T DO THAT YET.":GOTO 50 715 IF R=15 THEN PRINT"RIP! THE BAG GOES TO PIECES, AND SOMETHING FALLS OUT!":N(15)=0:N(2)=LO:GOTO 50 720 IF R=24 THEN PRINT"I CUT THE CASE AND REACH IN TO PULL SOMETHING OUT.":N(26)=-1:GOTO 50 750 IF V1$<>"ROP" THEN PRINT"I CAN'T THROW THAT.":GOTO 50 752 IF N(37)<>-1 THEN PRINT"I CAN'T DO THAT YET.":GOTO 50 755 INPUT"TELL ME,IN ONE WORD,AT WHAT";A3$:A3$=LEFT$(A3$,3) 760 IF A3$<>"HOO" THEN PRINT"O.K. I THREW IT.":N(37)=LO:GOTO 50 765 IF LO<>20 THEN PRINT"I CAN'T DO THAT YET.":GOTO 50 770 PRINT"I THREW THE ROPE AND IT SNAGGED ON THE HOOK.":RO=1:N(37)=LO:GOTO 50 800 IF V1$<>"TEL" THEN PRINT"I CAN'T CONNECT THAT.":GOTO 50 803 IF N(40)<>LO THEN PRINT"I DON'T SEE THE TELEVISION HERE.":GOTO 50 805 IF TE=1 THEN PRINT"I DID THAT ALREADY.":GOTO 50 810 IF LO<>2 THEN PRINT"I CAN'T DO THAT....YET!":GOTO 50 815 PRINT"O.K. THE T.V. IS CONNECTED.":TE=1:GOTO 50 850 PRINT"WHAT? YOU WOULD LEAVE ME HERE TO DIE ALONE?" 855 PRINT"JUST FOR THAT, I'M GOING TO DESTROY THE GAME.":PRINT:PRINT:PRINT:PRINT"BOOOOOOOOOOOOM!":FOR R=1 TO 5000:NEXT:GOTO 22222 900 IF LO=14 THEN PRINT"WHOOPS! A TRAP DOOR OPENED UNDERNEATH ME AND":PRINT"I FIND MYSELF FALLING.":FOR R=1 TO 4000:NEXT:LO=17:GOTO 20 905 PRINT"NOTHING HAPPENED.":GOTO 50 950 Z8=0:PRINT"WE ARE PRESENTLY CARRYING:":FOR R=1 TO 46 955 IF N(R)<>-1 THEN 965 960 PRINT N1$(R);:IF R=45 AND GL=1 THEN PRINT". WHICH I'M WEARING."ELSE PRINT" " 963 Z8=1 965 NEXT 970 IF Z8=0 THEN PRINT"NOTHING" 975 GOTO 50 2000 IF LO=3 AND N(39)=-1 THEN PRINT"THE DOOR MAN LOOKS AT MY BADGE AND THEN THROWS ME OUT.":FOR R=1 TO 5000:NEXT:LO=1:GOTO 20 2005 IF LO=10 AND N(42)<>-1 THEN PRINT"THE GUARD LOOKS AT ME SUSPICIOUSLY, THEN THROWS ME BACK.":FOR R=1 TO 4000:NEXT:LO=9:GOTO 20 2010 IF LO=6 AND BU<>1 THEN PRINT"SIRENS GO OFF ALL AROUND ME!":PRINT"GUARDS RUN IN AND SHOOT ME TO DEATH!":GOTO 10000 2015 IF LO=11 AND EL<>1 THEN PRINT"THE FLOOR IS WIRED WITH ELECDRICITY!":PRINT"I'M BEING ELECTROCUTED!":GOTO 10000 2020 IF LO=10 AND N(30)=-1 AND DR=1 THEN PRINT"THE GUARD TAKES MY COFFEE":PRINT"AND FALLS TO SLEEP RIGHT AWAY.":DG=5+INT(10*RND(10)):N(11)=0:N(12)=10:DR=0:N(30)=0:GOTO 56 2025 IF DG=0 THEN PRINT"I HEAR A NOISE LIKE SOMEONE IS YAWNING.":N(11)=10:N(12)=0:GU=-2:DG=-1:GOTO 56 2030 IF LO=1 AND N(26)=-1 THEN PRINT"HURRAY! YOU'VE RECOVERED THE RUBY!":PRINT"YOU WIN!":GOTO 10020 2035 IF T>375 THEN PRINT"I THINK THEY ARE ON TO ME....I HEAR NOISES." 2040 IF T=400 THEN PRINT"OH NO! THEY CAUGHT UP TO ME! HELP! THEY'RE PULLING OUT GUNS!":GOTO 10000 2045 IF T=1 THEN PRINT"WRITING ON THE WALL SAYS:":PRINT"IF YOU WANT INSTRUCTIONS TYPE:ORDERS PLEASE" 2046 IF LO=6 AND LO(6,2)<>0 THEN PRINT"A SECRET DOOR SLAMS DOWN BEHIND ME!":LO(6,2)=0:GOTO 56 2047 IF LO=10 AND GU=-2 THEN PRINT"THE GUARD DRAWS HIS GUN AND SHOOTS ME!":GOTO 10000 2050 GOTO 56 3000 IF A$="N"THEN A$="GO NORTH":RETURN 3002 IF A$="S"THEN A$="GO SOUTH":RETURN 3004 IF A$="E"THEN A$="GO EAST":RETURN 3006 IF A$="W"THEN A$="GO WEST":RETURN 3007 IF A$="I"THEN A$="INV":RETURN 3008 RETURN 3010 IF V$="WAL" OR V$="RUN" THEN V$="GO ":RETURN 3012 IF V$="TAK" OR V$="CAR" THEN V$="GET":RETURN 3014 IF V$="LEA" THEN V$="DRO":RETURN 3016 IF V$="PRE" THEN V$="PUS":RETURN 3018 IF V$="EXA" THEN V$="LOO":RETURN 3020 IF V$="PUT" THEN V$="INS":RETURN 3022 IF V$="UNL" THEN V$="OPE":RETURN 3024 IF V$="PLA" THEN V$="STA":RETURN  3026 IF V$="SMA" THEN V$="BRE":RETURN 3028 IF V$="ATT" THEN V$="CON":RETURN 3030 IF V$="LIS" THEN V$="INV":RETURN 3032 RETURN 4000 DATA A VIDEO CASSETTE RECORDER,REC,2,A VIDEO TAPE,TAP,0,A LARGE BATTERY,BAT,0,A BLANK CREDIT CARD,CAR,0,AN ELECTRONIC LOCK,LOC,0,AN ELABORATE PAPER WEIGHT,WEI,5,A LOCKED WOODEN DOOR,DOO,4,AN OPEN WOODEN DOOR,DOO,0,A SOLID LOOKING DOOR,DOO,10 4010 DATA AN OPEN DOOR,DOO,0,AN ALERT SECURITY GUARD,GUA,10,A SLEEPING SECURITY GUARD,GUA,0,A LOCKED MAINTENANCE CLOSET,CLO,14,A MAINTENANCE CLOSET,CLO,0,A PLASTIC BAG,BAG,13,AN OLDE FASHIONED KEY,KEY,9,A SMALL METAL SQUARE ON THE WALL,SQU,16 4015 DATA A LEVER ON THE SQUARE,LEV,16,AN OLD MAHOGANY DESK,DES,5,A BROOM,BRO,13,A DUSTPAN,DUS,13,A SPIRAL NOTEBOOK,NOT,0,A MAHOGANY DRAWER,DRA,0,A GLASS CASE ON A PEDESTAL,CAS,6,A RAZOR BLADE,BLA,27,A VERY LARGE RUBY,RUB,0,A SIGN ON THE SQUARE 4020 DATA SIG,16,A QUARTER,QUA,0,A COFFEE MACHINE,MAC,8,A CUP OF STEAMING HOT COFFEE,CUP,0,A SMALL CAPSULE,CAP,0,A LARGE SCULPTURE,SCU,3,A TALL OFFICE BUILDING,BUI,1,A PAIR OF SLIDING DOORS,DOO,3,A LARGE BUTTON ON THE WALL 4025 DATA BUT,29,A PANEL OF BUTTONS NUMBERED ONE THRU THREE,PAN,9,A STRONG NYLON ROPE,ROP,17,A LARGE HOOK WITH A ROPE HANGING FROM IT,HOO,21,A C.I.A. IDENTIFICATION BADGE,BAD,-1,A PORTABLE TELEVISION,TEL,7 4026 DATA A BANK OF MONITORS,MON,7,A CHAOS I.D. CARD 4030 DATA CAR,30,A BANK OF MONITORS,MON,19,A SMALL PAINTING,PAI,23,A PAIR OF RUBBER GLOVES,GLO,13,A BOX WITH A BUTTON ON IT,BOX,24,ONE,ONE,9,TWO,TWO,9,THREE,THR,9,SLIT,SLI,10,ON A BUSY STREET,0,0,0,0,IN A VISITOR'S ROOM,0,0,3,0 4031 DATA IN THE LOBBY OF THE BUILDING,1,0,4,2,IN A DINGY ANTE ROOM,0,0,0,3 4035 DATA IN THE COMPANY PRESIDENT'S OFFICE,0,0,0,4,IN A SMALL SOUND PROOFED CUBICLE,0,12,0,0,IN A SECURITY OFFICE,0,0,8,0,IN A SMALL HALLWAY,0,14,9,7,IN A SMALL ROOM,3,0,0,0,IN A SHORT CORRIDOR,0,15,0,9,IN A HALLWAY MADE OF METAL,0,0,12,10 4037 DATA IN A SMALL PLAIN ROOM,6,0,0,11 4040 DATA IN A MAINTENANCE CLOSET,0,0,14,0,IN A CAFETERIA,8,0,0,0,IN A SIDE CORRIDOR,10,0,16,0,IN A POWER GENERATOR ROOM,0,0,0,15,IN A SUB-BASEMENT BELOW THE CHUTE,0,0,18,0,IN THE ENTRANCE TO THE SECRET COMPLEX,0,20,19,17 4045 DATA IN A SECRET MONITORING ROOM,0,0,0,18,ON A LEDGE IN FRONT OF A METAL PIT 1000'S OF FEET DEEP,18,0,0,0,ON THE OTHER SIDE OF THE PIT,0,0,22,0,IN A LONG CORRIDOR,0,25,23,21,IN A LARGE ROOM,0,26,0,22,IN A SECRET LABORATORY,0,0,25,0 4050 DATA IN A NARROW CROSS CORRIDOR,22,0,0,24,IN A CROSS EXAMINATION ROOM,23,28,0,0,IN A SMALL BATHROOM,0,0,28,0,IN THE OFFICE OF THE CHIEF OF CHAOS,26,30,0,27,IN THE CHAOS CONTROL ROOM,0,0,30,0,NEAR THE END OF THE COMPLEX,28,0,0,29 4055 DATA "GO ",GET,DRO,PUS,PUL,LOO,INS,OPE,WEA,REA,STA,BRE,CUT,THR,CON,QUI,BON,INV 5000 PRINT"YOUR MISSION,";NA$;",IS TO RECOVER A RUBY THAT IS BEING" 5010 PRINT"USED IN TOP SECRET GOVERNMENT PROJECTS AS A PART IN A" 5020 PRINT"LASER PROJECTOR." 5030 PRINT" YOU WILL HAVE A PARTNER WHO IS NOT TOO BRIGHT AND NEEDS" 5040 PRINT"YOU TO TELL HIM WHAT TO DO. USE TWO WORD COMMANDS LIKE:" 5050 PRINT:PRINT" GET NOTEBOOK GO WEST LOOK DOOR" 5060 PRINT:PRINT"SOME COMMANDS USE ONLY ONE WORD. EXAMPLE: INVENTORY" 5070 PRINT" IF YOU WANT TO SEE CHANGES IN YOUR SURROUNDINGS TYPE: LOOK" 5080 PRINT"THE RUBY HAS BEEN CAPTURED BY A SECRET SPY RING KNOWN AS" 5090 PRINT"CHAOS. WE SUSPECT THEY ARE UNDER COVER SOMEWHERE IN THIS" 5100 PRINT"NEIGHBORHOOD. GOOD LUCK!" 5110 GOTO 56 10000 FOR R=1 TO 5000:NEXT:PRINT"I'M DEAD!" 10010 PRINT"YOU DIDN'T WIN." 10020 INPUT"WOULD YOU LIKE TO TRY AGAIN (Y/N)";Z$ 10030 IF LEFT$(Z$,1)="Y" THEN RUN 22222 END 10010 PRINT"YOU DIDN'T WIN." 10020 INPUT"WOULD YOU LIKE TO TRY AGAIN (Y/N)";Z$ 10030 IF LEFT$(Z$,1)="Y" THENREA,STA,BRE,CUT,THR,CON,QUI,BON,INV 5000 PRINT"YOUR MISSION,";NA$;",IS TO RECOVER A RUBY THAT IS BEING" 5010 PRINT"USED IN TOP SECRET GOVERNMENT PROJECTS AS A PART IN A" 5020 PRINT"LASER PROJECTOR." 5030 PRINT" YOU WILL HAVE A PARTNER WHO IS NOT TOO BRIGHT AND NEEDS" 5040 PRINT"YOU TO TELL HIM WHAT TO DO. USE TWO WORD COMMANDS LIKE:" 5050 PRINT:PRINT" GET NOTEBOOK G1 L=0:W=0:R1=0:P1=0 2 Q1=0:M3=0:M4=0 3 P2=0:T1=0:T2=0 5 REM ARKABLE PROGRAM BY L. CRAM , L. GOODIE , AND D. HIBBARD 6 PRINT "DO YOU WANT DESCRIPTIONS (1=YES, 0=NO)"; 7 INPUT Z 8 REM ARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 9 FOR U=1 TO 6 10 PRINT 11 NEXT U 13 IF Z=0 THEN 100 15 PRINT "THIS IS A CIVIL WAR SIMULATION." 20 PRINT "TO PLAY, TYPE A RESPONSE WHEN THE COMPUTER ASKS." 30 PRINT "REMEMBER THAT ALL FACTORS ARE INTERRELATED AND THAT YOUR" 35 PRINT "RESPONSES COULD CHANGE HISTORY. FACTS AND FIGURES USED ARE" 40 PRINT "BASED ON THE ACTUAL OCCURENCE. MOST BATTLES TEND TO RESULT" 45 PRINT "AS THEY DID IN THE CIVIL WAR, BUT IT ALL DEPENDS ON YOU!!" 50 PRINT 51 PRINT "THE OBJECT OF THE GAME IS TO WIN AS MANY BATTLES AS POSSIBLE" 52 PRINT 55 PRINT "YOUR CHOICES FOR DEFENSIVE STRATEGY ARE:" 60 PRINT " (1) ARTILLERY ATTACK" 65 PRINT " (2) FORTIFICATION AGAINST FRONTAL ATTACK" 70 PRINT " (3) FORTIFICATION AGAINST FLANKING MANUEVERS" 75 PRINT " (4) FALLING BACK" 80 PRINT "YOUR CHOICES FOR OFFENSIVE STRATEGY ARE:" 85 PRINT " (1) ARTILLERY ATTACK" 90 PRINT " (2) FRONTAL ATTACK" 95 PRINT " (3) FLANKING MANUEVERS" 96 PRINT " (4) ENCIRCLEMENT" 97 PRINT "YOU MAY SURRENDER BY TYPING A '5' FOR YOUR STRATEGY." 98 PRINT 99 PRINT "YOU ARE THE CONFEDERACY. GOOD LUCK!" 100 READ M1,M2,C1,C2,M,A,U 101 LET I1=10+(L-W)*2 102 LET I2=10+(W-L)*2 103 LET D1=100*INT((M1*(100-I1)/2000)*(1+(R1-Q1)/(R1+1))+0.5) 104 LET D2=100*INT(M2*(100-I2)/2000+0.5) 105 LET F1=5*M1/6 106 LET A1=Z 107 FOR U=1 TO 4 108 PRINT 109 NEXT U 110 PRINT "THIS IS THE BATTLE OF "; 115 GOSUB 800 120 PRINT " ","CONFEDERACY"," UNION" 130 PRINT "MEN"," ";INT(M1*(1+(P1-T1)/(M3+1)))," "; 131 PRINT INT(M2*(1+(P2-T2)/(M4+1))) 140 PRINT "MONEY","$";D1,"$";D2 150 PRINT "INFLATION"," ";I1+15;"%"," ";I2;"%" 160 PRINT 170 PRINT "HOW MUCH DO YOU WISH TO SPEND FOR FOOD"; 180 INPUT F 185 IF F<0 THEN 750 190 PRINT "HOW MUCH DO YOU WISH TO SPEND FOR SALARIES"; 200 INPUT S 205 IF S<0 THEN 750 210 PRINT "HOW MUCH DO YOU WISH TO SPEND FOR AMMUNITION"; 220 INPUT B 221 IF B<0 THEN 750 222 PRINT 224 IF F+S+B<=D1 THEN 230 226 PRINT "THINK AGAIN! YOU HAVE ONLY $";D1 228 GOTO 160 230 LET O=((2*F^2+S^2)/F1^2+1) 235 IF O<10 THEN 260 240 PRINT "MORALE IS HIGH" 250 GOTO 300 260 IF O<5 THEN 290 270 PRINT "MORALE IS FAIR" 280 GOTO 300 290 PRINT "MORALE IS POOR" 300 IF M<>3 THEN 330 310 PRINT "YOU ARE ON THE OFFENSIVE" 320 GOTO 370 330 IF M<>1 THEN 360 340 PRINT "YOU ARE ON THE DEFENSIVE" 350 GOTO 370 360 PRINT "BOTH SIDES ARE ON THE OFFENSIVE" 370 PRINT 380 PRINT "YOUR STRATEGY"; 390 INPUT Y 391 IF Y=5 THEN 1487 392 IF ABS(Y-3)<3 THEN 395 393 PRINT "YOU JERK! USE THE OTHER SET OF STRATEGIES!!" 394 GOTO 370 395 PRINT 400 PRINT " ","CONFEDERACY","UNION" 410 LET C5=(2*C1/5)*(1+1/(2*(ABS(INT(4*RND+1)-Y)+1))) 412 LET C5=INT(C5*(1+1/O)*(1.28+F1/(B+1))+0.5) 414 IF C5+100/O=0 THEN 439 435 PRINT "YOUR CASUALTIES WERE ";INT(100*(C1-C5)/C1+0.5);"% LESS THAN " 437 GOTO 441 439 PRINT "YOUR CASUALTIES WERE ";INT(100*(C5-C1)/C1+0.5);"% MORE THAN " 441 PRINT "THE ACTUAL CASUALITIES AT "; 443 LET A1=1 445 GOSUB 800 450 IF U=1 THEN 470 460 IF C5+E<17*C2*C1/(C5*20)+5*O THEN 490 470 PRINT "YOU LOSE "; 471 LET L=L+1 480 GOTO 555 490 PRINT "YOU WIN "; 491 LET W=W+1 555 GOSUB 800 556 IF W=8 THEN 1490 580 LET T1=T1+C5+E 590 LET T2=T2+17*C2*C1/(C5*20)+5*O 600 LET P1=P1+C1 610 LET P2=P2+C2 620 LET Q1=Q1+(F+S+B) 630 LET R1=R1+M1*(100-I1)/20 635 LET M3=M3+M1 637 LET M4=M4+M2 650 IF A=14 THEN 1500 660 GOTO 100 670 DATA 18000,18500,1967,2708,1,1,0 672 DATA 40000,44894,10699,13047,3,2,0 674 DATA 95000,115000,20614,15849,3,3,0 676 DATA 54000,63000,10000,14000,2,4,0 678 DATA 40000,50000,10000,12000,3,5,0 680 DATA 75000,120000,5377,12653,1,6,0 682 DATA 38000,45000,11000,12000,1,7,0 684 DATA 32000,90000,13000,17197,2,8,0 686 DATA 50000,70000,12000,19000,1,9,0 688 DATA 72500,85000,20000,23000,3,10,0 690 DATA 66000,60000,18000,16000,2,11,0 692 DATA 37000,60000,6700,5800,2,12,0 694 DATA 62000,110000,17723,18000,2,13,0 696 DATA 65000,100000,8500,3700,1,14,0 750 PRINT "GO TO JAIL." 752 PRINT "GO DIRECTLY TO JAIL." 754 PRINT "DO NOT PASS GO." 756 PRINT "DO NOT COLLECT $200" 758 GOTO 107 800 IF A<>1 THEN 850 810 PRINT "BULL RUN" 820 IF A1=1 THEN 1480 830 PRINT"JULY 21,1861 GEN. BEAUREGARD COMMANDING THE SOUTH MET THE" 832 PRINT"UNION FORCES WITH GEN MCDOWELL IN A PREMATURE BATTLE AT BULL" 834 PRINT"RUN. GEN. JACKSON HELPED PUSH BACK THE UNION ATTACK." 840 GO TO 1480 850 IF A<>2 THEN 900 860 PRINT "SHILOH" 870 IF A1=1 THEN 1480 880 PRINT"APRIL 6-7,1862 THE CONFEDERATE SURPRISE ATTACK AT SHILOH" 882 PRINT"FAILED DUE TO POOR ORGANIZATION." 890 GO TO 1480 900 IF A<>3 THEN 950 910 PRINT "SEVEN DAYS" 920 IF A1=1 THEN 1480 930 PRINT"JUNE 25-JULY 1,1862 GENERAL LEE (CSA) UPHELD THE OFFENSIVE" 932 PRINT"THROUGHOUT THE BATTLE AND FORCED GEN. MCCLELLAN AND THE UNION" 934 PRINT"FORCES AWAY FROM RICHMOND." 940 GO TO 1480 950 IF A<>4 THEN 1000 960 PRINT "THE SECOND BULL RUN" 970 IF A1=1 THEN 1480 980 PRINT"AUG 29-30,1862 THE COMBINED CONFEDERATE FORCES UNDER LEE AND" 982 PRINT"JACKSON DROVE THE UNION FORCES BACK INTO WASHINGTON." 990 GO TO 1480 1000 IF A<>5 THEN 1050 1010 PRINT "ANTIETAM" 1020 IF A1=1 THEN 1480 1030 PRINT"SEPT 17,1862 THE SOUTH FAILED TO INCORPORATE MARYLAND INTO" 1032 PRINT"THE CONFEDERACY." 1040 GO TO 1480 1050 IF A<>6 THEN 1100 1060 PRINT "FREDERICKSBURG" 1070 IF A1=1 THEN 1480 1080 PRINT"DEC 13,1862 THE CONFEDERACY UNDER LEE SUCESSFULLY REPULSED" 1082 PRINT"AN ATTACK BY THE UNION UNDER GEN. BURNSIDE." 1090 GOTO 1480 1100 IF A <>7 THEN 1150 1110 PRINT "MURFREESBORO" 1120 IF A1=1 THEN 1480 1130 PRINT"DEC 31,1862 THE SOUTH UNDER GEN. BRAGG WON A CLOSE BATTLE" 1140 GOTO 1480 1150 IF A<>8 THEN 1200 1160 PRINT "CHANCELLORSVILLE" 1170 IF A1=1 THEN 1480 1180 PRINT"MAY 1-6,1863 THE SOUTH HAD A COSTLY VICTORY AND LOST ONE" 1182 PRINT"OF THEIR OUTSTANDING GENERALS, 'STONEWALL' JACKSON." 1190 GOTO 1480 1200 IF A<>9 THEN 1250 1210 PRINT "VICKSBURG" 1220 IF A1=1 THEN 1480 1230 PRINT"JULY 4,1863 VICKSBURG WAS A COSTLY DEFEAT FOR THE SOUTH" 1232 PRINT"BECAUSE IT GAVE THE UNION ACCESS TO THE MISSISSIPPI." 1240 GOTO 1480 1250 IF A<>10 THEN 1300 1260 PRINT "GETTYSBURG" 1270 IF A1=1 THEN 1480 1280 PRINT"JUNE 30,1863 A SOUTHERN MISTAKE BY GEN. LEE AT GETTYSBURG" 1282 PRINT"COST THEM ONE OF THE MOST CRUCIAL BATTLES OF THR WAR." 1290 GOTO 1480 1300 IF A<>11 THEN 1350 1310 PRINT "CHICKAMAUGA" 1320 IF A1=1 THEN 1480 1330 PRINT"NOV 25,1863 AFTER THE SOUTH HAD SIEGED GEN. ROSENCRANS'" 1332 PRINT"ARMY FOR THREE MONTHS, GEN. GRANT BROKE THE SIEGE." 1340 GOTO 1480 1350 IF A<>12 THEN 1400 1360 PRINT "CHATTANOOGA" 1370 IF A1=1 THEN 1480 1380 PRINT"SEPT 15,1863 CONFUSION IN A FOREST NEAR CHICKAMAUGA LED" 1382 PRINT"TO A COSTLY SOUTHERN VICTORY." 1390 GOTO 1480 1400 IF A<>13 THEN 1450 1410 PRINT "SPOTSYLVANIA" 1420 IF A1=1 THEN 1480 1430 PRINT"MAY 5,1864 GRANT'S PLAN TO KEEP LEE ISOLATED BEGAN TO FAIL" 1432 PRINT"HERE, AND CONTINUED AT COLD HARBOR AND PETERSBURG." 1440 GOTO 1480 1450 PRINT "ATLANTA" 1460 IF A1=1 THEN 1480 1470 PRINT"AUGUST, 1864 SHERMAN AND THREE VETERAN ARMIES CONVERGED ON" 1472 PRINT"ATLANTA AND DEALT THE DEATH BLOW TO THE CONFEDERACY." 1480 PRINT 1485 RETURN 1487 PRINT "THE CONFEDERACY HAS SURRENDERED" 1488 GOTO 1500 1490 PRINT "THE UNION HAS SURRENDERED" 1500 PRINT 1510 PRINT "YOU HAVE WON ";W;"BATTLES AND LOST ";L;"BATTLES." 1515 IF Y=5 THEN 1550 1520 IF W<=L THEN 1550 1530 PRINT "THE CONFIDERACY HAS WON THE WAR" 1540 STOP 1550 PRINT "THE UNION HAS WON THE WAR" 1560 END 100 PRINT CHR$(26);TAB(24);"DEEPSPACE" 110 PRINT TAB(20);"CREATIVE COMPUTING" 120 PRINT TAB(18);"MORRISTOWN, NEW JERSEY" 130 PRINT:PRINT 150 PRINT "THIS IS DEEPSPACE, A TACTICAL SIMULATION OF SHIP TO SHIP" 160 PRINT "COMBAT IN DEEP SPACE." 165 PRINT 170 PRINT "DO YOU WISH INSTRUCTIONS";:INPUT I$ 180 IF LEFT$(I$,1)="N" THEN 610 190 PRINT CHR$(26) 200 PRINT "YOU ARE ONE OF A GROUP OF CAPTAINS ASSIGNED TO PATROL A" 210 PRINT "SECTION OF YOUR STAR EMPIRE'S BORDER AGAINST HOSTILE" 220 PRINT "ALIENS. ALL YOUR ENCOUNTERS HERE WILL BE AGAINST HOSTILE" 230 PRINT "VESSELS. YOU WILL FIRST BE REQUIRED TO SELECT A VESSEL" 240 PRINT "FROM ONE OF THREE TYPES, EACH WITH ITS OWN CHARACTERISTICS:" 260 PRINT:PRINT " TYPE","SPEED","CARGO SPACE","PROTECTION" 265 PRINT " ------","-----","-----------","----------" 270 PRINT "1- SCOUT"," 10X"," 16"," 1" 280 PRINT "2- CRUISER"," 4X"," 24"," 2" 290 PRINT "3- BATTLESHIP"," 2X"," 30"," 5" 310 PRINT:PRINT "SPEED IS GIVEN RELATIVE TO THE OTHER SHIPS." 320 PRINT "CARGO SPACE IS IN UNITS OF SPACE ABOARD SHIP WHICH CAN BE" 330 PRINT "FILLED WITH WEAPONS." 340 PRINT "PROTECTION IS THE RELATIVE STRENGTH OF THE SHIP'S ARMOR" 350 PRINT "AND FORCE FIELDS." 360 GOSUB 10000 370 PRINT:PRINT "ONCE A SHIP HAS BEEN SELECTED, YOU WILL BE INSTRUCTED TO ARM" 380 PRINT "IT WITH WEAPONRY FROM THE FOLLOWING LIST:" 390 PRINT 400 PRINT " TYPE CARGO SPACE REL. STRENGTH" 405 PRINT " ------ ----------- -------------" 410 PRINT "1- PHASER BANKS 12 4" 420 PRINT "2- ANTI-MATTER MISSILE 4 20" 430 PRINT "3- HYPERSPACE LANCE 4 16" 440 PRINT "4- PHOTON TORPEDO 2 10" 450 PRINT "5- HYPERON NEUTRALIZATION FIELD 20 6" 470 PRINT:PRINT "WEAPONS #1 & #5 CAN BE FIRED 100 TIMES EACH; ALL OTHERS CAN" 480 PRINT "BE FIRED ONCE FOR EACH ON BOARD." 485 PRINT 490 PRINT "A TYPICAL LOAD FOR A CRUISER MIGHT CONSIST OF:" 500 PRINT " 1-#1 PHASER BANK = 12" 510 PRINT " 2-#3 HYPERSPACE LANCES = 8" 520 PRINT " 2-#4 PHOTON TORPEDOES = 4" 530 PRINT " ---------" 540 PRINT " 24 UNITS OF CARGO" 545 GOSUB 10000 550 PRINT " A WORD OF CAUTION: FIRING HIGH YIELD WEAPONS AT CLOSE (<100)" 560 PRINT "RANGE CAN BE DANGEROUS TO YOUR SHIP AND MINIMAL DAMAGE CAN" 570 PRINT "OCCUR AS FAR OUT AS 200 IN SOME CIRCUMSTANCES." 590 PRINT:PRINT "RANGE IS GIVEN IN THOUSANDS OF KILOMETERS." 600 GOTO 640 610 PRINT "DO YOU WISH A MANEUVER CHART";:INPUT M$ 620 IF LEFT$(M$,1)="N" THEN 770 640 PRINT 650 PRINT " MANEUVER CHART":PRINT " --------------" 670 PRINT " 1 FIRE PHASERS" 680 PRINT " 2 FIRE ANTI-MATTER MISSILE" 690 PRINT " 3 FIRE HYPERSPACE LANCE" 700 PRINT " 4 FIRE PHOTON TORPEDO" 710 PRINT " 5 ACTIVE HYPERON NEUTRALIZATION FIELD" 720 PRINT " 6 SELF-DESTRUCT" 730 PRINT " 7 CHANGE VELOCITY" 740 PRINT " 8 DISENGAGE" 750 PRINT " 9 PROCEED" 770 PRINT:PRINT "YOU HAVE A CHOICE OF THREE SYSTEMS TO PATROL." 780 PRINT "1 - ORION" 790 PRINT "2 - DENEB" 800 PRINT "3 - ARCTURUS" 810 PRINT "SELECT A SYSTEM (1-3)";:INPUT S9 820 IF S9=1 THEN 2380 830 IF S9=2 THEN 2430 840 GOTO 2480 850 D0=0 860 D1=0 870 N1=0 880 N2=0 890 N3=0 900 N4=0 910 D=0 920 PRINT "WHICH SPACECRAFT WOULD YOU LIKE (1-3)";:INPUT S 930 ON S GOTO 1790,1830,1870 960 GOTO 920 970 C=C0 980 PRINT "YOU HAVE";C;"UNITS OF CARGO SPACE TO FILL WITH WEAPONRY." 990 PRINT "CHOOSE A WEAPON AND THE AMOUNT YOU WISH";:INPUT W,N 1000 ON W GOTO 1910,2010,2100,2190,2280 1050 GOTO 980 1060 IF N*C1>C THEN 2530 1070 C=C-N*C1 1080 ON W GOTO 1990,2080,2170,2260 1120 GOTO 2360 1130 IF C>1 THEN 980 1140 REM 1150 S1=S0*RND(0) 1160 R=(3*RND(0)+5)*100 1180 PRINT:PRINT "RANGE TO TARGET:";R 1190 PRINT "RELATIVE VELOCITY:";S1 1200 PRINT "ACTION";:INPUT M 1210 ON M GOTO 1940,2030,2120,2210,2310,1660,1390,2760 1290 IF R<500 THEN 1500 1300 IF S1>0 THEN 1330 1310 R=R+(S1*8.3)^1.25 1320 GOTO 1340 1330 R=R-(S1*8.3)^1.25 1340 IF R>1500 THEN 2590 1350 IF R>0 THEN 1370 1360 R=-R 1370 PRINT 1380 GOTO 1180 1390 PRINT "CHANGE TO BE EFFECTED";:INPUT S2 1400 IF (S1+S2)>S0 THEN 2550 1410 S1=S1+S2 1420 GOTO 1180 1430 F0=P1*(Z/R)^1.5 1440 REM 1450 D0=(2*F0+3*F0*RND(0))/5 1460 D=D+D0 1470 PRINT "SCANNERS REPORT ENEMY DAMAGE NOW:";D 1480 IF D>99 THEN 2720 1490 GOTO 1510 1500 D0=0 1510 REM 1520 K=E1+E2*RND(0) 1530 REM 1540 E=E3+E4*RND(0)+5/P0*RND(0) 1550 REM 1560 F3=E*(K/R)^1.85 1570 D2=(3*F3+3*F3*RND(0))/5.5 1580 D1=D1+D2 1590 IF (Z*D0)/(R*500)>2.2 THEN 1620 1600 D3=D0*2/(R^2*P0) 1610 D1=D1+D3 1620 PRINT "DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT:";D1 1630 IF D1>99 THEN 2740 1640 IF D>99 THEN 2760 1650 GOTO 1300 1660 PRINT "SELF DESTRUCT FAILSAFE ACTIVATED!!" 1670 PRINT "INPUT 1 TO RELEASE FAILSAFE";:INPUT U 1680 IF U=1 THEN 1700 1690 GOTO 1290 1700 PRINT "SELF DESTRUCT ACCOMPLISHED." 1710 IF R>60 THEN 1740 1720 PRINT "ENEMY VESSEL ALSO DESTROYED." 1730 GOTO 2760 1740 D4=3200/R 1750 D=D+D4 1760 IF D>99 THEN 1720 1770 PRINT "ENEMY VESSEL SURVIVES WITH";D;"DAMAGE." 1780 GOTO 2760 1790 S0=10 1800 C0=16 1810 P0=1 1820 GOTO 970 1830 S0=4 1840 C0=24 1850 P0=2 1860 GOTO 970 1870 S0=2 1880 C0=30 1890 P0=5 1900 GOTO 970 1910 C1=12 1930 GOTO 1060 1940 P1=4 1950 IF N1=0 THEN 2160 1960 N1=N1-1 1970 Z=200 1980 GOTO 1430 1990 N1=N1+N 2000 GOTO 1130 2010 C1=4 2020 GOTO 1060 2030 P1=20 2040 IF N2=0 THEN 2640 2050 N2=N2-1 2060 Z=500 2070 GOTO 1430 2080 N2=N2+N 2090 GOTO 1130 2100 C1=4 2110 GOTO 1060 2120 P1=16 2130 IF N3=0 THEN 2660 2140 N3=N3-1 2150 Z=550 2160 GOTO 1430 2170 N3=N3+N 2180 GOTO 1130 2190 C1=2 2200 GOTO 1060 2210 P1=10 2220 IF N4=O THEN 2680 2230 N4=N4-1 2240 Z=400 2250 GOTO 1430 2260 N4=N4+N 2270 GOTO 1130 2280 C1=.2 2290 N=100 2300 GOTO 1060 2310 P1=6 2320 IF N5=0 THEN 2700 2330 N5=N5-1 2340 Z=250 2350 GOTO 1430 2360 N5=N5+N 2370 GOTO 1130 2380 E1=150 2390 E2=500 2400 E3=3 2410 E4=4 2420 GOTO 850 2430 E1=200 2440 E2=350 2450 E3=4 2460 E4=3 2470 GOTO 850 2480 E1=150 2490 E2=400 2500 E3=5 2510 E4=2 2520 GOTO 850 2530 PRINT "NOT ENOUGH SPACE. RESELECT." 2540 GOTO 980 2550 PRINT "CHANGE BEYOND MAXIMUM POSSIBLE." 2560 PRINT "INCREASING TO MAXIMUM." 2570 S1=S0 2580 GOTO 1300 2590 PRINT "OUT OF SENSOR RANGE. AUTOMATIC DISENGAGE." 2600 GOTO 2760 2610 PRINT "PHASER BANKS DRAINED." 2620 PRINT "SELECT ANOTHER COURSE OF ACTION." 2630 GOTO 1200 2640 PRINT " ALL ANTI-MATTER MISSLES EXPENDED." 2650 GOTO 2620 2660 PRINT "ALL HYPERSPACE LANCES EXPENDED." 2670 GOTO 2620 2680 PRINT "ALL PHOTON TORPEDO TUBES EMPTY." 2690 GOTO 2620 2700 PRINT "HYPERON NEUTRALIZATION FIELD DRAINED." 2710 GOTO 2620 2720 PRINT "ENEMY VESSEL DESTROYED!" 2730 GOTO 1510 2740 PRINT "YOUR VESSEL HAS BEEN DESTROYED!" 2760 PRINT "ANOTHER BATTLE";:INPUT R$ 2770 IF LEFT$(R$,1)="Y" THEN 810 2780 PRINT:PRINT "TRY AGAIN LATER!":PRINT 2790 GOTO 65000 10000 PRINT:LINE INPUT "ENTER 'RETURN' TO CONTINUE. ";XX$ 10010 PRINT CHR$(26) 10020 RETURN 65000 END NT 2790 GOTO 65000 10000 PRINT:LINE INPUT "ENTER 'RETURN' TO CONTINUE. ";XX$ 10010 PRINT CHR$(26) 10020 RETURN 6500SELECT." 2540 GOTO 980 2550 PRINT "CHANGE BEYOND MAXIMUM POSSIBLE." 2560 PRINT "INCREASING TO MAXIMUM." 2570 S1=S0 2580 GOTO 1300 2590 PRINT "OUT OF SENSOR RANGE. AUTOMATIC DISENGAGE." 2600 GOTO 2760 2610 PRINT "PHASER BANKS DRAINED." 2620 PRINT "SELECT ANOTHER COURSE OF ACTION." 2630 GOTO 1200 2640 PRINT " ALL ANTI-MATTER MISSLES EXPENDED." 2650 GOTO 2620 2660 PRINT "ALL HYPERSPACE LANCES EXPENDED." 2670 GOTO 2620 2680 PRINT "ALL PHOTON TORPEDO TUBES EMPTY." 2690 GOTO 2620 2700 PRINT "HYPERON NEUTRALIZATION FIELD DRAINED." 2710 GOTO 2620 2720 PRINT "ENEMY VESSEL DESTROYED!" 2730 GOTO 1510 2740 PRINT "YOUR VESSEL HAS BEEN DESTROYED!" 2760 PRINT "ANOTHER BATTLE";:INPUT R$ 2770 IF LEFT$(R$,1)="Y" THEN 810 2780 PRINT:PRINT "TRY AGAIN LAT10 PRINT CHR$(26) 11 T=0 15 BLANK$=" " 20 Y5=3:GOSUB 670 30 PRINT "YOU HAVE BEEN ASKED TO GO ON A MISSION TO DESTROY" 40 PRINT "FIVE ENEMY CRAFT THAT THREATEN THE GALAXY...." 50 PRINT "YOU MUST POSITION YOUR CRAFT SO THAT THE ENEMY" 60 PRINT "IS IN A POSITION IN THE CENTER OF YOUR GUNSIGHT IN" 70 PRINT "ORDER TO DESTROY HIM." 80 PRINT:PRINT "THE AIMING IS DONE AS FOLLOWS:" 90 PRINT "HIT THE ARROW KEYS TO MOVE YOUR SIGHTS.FOR EXAMPLE," 100 PRINT "TO MOVE THE GUNSIGHT UP (TARGET DOWN)," 110 PRINT "HIT THE UP ARROW. HIT RETURN TO FIRE AND ESCAPE" 120 PRINT "TO REDRAW THE GUNSIGHT." 125 PRINT 130 PRINT "IF YOU FINISH WITH A RATING OVER 75%, YOU WILL" 135 PRINT "NOTICE THE TIME BETWEEN TARGET-MOVES SPEEDING UP." 140 PRINT "ALSO, IF YOUR RATING IS 50% OR LESS, THE TIME" 145 PRINT "WILL DECREASE. AS YOU GET BETTER, YOUR RATING" 150 PRINT "WILL ALSO IMPROVE. GOOD LUCK!!!!!!" 170 FOR N=0 TO 1500: NEXT N 175 PRINT:RANDOMIZE 180 PRINT "TYPE N FOR NOVICE PILOT, E FOR EXPERIENCED," 185 INPUT "OR A FOR ACE"; V$ 190 IF V$="E" THEN V8=200:GOTO 220 200 IF V$="N" THEN V8=350:GOTO 220 210 IF V$ = "A" THEN V8=100:GOTO 220 215 GOTO 180 220 PRINT CHR$(26) 230 Y5=10:X5=10:GOSUB 670 240 PRINT "GOOD LUCK ON YOUR MISSION --- ON INTO BATTLE!!!" 250 FOR N=0 TO 1000:NEXT N 270 D2=1:D1=1:PRINT CHR$(26) 280 GOSUB 1140 290 Y5=6:X5=0:GOSUB 670:GOSUB 500 300 Y5=INT(10*RND+7) 310 X5=INT(20*RND+16) 320 GOSUB 670 330 GOSUB 640 340 GOSUB 690 350 Z$="":WHILE Z$="" 355 Z$=INKEY$ 360 GOSUB 1080 365 WEND 370 D=(ASC(Z$) AND 127) 380 GOSUB 670 390 IF D=8 THEN X5=X5+1 400 IF D=12 THEN X5=X5-1 410 IF D=11 THEN Y5=Y5+1 420 IF D=10 THEN Y5=Y5-1 430 IF D=13 THEN 710 440 IF D=27 THEN P=X5:Q=Y5:Y5=6:X5=0:GOSUB 670:GOSUB 500:X5=P:Y5=Q 450 GOSUB 1050 460 GOTO 320 500 PRINT " ----------------------" 510 PRINT " |" 520 PRINT " |" 530 PRINT " |" 540 PRINT " |  |" 550 PRINT " | | | |" 560 PRINT " |----------| |----------|" 570 PRINT " | | | |" 580 PRINT " | |" 590 PRINT " |" 600 PRINT " |" 610 PRINT " |" 620 PRINT " ---------------------" 630 RETURN 640 PRINT "I-0-I" 650 P=Y5:Q=X5 660 RETURN 670 PRINT CHR$(27)+"="+CHR$(32+Y5)+CHR$(32+X5); 680 RETURN 690 PRINT CHR$(27)+"="+CHR$(32)+CHR$(32) 700 RETURN 710 IF Y5=12 THEN 740 720 GOSUB 880 730 GOTO 320 740 IF X5=29 THEN 770 750 GOSUB 880 760 GOTO 320 770 Y5=12:X5=28:GOSUB 670:PRINT " POW " 780 FOR N=0 TO 100:PRINT CHR$(7);:NEXT N 790 FOR N=0 TO 100:NEXT N 800 GOSUB 670:PRINT BLANK$+CHR$(0) 810 FOR N=0 TO 100:NEXT N 820 Y5=22:X5=0:GOSUB 670 830 PRINT "M A Y T H E F O R C E B E W I T H Y O U !!" 840 Y5=1:X5=0:GOSUB 670 850 PRINT "ENEMY DESTROYED=";D1 860 D1=D1+1 865 IF D1=6 THEN 920 870 GOTO 300 880 P=Y5:Q=X5:Y5=2:X5=0:GOSUB 670 890 PRINT "NUMBER MISSED =";D2:D2=D2+1 900 Y5=P:X5=Q:GOSUB 670 910 RETURN 920 Y5=22:X5=10:GOSUB 670 930 D2=D2-1 940 Y5=20:X5=0:GOSUB 670 950 PRINT "THE HOME BASE HAS BEEN SAVED-CONGRATULATIONS" 960 PRINT "YOUR MISSION RECORD: ";5/(5+D2)*100;"% PERFORMANCE" 970 IF 5/(5+D2)*100 >75 THEN V8=V8-50:IF V8<=50 THEN 1200 980 IF 5/(5+D2)*100 <51 THEN V8=V8+50 990 PRINT "DO YOU WANT ANOTHER MISSION?";:PRINT SPACE$(30) 1000 Q$="":WHILE Q$="":Q$=INKEY$:WEND 1010 X=ASC(Q$):IF X>96 THEN X=X-32 1020 IF X<>89 THEN STOP 1030 GOTO 270 1040 Y5=0:X5=0:GOSUB 670 1050 PRINT CHR$(27)+"="+CHR$(32+P)+CHR$(32+Q); 1060 PRINT BLANK$+CHR$(0) 1070 RETURN 1080 T=T+1 1090 IF T>V8 THEN 1110 1100 RETURN 1110 IF X5>31 OR X5<7 THEN 1116 1112 X5=X5-1:Y5=Y5+1:GOSUB 1050: GOSUB 670:GOSUB 640: GOSUB 690: GOTO 1120 1116 X5=X5+1:Y5=Y5-1:GOSUB 1050:GOSUB 670:GOSUB 640:GOSUB 690:GOTO 1120 1120 IF Y5>18 OR Y5<5 THEN PRINT CHR$(26):PRINT "YOU'RE SHOT DOWN!!!":GOTO 1125 1122 T=0:RETURN 1125 X5=0:Y5=6:GOSUB 670:GOSUB 500:V8=V8+50:GOTO 990 1140 IF V8<=100 THEN Q$="RATING=ACE PILOT":GOTO 1170 1150 IF V8>= 350 THEN Q$="RATING=NOVICE PILOT":GOTO 1170 1160 Q$="RATING=EXPERIENCED PILOT" 1170 Y5=2:X5=25:GOSUB 670 1180 PRINT Q$ 1190 RETURN 1200 PRINT CHR$(26) 1210 FOR I=1 TO 100:PRINT CHR$(7):NEXT I 1220 PRINT:PRINT " C O N G R A T U L A T I O N S !!!!" 1230 PRINT:PRINT " YOU BEAT THE COMPUTER!!" 1240 END CHR$(7):NEXT I 1220 PRINT:PRINT " C O N G R A T U L A T I O N S !!!!" 1230 PRINT:PRINT " YOU BEAT THE COMPUTER!!" X<>89 THEN STOP 1030 GOTO 270 1040 Y5=0:X5=0:GOSUB 670 1050 PRINT CHR$(27)+"="+CHR$(32+P)+CHR$(32+Q); 1060 PRINT BLANK$+CHR$(0) 1070 RETURN 1080 T=T+1 1090 IF T>V8 THEN 1110 1100 RETURN 1110 IF X5>31 OR X5<7 THEN 1116 1112 X5=X5-1:Y5=Y5+1:GOSUB 1050: GOSUB 670:GOSUB 640: GOSUB 690: GOTO 1120 1116 X5=X5+1:Y5=Y5-1:GOSUB 1050:GOSUB 670:GOSUB 640:GOSUB 690:GOTO 1120 1120 IF10 PRINT CHR$(26);TAB(26);"GRANPRIX" 20 PRINT TAB(20);"CREATIVE COMPUTING" 30 PRINT TAB(18);"MORRISTOWN, NEW JERSEY" 40 PRINT:PRINT:PRINT 1020 DIM P(9),F(4),G(4),H(82) 1030 REM 1040 FOR X=1 TO 9 1043 READ P(X) 1045 NEXT X 1050 FOR I=1 TO 4 1060 READ G(I),F(I) 1080 LET G(I)=G(I)/2.04545 1090 LET F(I)=(F(I)+.61/2.04545) 1100 NEXT I 1110 FOR X=1 TO 82:READ H(X):NEXT X 1115 REM 1120 DEF FNA(X)=INT(X*2.04545+.05) 1130 DEF FNT(T)=INT(T*10+.5)/10 1133 DEF FNC(T)=-(INT(T*R)+2)*(INT(T*R)+2<82)-82*(82"Y" THEN 1910 1300 PRINT "MAKE SURE YOUR PRINTER IS READY." 1302 LINE INPUT "ENTER 'RETURN' TO BEGIN PRINTING. ";XX$ 1304 PRINT:PRINT "--- PRINTING ---":PRINT 1320 LPRINT TAB(23);"2";TAB(66);"1" 1330 LPRINT TAB(21);"CC0XPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0CC" 1340 LPRINT TAB(12);"85-100 CC (800)";TAB(69);"C" 1350 LPRINT TAB(18);"C";TAB(70);"C" 1360 LPRINT TAB(15);"3 0";TAB(21);"PUC GRAN PRIX RACE";TAB(70);"C" 1370 LPRINT TAB(16);"X";TAB(69);"C" 1375 LPRINT TAB(15);"X";TAB(67);"CC" 1380 LPRINT TAB(14);"X";TAB(38);"SS";TAB(59);"(2800) C 50-" 1390 LPRINT TAB(13);"X";TAB(22);"SSSSSSS SSS SSSOXXXXXXXXXXXXXXXX"; 1395 LPRINT "XPXXOC 70" 1400 LPRINT TAB(12);"X SS SSSSSSS 7"; 1405 LPRINT TAB(64);"8" 1410 LPRINT TAB(11);"X (1900)0 6 90-110" 1420 LPRINT TAB(10);"X X" 1430 LPRINT TAB(9);"X X"; 1433 LPRINT TAB(28);"DISTANCES IN YARDS, EG. "; 1435 LPRINT "(800) = 800 YDS." 1440 LPRINT TAB(8);"X X";TAB(20);"SPEEDS IN MPH, "; 1445 LPRINT "EG. 85 TO 100 MPH." 1450 LPRINT " P X" 1460 LPRINT " X X" 1470 LPRINT " X X" 1480 LPRINT " X X" 1490 LPRINT " 4 0(1500) X" 1500 LPRINT " H X" 1510 LPRINT " H X" 1520 LPRINT "20-H 0 5" 1530 LPRINT " 35 H H" 1535 LPRINT " HH" 1540 LPRINT 1550 LPRINT 1560 LPRINT "1 TO 2 IS A STRAIGHTAWAY 800 YARDS LONG" 1570 LPRINT "2 TO 3 IS A CURVE 200 YARDS LONG" 1580 LPRINT " THE BREAKAWAY SPEED RANGE IS 85 TO 100 MPH" 1590 LPRINT "3 TO 4 IS A STRAIGHTAWAY 500 YARDS LONG" 1600 LPRINT " IT ENDS AT POSITION 1500 YARDS FROM STARTING"; 1605 LPRINT " GRID" 1610 LPRINT "4 TO 5 IS A HAIRPIN CURVE 100 YARDS LONG" 1620 LPRINT " THE BREAKAWAY SPEED RANGE IS 20 TO 35 MPH" 1630 LPRINT "5 TO 6 IS ANOTHER STRAIGHTAWAY 300 YARDS LONG" 1640 LPRINT " IT ENDS AT POSITION 1900 YARDS FROM THE GRID" 1650 LPRINT "6 TO 7 IS A SET OF 'S' CURVES 500 YARDS LONG" 1660 LPRINT " THE SPEED RANGE IS 90-110 MPH" 1670 LPRINT "7 TO 8 IS THE FINAL STRAIGHTAWAY OF 400 YARDS" 1680 LPRINT " IT ENTERS THE LAST CURVE AT 2800 YARDS" 1690 LPRINT "8 TO 9 IS THE FINAL CURVE OF 400 YARDS" 1700 LPRINT " THE BREAKAWAY SPEED RANGE IS 50 TO 70 MPH" 1710 LPRINT CHR$(12) 1720 PRINT:PRINT "THE TOTAL LENGTH OF ONE LAP IS 3200 YARDS" 1730 PRINT 1820 PRINT "DURING THE STRAIGHTAWAYS YOU WILL BE ABLE TO CONTROL THE" 1830 PRINT "ACCELERATION AND BRAKING OF THE CAR. THE CURVES WILL BE"; 1835 PRINT " TAKEN" 1840 PRINT "AT WHATEVER SPEED YOU ENTER THEM." 1842 PRINT "BELOW THE BREAKAWAY SPEED, THE CURVES MAY BE TAKEN WITH "; 1844 PRINT "NO DIFFICULTY." 1850 PRINT "ABOVE THE FASTEST SPEED INDICATED, YOU WILL CRASH!!" 1860 PRINT "WITHIN THE SPEED RANGE, THERE IS THE POSSIBILITY THAT YOU"; 1865 PRINT " MIGHT" 1870 PRINT "LOSE TIME OR SPEED BY SWINGING WIDE OR BY SPINNING OUT." 1880 PRINT "THE FASTER YOU TAKE THE CURVES, THE GREATER THE RISKS--" 1890 PRINT "AND THE LESS THE TIME!!!!" 1905 PRINT 1906 PRINT 1907 PRINT "YOUR TASK IS TO TRANSVERSE THE TRACK IN A MINIMUM OF TIME" 1908 PRINT "WITHOUT CRASHING!!!" 1909 PRINT 1910 PRINT:PRINT "YOUR CAR MAY BE ONE OF THE FOLLOWING:" 1911 PRINT "1. PORSCHE" 1912 PRINT "2. FERRARI" 1913 PRINT "3. MASERATI" 1914 PRINT "4. LOTUS FORD" 1915 PRINT:PRINT "WHICH CAR WOULD YOU LIKE"; 1916 INPUT Z:PRINT 1917 ON Z GOTO 1920,1923,1926,1929 1918 PRINT "WE DON'T HAVE THAT CAR IN STOCK, PLEASE CHOOSE AGAIN."; 1919 GOTO 1916 1920 M=15 1921 LET B=-20 1922 GOTO 1931 1923 M=10 1924 B=-25 1925 GOTO 1931 1926 M=12 1927 B=-22 1928 GOTO 1931 1929 M=8 1930 B=-30 1931 PRINT "YOUR CAR HAS A MAXIMUM ACCELERATION OF";M;"MPH/SEC." 1932 PRINT "AND A MAXIMUM BRAKING OF ";B;"MPH/SEC." 1933 PRINT:PRINT "YOU WILL RACE AGAINST ONE OF THE FOLLOWING:" 1934 PRINT "1. U.S. POSTAL DELIVERY TRUCK" 1935 PRINT "2. 1970 BEAT PONTIAC GTO" 1936 PRINT "3. 1966 WELL USED FORD MUSTANG" 1937 PRINT "4. LOTUS FORD" 1938 PRINT "5. 1974 FERRARA" 1939 PRINT "6. THE PHYSICS SUPERCHARGED LIGHTBEAM SPECIAL":PRINT 1940 PRINT "CHOOSE ONE OPPONENT BY ENTERING NUMBER"; 1941 INPUT R1 1942 IF R1>0 AND R1<6 THEN 1946 1943 IF R1=6 THEN 1948 1944 PRINT "WHICH CAR DID YOU SAY"; 1945 GOTO 1941 1946 LET R=2*R1-5 1947 GOTO 1949 1948 LET R=2.5E+08 1949 LET R=(90+2*R)/100+7*RND(1)/100 1950 PRINT 3000 REM 3002 REM BEGIN THE RACE!! 3004 REM 3010 LET J=1 3020 PRINT "ELAPSED-TIME SPEED POSITION OPPONENT'S" 3030 PRINT " SECONDS MPH YARDS POSITION ACCELERATION" 3035 PRINT "----------- ----- -------- ---------- ------------" 3040 PRINT 3070 X=0:S=0:T=0:T9=0:X9=0 3080 REM 3100 IF J<9 THEN 3200 3130 PRINT 3160 PRINT "COMPLETED LAP";",ELAPSED TIME";FNT(T);"SEC." 3166 PRINT "YOUR OPPONENT FINISHED IN";80/R;"SECONDS" 3167 LET K1=FNT(T)-80/R 3168 IF K1>0 THEN 3171 3169 PRINT "CONGRATULATIONS, YOU WON BY";-K1;"SECONDS" 3170 GOTO 8600 3171 PRINT "SORRY, YOU LOST BY";K1;"SECONDS" 3172 GOTO 8600 3200 IF FNP(T)>3200 THEN 3203 3201 PRINT USING " ###.# ### #### #### "; FNT(T);FNA(S);INT(X);FNP(T); 3202 GOTO 3210 3203 PRINT " ";FNT(T)," ";FNA(S)," ";INT(X)," FINISH"," "; 3210 INPUT A1 3220 LET A=A1/2.04545 3230 IF A1>=0 THEN 3600 3240 IF A1>=B THEN 3300 3250 PRINT "MAXIMUM BRAKING IS ";B;"MPH/SEC" 3260 GOTO 3200 3300 LET T1=-S/A 3310 IF T1>D THEN 3500 3320 LET X1=X+S*T1+A/2*T1*T1 3330 IF X1>P(J+1) THEN 3400 3340 PRINT "YOU STOPPED";INT(P(J+1)-X1);"YARDS FROM POINT";J+1 3350 LET S=0 3360 LET X=X1 3370 LET T=T+T1 3380 GOTO 3100 3400 LET Y=P(J+1)-X 3402 IF A<>0 THEN 3410 3404 LET T=T+Y/S 3406 GOTO 3440 3410 LET S1=SQR(S*S+2*A*Y) 3420 LET T=T-(S-S1)/A 3430 LET S=S1 3440 LET J=J+1 3450 GOTO 8000 3500 LET X1=X+S*D+A/2*D*D 3510 IF X1>P(J+1) THEN 3400 3520 LET T=T+D 3530 LET S=S+A*D 3540 LET X=X1 3550 GOTO 3100 3600 IF A1 <= M THEN 3700 3610 PRINT "MAXIMUM ACCELERATION IS";M;"MPH/SEC" 3620 GOTO 3200 3700 LET X1=X+S*D+A/2*D*D 3710 IF X1>P(J+1) THEN 3400 3720 GOTO 3500 8000 REM *** SUB CURVE *** 8010 REM 8020 LET I=INT(J/2) 8030 LET T1=(P(J+1)-P(J))/S 8040 LET S1=G(I)+(F(I)-G(I))*RND(1) 8050 IF S>S1 THEN 8100 8055 PRINT "CURVE";J;-J-1;", SPEED";FNA(S);"MPH" 8060 LET J=J+1 8070 LET X=P(J) 8080 LET T=T+T1 8090 GOTO 3100 8100 IF S>S1+(F(I)-S1)/2 THEN 8200 8110 LET T2=T1*RND(1)*.4 8120 PRINT "SPEED IN CURVE";FNA(S);"MPH, TOOK CURVE WIDE, LOST"; 8125 PRINT FNT(T2);"SEC." 8130 LET T1=T1+T2 8140 GOTO 8060 8200 IF S>F(I) THEN 8300 8210 LET S2=S-S*RND(1)*.9 8220 LET T1=T1*S/S2 8230 PRINT "SPUN OUT AT";FNA(S);"MPH, LOST SPEED AND TIME" 8240 LET S=S2 8250 GOTO 8060 8300 PRINT "LOST CONTROL AT";FNA(S);"MPH. YOUR CAR CRASHED!!" 8305 PRINT "YOUR OPPONENT FINISHED IN";82/R;"SECONDS!" 8330 REM 8600 PRINT 8605 PRINT "DO YOU WISH TO TRY AGAIN"; 8610 INPUT A$ 8620 IF LEFT$(A$,1)="Y" THEN 1910 9000 REM 9010 DATA 0,800,1000,1500,1600,1900,2400,2800,3200 9020 DATA 85,100 9030 DATA 20,35 9040 DATA 90,110 9050 DATA 50,70 9060 REM 9070 DATA 0,1,3,9,21,39,62,87,120,156,196,244,293,351,410 9080 DATA 479,550,625,700,758,800,847,894,942,990,1030,1080 9090 DATA 1135,1200,1260,1330,1382,1425,1470,1490,1505,1519 9100 DATA 1539,1548,1563,1578,1512,1610,1632,1658,1683,1718 9110 DATA 1758,1800,1850,1890,1943,1997,2050,2104,2057,2210 9120 DATA 2294,2317,2370,2420,2480,2535,2600,2670,2725,2768,2799,2830 9130 DATA 2861,2892,2920,2951,2982,3013,3044,3075,3106,3137,3168,3199 9140 DATA 10000 80,2535,2600,2670,2725,2768,2799,2830 9130 DATA 2861,2892,2920,2951,2982 8220 LET T1=T1*S/S2 8230 PRINT "SPUN OUT AT";FNA(S);"MPH, LOST SPEED AND TIME" 8240 LET S=S2 8250 GOTO 8060 8300 PRINT "LOST CONTROL AT";FNA(S);"MPH. YOUR CAR CRASHED!!" 8305 PRINT "YOUR OPPONENT FINISHED IN";82/R;"SECONDS!" 8330 REM 8600 PRINT 8605 PRINT "DO YOU WISH TO TRY AGAIN"; 8610 INPUT A$ 8620 IF LEFT$(A$,1)="Y" THEN 1910 9000 REM 9010 DATA 0,800,1000,1500,1600,1900,2400,2800,3200 9020 DATA 85,100 9030 DATA 20,35 9040 DATA 90,110 9050 DATA 50,70 9060 REM 9070 DATA 0,1,3,9,21,39,62,87,120,156,196,244,293,351,410 9080 DATA 479,550,625,700,758,800,847,894,942,990,1030,1080 9090 DATA 1135,1200,1260,1330,1382,1425,1470,1490,1505,1519 9100 DATA 1539,1548,1563,1578,1512,1610,1632,1658,1683,1718 9110 DATA 1758,1800,1850,1890,1943,19910 PRINT CHR$(26):DEFINT A-Z:CLEAR 1000:L9=52:DIM S(L9+1,L9+1),M$(72) 20 Y=0:A=0:S=0:INPUT "DO YOU WANT INSTRUCTIONS";J$: IF LEFT$(J$,1)="N" THEN 290 30 PRINT CHR$(26);"THIS IS JOHN CONWAY'S GAME OF LIFE." 40 PRINT 50 PRINT"THE GAME INVOLVES CELLULAR GENERATION GROWTH. EACH CELL IS" 60 PRINT"ONE PRINTED CHARACTER. A CELL IS SURROUNDED BY EIGHT OTHER" 70 PRINT"CELLS, IN THREE DIRECTIONS: DIAGONALLY, HORIZONTALLY, AND" 80 PRINT"VERTICALLY. IN EACH GENERATION CELLS DIE AND GROW" 90 PRINT"SIMULTANEOUSLY." 100 PRINT 110 PRINT"A CELL DIES FROM OVERPOPULATION IF IT IS SURROUNDED BY MORE" 120 PRINT"THAN THREE LIVING CELLS. IT WILL ALSO DIE OF ISOLATION IF IT" 130 PRINT"HAS LESS THAN TWO CELLS SURROUNDING IT. NEW CELLS CAN BE" 140 PRINT"FORMED IN EMPTY POSITIONS ONLY; IF AND ONLY IF IT HAS THREE" 150 PRINT"CELLS AROUND IT.":PRINT:PRINT 160 INPUT "TO CONTINUE, TYPE RETURN";A$:PRINT CHR$(26) 170 PRINT"YOU WILL BE ASKED TO ENTER THE FIRST, LAST, AND THE INTERVAL" 180 PRINT"BETWEEN THE GENERATIONS TO BE PRINTED." 190 PRINT 200 PRINT"ENTER YOUR PATTERN - A LINE AT A TIME - A '*' WHERE" 210 PRINT"YOU WANT A LIVE CELL AND A ' ' (SPACE) FOR AN EMPTY ONE." 220 PRINT"MAXIMUM BOARD SIZE IS 52 BY 52." 230 PRINT 240 PRINT"WHEN YOU'RE FINISHED, TYPE IN THE WORD 'DONE'" 250 PRINT"AS YOUR LAST LINE." 260 PRINT 270 PRINT"NOTE: IF THE LIMITS ARE REACHED, IT WILL TERMINATE." 280 PRINT:PRINT:INPUT "TO CONTINUE , TYPE RETURN";A$ 290 PRINT CHR$(26) 300 INPUT"WHICH GENERATION SHALL THE PRINTING START WITH";T 310 INPUT"AND THE LAST GENERATION";R1 320 INPUT"ALSO, HOW MANY SHALL I SKIP";O 330 O=O+1 340 PRINT "ENTER PATTERN:" 350 FOR M=1 TO L9 360 LINE INPUT M$ 370 IF M$="DONE" THEN 480 380 IF LEN(M$)"*" THEN 490 430 S(M,R)=1 440 A=A+1 450 IF R>S THEN S=R 460 NEXT R 470 NEXT M 480 GOTO 520 490 PRINT"'";MID$(M$,R,1);"' IS NEITHER A ' ' NOR A '*'"; 500 PRINT"--TYPE THE LINE AGAIN":A=A-(R-1) 510 GOTO 360 520 DIM X(L9+1,L9+1) 530 IF Y<=0 THEN 550 540 GOTO 20 550 ERASE X 560 DIM X(L9+1,L9+1) 570 V=0:G=0 580 Y=M-1:N1=M-1 590 PRINT CHR$(26);"GENERATION = 0 POPULATION =";A 600 GOSUB 1020 610 G=G+1 620 A=0:V=0 630 FOR M=1 TO N1 640 FOR R=1 TO S 650 J=0 660 IF M>L9 OR R>L9 THEN 1370 670 IF X(M,R+1)<=0 OR R=S THEN 690 680 J=J+1 690 IF X(M+1,R+1)<=0 OR M=N1 OR R=S THEN 710 700 J=J+1 710 IF X(M+1,R)<=0 OR M=N1 THEN 730 720 J=J+1 730 IF M=N1 OR R=1 THEN 760 740 IF X(M+1,R-1)<=0 THEN 760 750 J=J+1 760 IF R=1 THEN 790 770 IF X(M,R-1)<=0 THEN 790 780 J=J+1 790 IF M=1 OR R=1 THEN 820 800 IF X(M-1,R-1)<=0 THEN 820 810 J=J+1 820 IF M=1 THEN 850 830 IF X(M-1,R)<=0 THEN 850 840 J=J+1 850 IF M=1 OR R=S THEN 880 860 IF X(M-1,R+1)<=0 THEN 880 870 J=J+1 880 IF J=3 THEN 900 890 IF J<>2 OR X(M,R)<=0 THEN 920 900 S(M,R)=1 910 A=A+1 920 NEXT R 930 NEXT M 940 IF A=0 THEN 1340 950 IF G=R1 THEN 970 960 IF (GINT((G-T)/O) THEN 990 970 PRINT CHR$(26);"GEN=";G;TAB(20);"POP=";A 980 GOTO 1000 990 V=9 1000 GOSUB 1020 1010 GOTO 610 1020 J=50:A=50 1030 C=0:D=0 1040 FOR M=1 TO N1 1050 FOR R=S TO 1 STEP -1 1060 IF S(M,R)<=0 THEN 1130 1070 IF MC THEN C=M 1100 IF R>D THEN D=R 1110 IF V=9 THEN 1130 1120 PRINT TAB(R);CHR$(27)+"g"+CHR$(22)+CHR$(27)+"G"+CHR$(11) 1130 NEXT R 1140 IF V=9 THEN 1160 1150 PRINT 1160 NEXT M 1170 IF G=R1 THEN 1350 1180 C=C-J+3 1190 D=D-A+3 1200 X(1,5)=3 1210 ERASE X 1220 DIM X(L9+1,L9+1) 1230 FOR M=1 TO N1 1240 FOR R=1 TO S 1250 IF S(M,R)<=0 THEN 1270 1260 X(M-J+2,R-A+2)=1 1270 NEXT R 1280 NEXT M 1290 ERASE S 1300 DIM S(L9+1,L9+1) 1310 N1=C 1320 S=D 1330 RETURN 1340 PRINT "NO MORE LIFE IN GENERATION";G 1350 PRINT "*** END OF RUN ***" 1360 GOTO 1380 1370 PRINT "CELL HAS REACHED LIMITS OF PROGRAM. PROGRAM MUST TERMINATE." 1380 PRINT 1390 INPUT "ANOTHER RUN";J$ 1400 Y=0:A=0:S=0 1410 ERASE S 1420 DIM S(L9+1,L9+1) 1430 IF LEFT$(J$,1)="Y" THEN CLEAR:L9=52:GOTO 290 1450 END R RUN";J$ 1400 Y=0:A=0:S=0 1410 ERASE S 1420 DIM S(L9+1,L9+1) 1430 IF LEFT$(J$,1)="Y" 0:D=0 1040 FOR M=1 TO N1 1050 FOR R=S TO 1 STEP -1 1060 IF S(M,R)<=0 THEN 1130 1070 IF MC THEN C=M 1100 IF R>D THEN D=R 1110 IF V=9 THEN 1130 1120 PRINT TAB(R);CHR$(27)+"g"+CHR$(22)+CHR$(27)+"G"+CHR$(11) 1130 NEXT R 1140 IF V=9 THEN 1160 1150 PRINT 1160 NEXT M 1170 IF G=R1 THEN 1350 1180 C=C-J+3 1190 D=D-A+3 1200 X(1,5)=3 1210 ERASE X 1220 DIM X(L9+1,L9+1) 1230 FOR M=1 TO N1 1240 FOR R=1 TO S 1250 IF S(M,R)<=0 THEN 1270 1260 X(M-J+2,R-A+2)=1 1270 NEXT R 1280 NEXT M 1290 ERASE S 1300 DIM S(L9+1,L9+1) 1310 N1=C 1320 S=D 1330 RETURN 1340 PRINT "NO MORE LIFE IN GENERATION";G 1350 PRINT "*** END OF RUN ***" 1360 GOTO 1380 1370 PRINT "CELL HAS REACHED LIMITS OF PROGRAM. PROGRAM MUST TERMINATE." 1380 PRINT 1390 INPUT "ANOTHER RUN";J$ 1400 Y=0:A=0:S=0 1410 ERASE S 1420 DIM S(L9+1,L9+1) 1430 IF LEFT$(J$,1)="Y" 1 REM Revised for Osborne 1 by Jim Woolley, FOG Librarian, 7/82 2 RANDOMIZE 100 PRINT:PRINT:PRINT :PRINT TAB(20)"** MASTERMIND **":PRINT 110 U$="### ! ! ! ! ! ## ##" 120 R=RND(1) 130 FOR I=1 TO 5 140 R=R*10:X$(I)=RIGHT$(STR$(INT(R)),1):R=R-INT(R) 150 NEXT I 160 PRINT:A$="00000":INPUT " INPUT A 5 DIGIT GUESS ";A$ 170 PRINT " NO. GUESS RIGHT POSITIONS RIGHT NUMBERS" 180 FOR W=12 TO 1 STEP -1 190 IF W=12 THEN PRINT:GOTO 210 200 PRINT,"GUESS";:A$="00000":INPUT A$ 210 A$=RIGHT$("00000"+A$,5) 220 FOR I=1 TO 5 230 Z$(I)=MID$(A$,I,1) 240 Y$(I)=Z$(I):L$(I)=X$(I) 250 NEXT I 260 C=0 270 FOR I=1 TO 5 280 IF Z$(I)<>L$(I) THEN 300 290 C=C+1:Z$(I)="10":L$(I)="11" 300 NEXT I 310 D=0 320 FOR I=1 TO 5 330 FOR J=1 TO 5 340 IF Z$(I)<>L$(J) THEN 360 350 D=D+1:Z$(I)="10":L$(J)="11" 360 NEXT J 370 NEXT I 380 PRINT USING U$;13-W;Y$(1);Y$(2);Y$(3);Y$(4);Y$(5);C;C+D; 390 IF C=5 THEN 440 400 NEXT W 410 PRINT:PRINT:PRINT "END OF GAME. YOU LOSE, DUMMY. THE CODE WAS "; 420 PRINT USING "! ";X$(1);X$(2);X$(3);X$(4);X$(5) 430 GOTO 450 440 PRINT:PRINT:PRINT "***** YOU WIN IN ";13-W;"GUESSES":PRINT 450 PRINT:PRINT:GOTO 100 460 END (5) 430 GOTO 450 440 PRINT:PRINT:PRINT "***** YOU WIN IN ";13STR$(INT(R)),1):R=R-INT(R) 150 NEXT I 160 PRINT:A$="00000":INPUT " INPUT A 5 DIGIT GUESS ";A$ 170 PRINT " NO. GUESS RIGHT POSITIONS RIGHT NUMBERS" 180 FOR W=12 TO 1 STEP -1 190 IF W=12 THEN PRINT:GOTO 210 200 PRINT,"GUESS";:A$="00000":INPUT A$ 210 A$=RIGHT$("00000"+A$,5) 220 FOR I=1 TO 5 230 Z$(I)=MID$(A$,I,1) 240 Y$(I)=Z$(I):L$(I)=X$(I) 250 NEXT I 260 C=0 270 FOR I=1 TO 5 280 IF Z$(I)<>L$(I) THEN 300 290 C=C+1:Z$(I)="10":L$(I)="11" 300 NEXT I 310 D=0 320 FOR I=1 TO 5 330 FOR J=1 TO 5 340 IF Z$(I)<>L$(J) THEN 360 350 D=D+1:Z$(I)="10":L$(J)="11" 360 NEXT J 370 NEXT I 380 PRINT USING U$;13-W;Y$(1);Y$(2);Y$(3);Y$(4);Y$(5);C;C+D; 390 IF C=5 THEN 440 400 NEXT W 410 PRINT:PRINT:PRINT "END OF GAME. YOU LOSE, DUMMY. THE CODE 120 PRINT"************* Q U E S T ******************* 130 PRINT:PRINT:PRINT 140 PRINT" YOU WERE WALKING THROUGH THE WOODS ONE DAY AND YOU 150 PRINT"CAME ACROSS THE ENTRANCE OF A CAVE, COVERED WITH BRUSH. 160 PRINT 170 PRINT" PEOPLE SAY THAT MANY YEARS AGO A PIRATE HID HIS 180 PRINT"TREASURE IN THESE WOODS, BUT NO ONE HAS EVER FOUND IT. 190 PRINT"IT MAY STILL BE HERE, FOR ALL I KNOW. 200 REM THIS PROGRAM WAS TAKEN FROM THE JULY 1979 BYTE MAG. 210 REM BY LEE DUSBABEK FOR THE FAMOUS SKIP HANSON (WB6YMH) 400 READ M9,T1,T2 500 DIM W(42),M(6,42) 520 FOR I=1 TO M9 530 READ N 540 IF I=N THEN 570 550 PRINT"DATABASE PROBLEM"I,N 560 STOP 570 FOR J=1 TO 6 580 READ M(J,I) 590 NEXT J 600 NEXT I 900 PRINT 905 PRINT"WHEN YOU ANSWER A QUESTION, I LOOK AT ONLY 906 PRINT"THE FIRST LETTER, ALTHOUGH YOU CAN TYPE IN 907 PRINT"THE WHOLE WORD IF YOU WANT TOO. 920 GOSUB 7500 1000 REM 1010 N=5 1020 M0=0 1030 M6=0 1040 T=T1 1050 P=0 1060 P1=0 1070 FOR J=1 TO M9 1080 W(J)=0 1090 NEXT J 1100 PRINT 1120 GOSUB 8000 1400 REM 1420 M0=M0+1 1440 GOSUB 6000 1460 GOSUB 2000 1480 GOSUB 4000 1500 IF T>0 THEN 1400 1510 IF N<>5 THEN 1400 1710 GOSUB 3000 1720 PRINT 1730 PRINT" CONGRATULATIONS!! YOU GOT THE TREASURE 1740 PRINT"OUT IN";M0; 1750 PRINT"MOVES AND YOU GOT"S+10"POINTS!" 1760 PRINT"WANT TO HUNT AGAIN?"; 1770 A$="YN" 1771 A2=2 1780 GOSUB 5000 1790 ON A1 GOTO 1000,9999,1760 2000 REM 2100 IF T<>N THEN RETURN 2110 IF T<0 THEN RETURN 2120 IF M6+5>M0 THEN RETURN 2200 PRINT" DO YOU WANT TO TAKE IT WITH YOU"; 2210 A$="YN" 2220 A2=2 2230 GOSUB 5000 2240 ON A1 GOTO 2300,2400 2250 PRINT"WELL?....." 2260 GOTO 2210 2300 T=-1 2310 PRINT 2320 PRINT"OK, LETS GET OUT OF HERE!" 2330 RETURN 2400 PRINT 2410 PRINT"WE'LL LEAVE IT HERE AND YOU CAN EXPLORE SOME MORE." 2430 M6=M0 2440 RETURN 3000 REM 3020 S=0 3030 IF T=-1 THEN S=S+5 3040 IF P=1 THEN S=S+10 3050 FOR J=2 TO M9 3060 S=S+W(J) 3070 NEXT J 3080 RETURN 4000 REM 4020 IF N=T2 THEN RETURN 4030 IF P=1 THEN RETURN 4040 IF T1=T2 THEN RETURN 4050 IF T<>-1 THEN RETURN 4070 IF N=16 THEN P=160 4090 IF P1>0 THEN P1=P1+1 4100 IF N=3 THEN P1=P1+1 4120 IF P1<15 THEN RETURN 4130 PRINT 4140 PRINT"SUDDENLY THE PIRATE LEAPS OUT OF THE 4150 PRINT"GLOOM AND GRABS THE TREASURE FROM YOU! 4160 PRINT"'HAH!', HE SHOUTS, 'YOU FOUND MY 4170 PRINT"TREASURE, DID YOU?! WELL, I'LL HIDE 4180 PRINT"IT BETTER THIS TIME!'" 4190 PRINT"AND HE DISAPPEARS INTO THE DARKNESS 4200 PRINT"WITH THE TREASURE. 4210 P=1 4220 T=T2 4230 RETURN 5000 REM 5070 INPUT Q$ 5090 Q$=LEFT$(Q$,1) 5120 FOR A1=1 TO A2 5121 IF Q$=MID$(A$,A1,1) THEN RETURN 5140 NEXT A1 5150 A1=A2+1 5160 RETURN 6000 REM 6030 N9=N 6050 N8=0 6070 GOSUB 7000 6090 IF N=1 THEN 6120 6100 N0=N 6110 A0=A1 6120 PRINT 6130 I=M(A1,N) 6200 IF I=-2 THEN I=N9 6210 IF D<>0 THEN PRINT"DEBUG";N;"TO";I 6220 IF I<500 THEN 6300 6240 I=I-500 6250 FOR J=0 TO 100 6260 NEXT J 6270 GOTO 6200 6300 ON I/100 GOTO 6340,6370 6320 N=I 6330 GOTO 6400 6340 REM 6350 N=I-100 6355 IF T=-1 THEN N=N+1 6360 GOTO 6400 6370 REM 6380 N=I-200 6390 IF T=-1 THEN N=N+P 6400 IF N<>1 THEN 6500 6420 FOR J=1 TO 6 6430 M(J,N)=2 6440 NEXT J 6450 M(7-A0,N)=N0 6500 REM 6510 IF N8<>2 THEN GOSUB 8000 6530 W(N)=1 6540 N8=N 6600 IF M(1,N)<>-2 THEN 6800 6660 I=M(6,N) 6670 J=-1 6680 IF M(4,N)>100*RND(0) THEN I=M(5,N) 6690 J=-1 6700 IF M(2,N)>100*RND(0) THEN I=M(3,N) 6710 IF D<>0 THEN PRINT" DEBUG BOUNCE TO";I 6730 GOTO 6200 6800 RETURN 7000 REM 7100 PRINT 7110 PRINT" WHICH WAY"; 7120 A$="NEUDWSP" 7130 A2=7 7140 GOSUB 5000 7150 IF A1<8 THEN 7300 7160 PRINT"WHICH WAY PO YOU WANT TO GO?" 7180 GOSUB 7500 7200 GOSUB 8000 7210 GOTO 7100 7300 IF A1<7 THEN 7400 7320 GOSUB 3000 7330 PRINT"YOU HAVE"S"POINTS!" 7350 GOTO 7100 7400 RETURN 7500 REM 7520 PRINT 7530 PRINT"TYPE N,S,E,W, U OR D FOR NORTH, SOUTH," 7550 PRINT"EAST, WEST, UP OR DOWN. TYPE P FOR SCORE" 7560 PRINT 7570 RETURN 8000 REM 8050 I=INT(N/5) 8060 J=N-5*I+1 8100 ON I+1 GOTO 8200,8210,8220,8230,8240,8250,8260,8270,8280,8290 8200 ON J GOTO 9000,9010,9020,9030,9040 8210 ON J GOTO 9050,9060,9070,9080,9090 8220 ON J GOTO 9100,9110,9120,9130,9140 8230 ON J GOTO 9150,9160,9170,9180,9190 8240 ON J GOTO 9200,9210,9220,9230,9240 8250 ON J GOTO 9250,9260,9270,9280,9290 8260 ON J GOTO 9300,9310,9320,9330,9340 8270 ON J GOTO 9350,9360,9370,9380,9390 8280 ON J GOTO 9400,9410,9420,9430,9440 8290 ON J GOTO 9450,9460,9470,9480,9490 8400 IF T<>N THEN 8500 8410 PRINT 8420 PRINT" THE TREASURE IS HERE!!!!" 8500 IF T<>T2 THEN 8600 8510 IF T1=T2 THEN 8600 8520 IF T1<>N THEN 8600 8530 PRINT 8540 PRINT"A NOTE ON THE WALL SAYS PIRATES NEVER LEAVE 8550 PRINT"THEIR TREASURE TWICE IN THE SAME PLACE!" 8600 RETURN 9000 REM 9003 DATA 42,23,12 9010 DATA 1,0,0,0,0,0,0 9011 PRINT"YOU'RE AT A DEAD END!" 9012 GOTO 8400 9020 DATA 2,-2,101,-2,0,0,0 9021 PRINT"YOU CAN'T GO IN THAT DIRECTION" 9022 PRINT 9023 GOTO 8400 9030 DATA 3,33,2,1,10,106,4 9031 PRINT"A TUNNEL GOES NORTH-SOUTH." 9032 PRINT"THERE IS AN OPENING TO THE WEST. 9037 GOTO 8400 9040 DATA 4,3,30,2,11,2,1 9041 PRINT"YOU'RE ON THE BRINK OF A PIT. 9047 GOTO 8400 9050 DATA 5,8,8,15,10,8,16 9051 PRINT"YOU'RE OUTSIDE THE CAVE. 9052 PRINT"GO SOUTH TO ENTER. 9053 GOTO 8400 9060 DATA 6,16,3,2,10,2,2 9061 PRINT"YOU'RE AT THE HOME OF THE GNOME-KING. 9062 PRINT"FORTUNATELY, HE'S GONE FOR THE DAY. 9067 GOTO 8400 9070 DATA 7,-2,101,-2,0,0,0 9071 PRINT"THE GNOME KING IS HERE! 9072 PRINT"YOU'D BETTER GET OUT! 9073 PRINT 9077 GOTO 8400 9080 DATA 8,18,18,15,10,18,9 9081 PRINT"YOU'RE LOST IN THE WOODS. 9087 GOTO 8400 9090 DATA 9,-2,33,5,1,0,-2 9097 GOTO 8400 9100 DATA 10,-2,101,-2,0,0,0 9101 PRINT"YOU'RE NOT GOING TO GET FAR, DIGGING 9102 PRINT"THROUGH ROCK. 9103 PRINT 9104 GOTO 8400 9110 DATA 11,1,13,4,2,1,2 9111 PRINT"YOU'RE AT THE BOTTOM OF A PIT. A LITTLE 9112 PRINT"STREAM FLOWS OVER THE ROCKS HERE. 9113 GOTO 8400 9120 DATA 12,36,2,1,2,1,2 9121 PRINT"YOU'RE AT A DEAD END! 9122 GOTO 8400 9130 DATA 13,2,37,2,1,11,14 9131 PRINT"YOU'RE AT A WIDE SPOT. THERE IS A SOOTY PATCH 9132 PRINT"WHERE SOMEBODY HAS RESTED A TORCH AGAINST THE WALL. 9133 PRINT"THERE ARE JAGGED ROCKS ABOVE YOU. 9134 GOTO 8400 9140 DATA 14,13,1,19,2,31,31 9142 PRINT"YOU'RE IN A CANYON. HIGH ON THE WALL ABOVE YOU 9144 PRINT"IS SCRATCHED THE MESSAGE 'BILBO WAS HERE' 9146 GOTO 8400 9150 DATA 15,-2,101,-2,0,0,0 9152 PRINT"YOU'RE NOT A BIRD. YOU CAN'T FLY! 9154 PRINT 9156 GOTO 8400 9160 DATA 16,5,33,2,10,1,106 9162 PRINT"YOU'RE IN A LOW CHAMBER. A TIGHT TUNNEL GOES 9164 PRINT"EAST, AND YOU CAN WALK TO THE SOUTH OR WEST. 9166 PRINT"THERE IS LIGHT TO THE NORTH. 9168 GOTO 8400 9170 DATA 17,-2,101,-2,0,0,0 9172 PRINT"IT'S A TIGHT SQUEEZE. YOU CAN'T GET PAST 9174 PRINT"WITH THE TREASURE. 9176 PRINT 9178 GOTO 8400 9180 DATA 18,-2,101,8,0,0,0 9182 PRINT"I DON'T THINK YOU CAN FIND THE CAVE. 9184 GOTO 8400 9190 DATA 19,224,2,2,14,1,42 9192 PRINT"YOU'RE AT THE TOP OF A CLIMB. 9194 PRINT"BELOW YOU A MESSAGE SAYS 9196 PRINT" 'BILBO WAS HERE' 9198 GOTO 8400 9200 DATA 20,226,1,2,2,25,2 9202 PRINT"YOU'RE AT THE NORTH SIDE OF A CHASM, 9204 PRINT"TOO WIDE TO JUMP. RINGING ECHOES FROM 9206 PRINT"BELOW ARE THE ONLY INDICATION OF DEPTH. 9208 GOTO 8400 9210 DATA 21,1,226,2,2,38,25 9212 PRINT"YOU'RE IN XANADU. BELOW YOU ALPH, THE SACRED 9214 PRINT"RIVER RUNS THROUGH CAVERNS MEASURELESS TO MAN, 9216 PRINT"DOWN TO A SUNLESS SEA. 9218 GOTO 8400 9220 DATA 22,-2,33,13,50,29,30 9222 GOTO 8500 9230 DATA 23,2,1,2,31,2,2 9232 PRINT"YOU'RE ON THE LEDGE ABOVE THE GUILLOTINE ROOM. 9234 GOTO 8400 9240 DATA 24,-2,101,19,0,0,0 9242 PRINT"I HEAR THE GIANT THERE!!! 9244 PRINT"YOU'D BETTER GO BACK! 9246 PRINT 9248 GOTO 8400 9250 DATA 25,21,20,2,2,1,19 9252 PRINT"YOU'RE IN THE GIANT'S CAVERN. BETTER 9254 PRINT"NOT BE HERE WHEN THE GIANT COMES! 9256 GOTO 8400 9260 DATA 26,-2,65,-2,50,11,14 9262 PRINT"YOU'RE IN THE QUEST RESEARCH AND DEVELOPMENT AREA. 9264 PRINT 9266 PRINT"I'M SORRY BUT VISITORS ARE NOT ALLOWED. YOU'LL HAVE 9268 PRINT"TO LEAVE.":PRINT:GOTO 8400 9270 DATA 27,2,40,2,2,21,20 9272 PRINT"YOU'RE IN THE CRYSTAL PALACE. THE WALLS RESONATE 9274 PRINT"WTH AWESOME MUSIC. 9280 DATA 28,-2,60,221,50,14,19 9282 GOTO 8400 9290 DATA 29,2,42,2,13,1,1 9292 PRINT"YOU'RE AT THE TOP OF A GIANT STALACTITE. 9294 PRINT"YOU COULD SLIDE DOWN, BUT YOU COULDN'T 9296 PRINT"CLIMB BACK UP. 9298 GOTO 8400 9300 DATA 30,34,34,2,1,4,2 9302 PRINT"YOU'RE IN A LITTLE GROTTO. THERE IS A 9304 PRINT"BOOK HERE CALLED JANE'S FIGHTING SHIPS, 9306 PRINT"DATED 1763. 9308 GOTO 8400 9310 DATA 31,14,14,23,2,1,2 9312 PRINT"YOU'RE IN THE GUILLOTINE ROOM. A SHARP 9314 PRINT"ROCK BALANCES PRECARIOUSLY ON THE 9316 PRINT"LEDGE ABOVE YOU. 9318 GOTO 8400 9320 DATA 32,-2,101,516,0,0,0 9322 PRINT"YOU'RE IN A CHUTE, SCRAMBLING DOWN THE 9324 PRINT"ROCKS! NO WAY TO STOP!!! HANG ON! 9326 PRINT 9328 GOTO 8400 9330 DATA 33,2,1,2,1,116,3 9332 PRINT"THE TIGHT TUNNEL TURNS A CORNER. 9334 GOTO 8400 9340 DATA 34,1,35,2,1,30,30 9342 PRINT"YOU'RE IN A LITTLE TWISTY MAZE 9344 GOTO 8400 9350 DATA 35,2,1,2,37,34,36 9352 PRINT"YOU'RE IN A LITTLE TWISTING MAZE. 9354 GOTO 8400 9360 DATA 36,35,2,1,37,34,12 9362 PRINT"YOU'RE IN A TWISTING LITTLE MAZE. 9364 GOTO 8400 9370 DATA 37,2,1,35,2,13,2 9372 PRINT"YOU'RE IN A TWISTY LITTLE MAZE. 9374 GOTO 8400 9380 DATA 38,2,21,2,116,1,2 9381 PRINT"YOU'RE IN A PREHISTORIC DWELLING. ON 9382 PRINT"THE WALL ARE DRAWINGS OF BISON DONE IN 9383 PRINT"RED CLAY. THE FLOOR IS STREWN WITH 9384 PRINT"BONES, THE REMAINS OF ANCIENT RITUALS. 9385 PRINT"A SMALL TUNNEL GOES THROUGH THE FLOOR. 9387 GOTO 8400 9390 DATA 39,2,40,2,32,21,26 9392 PRINT"YOU'RE IN A BLACK HOLE. THE 9394 PRINT"FORCE OF GRAVITY IS OVERWHELMING. 9396 GOTO 8400 9400 DATA 40,40,40,2,2,40,41 9402 PRINT"YOU'RE IN THE LABYRINTHE. 9404 GOTO 8400 9410 DATA 41,40,40,40,2,40,39 9412 PRINT"YOU'RE IN THE LABYRINTHE. 9414 PRINT"IT'S VERY DARK IN HERE. 9416 GOTO 8400 9420 DATA 42,28,28,28,28,28,28 9422 PRINT"YOU'RE IN THE ASHRAM. INCENSE IS HEAVY 9424 PRINT"IN  THE AIR, AND ALL DIRECTIONS 9426 PRINT"SEEM THE SAME. 9428 GOTO 8400 9999 END THE ASHRAM. INCENSE IS HEAVY 9424 PRINT"IN,2,1,37,34,12 9362 PRINT"YOU'RE IN A TWISTING LITTLE MAZE. 9364 GOTO 8400 9370 DATA 37,2,1,35,2,13,2 9372 PRINT"YOU'RE IN A TWISTY LITTLE MAZE. 9374 GOTO 8400 9380 DATA 38,2,21,2,116,1,2 9381 PRINT"YOU'RE IN A PREHISTORIC DWELLING. ON 9382 PRINT"THE WALL ARE DRAWINGS OF BISON DONE IN 9383 PRINT"RED CLAY. THE FLOOR IS STREWN WITH 9384 PRINT"BONES, THE REMAINS OF ANCIENT RITUALS. 9385 PRINT"A SMALL TUNNEL GOES THROUGH THE FLOOR. 9387 GOTO 8400 9390 DATA 39,2,40,2,32,21,26 9392 PRINT"YOU'RE IN A BLACK HOLE. THE 9394 PRINT"FORCE OF GRAVITY IS OVERWHELMING. 9396 GOTO 8400 9400 DATA 40,40,40,2,2,40,41 9402 PRINT"YOU'RE IN THE LABYRINTHE. 9404 GOTO 8400 9410 DATA 41,40,40,40,2,40,39 9412 PRINT"YOU'RE IN THE LABYRINTHE. 9414 PRINT"IT'S VERY DARK IN HERE. 9416 GOTO 8400 9420 DATA 42,28,28,28,28,28,28 9422 PRINT"YOU'RE IN THE ASHRAM. INCENSE IS HEAVY 9424 PRINT"IN10 REM THE GAME OF STAR LANES - AN INTERSTELLAR COMMERCE GAME 20 REM FOR 2-4 PLAYERS 30 REM 31 A$=CHR$(4) 32 PRINT A$ 40 PRINT CHR$(12):PRINT :PRINT :PRINT TAB(10)"* S * T * A * R **"; 45 DIM B(5) 50 PRINT "L * A * N * E * S *" 60 DIM M(10,13),S(5,4),N$(5),D1(5),S1(5),Q(5),R(5) 70 M$(5)="ERIDANI EXPEDITERS":FOR I=1 TO 5:FOR J=1 TO 4:S(I,J)=0 75 D1(I)=0:S1(I)=100:Q(I)=0:B(I)=6000:NEXT J,I 80 M$(3)="CAPELLA FREIGHT CO.":M$(4)="DENEBOLA SHIPPERS" 90 M$(1)="ALTAIR STARWAYS":M$(2)="BEETLEJUICE, LTD." 95 RANDOMIZE 100 L$=".+*ABCDE":M$="ABCDEFGHIJKL":FOR I=1 TO 9:FOR J=1 TO 12 110 IF INT(RND(1)*20)+1<>10 THEN M(I,J)=1:GOTO 130 120 M(I,J)=3 130 NEXT J,I:INPUT "HOW MANY PLAYERS (2-4)";P1 140 INPUT "DOES ANY PLAYER NEED INSTRUCTIONS";R$ 150 IF LEFT$(R$,1)="Y" THEN GOSUB 8000 160 FOR I=1 TO P1:PRINT "PLAYER";I;:INPUT "WHAT IS YOUR NAME";P$(I) 170 NEXT I:PRINT :PRINT "NOW I WILL DECIDE WHO GOES FIRST...":PRINT 180 I=INT(P1*RND(1)+1):PRINT P$(I);" IS THE FIRST PLAYER TO MOVE" 190 P=I:GOTO 220 200 SUM=0:FOR I=1 TO 5:SUM=SUM+Q(I):NEXT I:IF SUM>=88 THEN 9500 210 P=P+1:IF P=P1+1 THEN P=1 220 FOR I=1 TO 5 230 R(I)=INT(9*RND(1)+1):C(I)=INT(12*RND(1)+1) 240 FOR I1=I-1 TO 0 STEP-1:IF R(I)=R(I1) AND C(I)=C(I1) THEN 230 250 NEXT I1:IF M(R(I),C(I)) > 1 THEN 230 260 FOR I1=1 TO 5:IF Q(I1) = 0 THEN 340 270 NEXT I1:IF M(R(I),C(I)+1) > 3 OR M(R(I),C(I)-1) > 3 THEN 340 280 IF M(R(I)+1,C(I)) > 3 OR M(R(I)-1,C(I)) > 3 THEN 340 290 A1=M(R(I),C(I)+1):A2=M(R(I)-1,C(I)) 300 A3=M(R(I)+1,C(I)):A4=M(R(I),C(I)-1) 310 IF A1=2 AND A2<4 AND A3<4 AND A4<4 THEN 230 315 IF A2=2 AND A1<4 AND A3<4 AND A4<4 THEN 230 320 IF A3=2 AND A1<4 AND A2<4 AND A4<4 THEN 230 325 IF A4=2 AND A1<4 AND A2<4 AND A3<4 THEN 230 330 IF A1=3 AND A2<4 AND A3<4 AND A4<4 THEN 230 335 IF A2=3 AND A1<4 AND A3<4 AND A4<4 THEN 230 336 IF A3=3 AND A1<4 AND A2<4 AND A4<4 THEN 230 340 NEXT I:GOSUB 1000:PRINT 350 PRINT P$(P); ", HERE ARE YOUR LEGAL MOVES FOR THIS TURN:" 360 FOR I=1 TO 5:PRINT R(I);MID$(M$,C(I),1);"/";:NEXT I:PRINT 370 INPUT "WHAT IS YOUR MOVE";R$ 371 IF LEFT$(R$,1)="M" THEN MP=1:GOSUB 1000:MP=0:GOTO 350 372 IF LEFT$(R$,1)="S" THEN GOSUB 1440:GOTO 350 375 R=VAL(LEFT$(R$,1)) 380 C=ASC(RIGHT$(R$,1))-64:FOR I=1 TO 5:IF R=R(I) AND C=C(I) THEN 400 390 NEXT I:PRINT "THAT SPACE WAS NOT INCLUDED IN THE LIST...":GOTO 370 400 A1=M(R-1,C):A2=M(R+1,C):A3=M(R,C+1):A4=M(R,C-1) 410 IF A1<=1 AND A2<=1 AND A3<=1 AND A4<=1 THEN M(R,C)=2:GOTO 800 420 IF A1>3 AND A2>3 AND A1<>A2 THEN GOSUB 1060 430 IF A1>3 AND A3>3 AND A1<>A3 THEN GOSUB 1060 440 IF A1>3 AND A4>3 AND A1<>A4 THEN GOSUB 1060 450 IF A2>3 AND A3>3 AND A3<>A2 THEN GOSUB 1060 460 IF A2>3 AND A4>3 AND A2<>A4 THEN GOSUB 1060 470 IF A3>3 AND A4>3 AND A3<>A4 THEN GOSUB 1060 480 IF A1<4 AND A2<4 AND A3<4 AND A4<4 THEN 660 490 IF M(R,C)>3 THEN 800 500 IF A1>3 THEN I=A1-3 510 IF A2>3 THEN I=A2-3 520 IF A3>3 THEN I=A3-3 530 IF A4>3 THEN I=A4-3 540 Q(I)=Q(I)+1:S1(I)=S1(I)+100:M(R,C)=I+3:GOTO 700 660 FOR I=1 TO 5:IF Q(I)=0 THEN 680 670 NEXT I:IF M(R,C)<3 THEN M(R,C)=2:GOTO 800 680 GOSUB 7900:PRINT "A NEW SHIPPING COMPANY HAS BEEN FORMED" 690 PRINT "ITS NAME IS ";M$(I):S(I,P)=S(I,P)+5:Q(I)=1 695 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT 700 IF A1=3 THEN S1(I)=S1(I)+500 710 IF A2=3 THEN S1(I)=S1(I)+500 720 IF A3=3 THEN S1(I)=S1(I)+500 730 IF A4=3 THEN S1(I)=S1(I)+500 740 IF A1=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R-1,C)=I+3 750 IF A2=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R+1,C)=I+3 760 IF A3=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R,C+1)=I+3 770 IF A4=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R,C-1)=I+3 780 IF S1(I)>=3000 THEN T1=I:GOSUB 1400 790 M(R,C)=I+3 800 FOR I=1 TO 5:B(P)=B(P)+INT(.05*S(I,P)*S1(I)):NEXT I 810 FOR I=1 TO 5:IF Q(I)=0 THEN 900 820 PRINT "YOUR CURRENT CASH EQUALS $";B(P) 830 PRINT "BUY HOW MANY SHARES OF ";M$(I);" AT $";S1(I):PRINT TAB(5); 840 PRINT "YOU NOW OWN";S(I,P);" YOU CAN BUY ";B(P)\S1(I);" SHARES." 850 INPUT R3$:IF LEFT$(R3$,1)="M" THEN R3$="":GOSUB 1000:GOTO 830 855 IF LEFT$(R3$,1)="S" THEN R3$="":GOSUB 1440:GOTO 830 856 R3=VAL(R3$):R3$="" 86!0 IF R3*S1(I)<=B(P) THEN 880 870 PRINT "YOU ONLY HAVE $";B(P);"-TRY AGAIN":GOTO 830 880 IF R3=0 THEN 900 890 S(I,P)=S(I,P)+R3:B(P)=B(P)-(R3*S1(I)) 900 NEXT I:GOTO 200 1000 PRINT A$:PRINT TAB(22)"MAP OF THE GALAXY" 1005 IF MP=1 THEN LPRINT:LPRINT:LPRINT TAB(22)"MAP OF THE GALAXY" 1010 PRINT TAB(21)"*******************" 1015 IF MP=1 THEN LPRINT TAB(21)"*******************" 1020 PRINT TAB(12)" A B C D E F G H I J K L" 1025 IF MP=1 THEN LPRINT TAB(12)" A B C D E F G H I J K L" 1030 FOR R2=1 TO 9:PRINT TAB(9)R2;:FOR C2=1 TO 12:PRINT " "; 1031 PRINT MID$(L$,M(R2,C2),1);" ";:NEXT C2:PRINT:NEXT R2 1034 IF MP=0 THEN 1050 1035 IF MP=1 THEN FOR R2=1 TO 9:LPRINT TAB(9)R2;:FOR C2=1 TO 12:LPRINT " "; 1036 LPRINT MID$(L$,M(R2,C2),1);" ";:NEXT C2:LPRINT:NEXT R2 1040 LPRINT:LPRINT 1050 RETURN 1060 F1=A1-3:IF F1<0 THEN F1=0 1061 F2=A2-3:IF F2<0 THEN F2=0 1062 F3=A3-3:IF F3<0 THEN F3=0 1063 F4=A4-3:IF F4<0 THEN F4=0 1065 T=Q(F1):T1=F1:IF Q(F2)>Q(F1) THEN T=Q(F2):T1=F2 1070 IF Q(F3)>T THEN T=Q(F3):T1=F3 1080 IF Q(F4)>T THEN T=Q(F4):T1=F4 1090 IF F1=T1 OR A1<4 THEN 1110 1100 X=F1:GOSUB 1180 1110 IF F2=T1 OR A2<4 THEN 1130 1120 X=F2:GOSUB 1180 1130 IF F3=T1 OR A3<4 THEN 1150 1140 X=F3:GOSUB 1180 1150 IF F4=T1 OR A4<4 THEN 1170 1160 X=F4:GOSUB 1180 1170 RETURN 1180 GOSUB 7900:PRINT M$(X);" HAS JUST BEEN MERGED INTO " ; 1190 PRINT M$(T1);"!":PRINT "PLEASE NOTE THE FOLLOWING TRANSACTIONS." 1200 PRINT :PRINT TAB(4)"OLD STOCK = ";M$(X);" NEW STOCK = "; 1210 PRINT M$(T1):PRINT 1220 PRINT "PLAYER";TAB(10)"OLD STOCK";TAB(22)"NEW STOCK";TAB(34); 1230 PRINT "TOTAL HOLDINGS";TAB(53)"BONUS PAID" 1240 TS=0:FOR I1=1 TO P1:TS=TS+S(X,I1):NEXT I1:IF TS=0 THEN TS=1 1250 FOR I=1 TO P1:NS=INT((.5*S(X,I))+.5):TH=S(T1,I)+NS:BO=INT(10*((S(X,I)/TS)*S1(X))) 1260 PRINT P$(I);TAB(10)S(X,I);TAB(22)NS;TAB(34)TH;TAB(53)" $";BO 1270 S(T1,I)=TH:B(I)=B(I)+BO 1280 NEXT I 1310 FOR I=1 TO 9:FOR J=1 TO 12:IF M(I,J)=X+3 THEN M(I,J)=T1+3 1315 NEXT J,I 1320 Q(T1)=Q(T1)+Q(X):S1(T1)=S1(T1)+S1(X) 1340 S1(X)=100:Q(X)=0:FOR I=1 TO P1:S(X,I)=0:NEXT I 1350 PRINT :PRINT :PRINT :PRINT :PRINT 1360 M(R,C)=T1+3:Q(T1)=Q(T1)+1:GOSUB 9600 1365 IF S1(T1)>3000 THEN GOSUB 1400 1370 RETURN 1400 GOSUB 7900:PRINT "THE STOCK OF "; 1410 PRINT M$(T1);" HAS SPLIT 2 FOR 1!":S1(T1)=INT((S1(T1)/2+.5)) 1415 PRINT :PRINT :PRINT :PRINT 1420 FOR I1=1 TO P1:S(T1,I1)=2*S(T1,I1):NEXT I1 1425 GOSUB 9600 1430 RETURN 1440 PRINT CHR$(12):PRINT 1445 LPRINT:LPRINT:LPRINT"PLAYER ";P$(P) 1450 PRINT "STOCK";TAB(30)"PRICE PER SHARE";TAB(50)"YOUR HOLDINGS" 1455 LPRINT "STOCK";TAB(30)"PRICE PER SHARE";TAB(50)"YOUR HOLDINGS" 1460 FOR I3=1 TO 5:IF S1(I3)=100 THEN 1480 1470 PRINT M$(I3);TAB(30)S1(I3);TAB(50)S(I3,P) 1475 LPRINT M$(I3);TAB(30)S1(I3);TAB(50)S(I3,P) 1480 NEXT I3:LPRINT:LPRINT:LPRINT:LPRINT:RETURN 7900 PRINT TAB(22)"SPECIAL ANNOUNCEMENT!!":PRINT 7910 RETURN 8000 PRINT "NO INSTRUCTIONS YET":INPUT R3$:RETURN 9500 GOSUB 7900:PRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9501 LPRINT:LPRINT:LPRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9505 PRINT:LPRINT 9510 PRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND "; 9515 LPRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND"; 9520 PRINT TAB(50)"NET WORTH":PRINT 9525 LPRINT TAB(50)"NET WORTH":LPRINT 9530 FOR I=1 TO P1:FOR J=1 TO 5:D1(I)=D1(I)+(S1(J)*S(J,I)):NEXT J,I 9540 FOR I=1 TO P1:PRINT P$(I);TAB(10)"$";D1(I);TAB(33)"$";B(I); 9550 PRINT TAB(50)"$";D1(I)+B(I):NEXT I 9555 FOR I=1 TO P1:LPRINT P$(I);TAB(10)"$";D1(I);TAB(33)"$";B(I); 9556 LPRINT TAB(50)"$";D1(I)+B(I):NEXT I 9557 LPRINT CHR$(12) 9560 INPUT "ANOTHER GAME";R$:IF LEFT$(R$,1)="Y" THEN 70 9565 END 9600 INPUT "HIT 'RETURN' TO CONTINUE ",Z$:RETURN CHR$(12) 9560 INPUT "ANOTHER GAME";R$:IF LEFT$(R$,1)="NT:LPRINT:LPRINT:LPRINT:RETURN 7900 PRINT TAB(22)"SPECIAL ANNOUNCEMENT!!":PRINT 7910 RETURN 8000 PRINT "NO INSTRUCTIONS YET":INPUT R3$:RETURN 9500 GOSUB 7900:PRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9501 LPRINT:LPRINT:LPRINT "THE GAME 10 REM THE GAME OF STAR LANES - AN INTERSTELLAR COMMERCE GAME 20 REM FOR 2-4 PLAYERS 30 REM 31 A$=CHR$(26) 32 PRINT A$ 40 PRINT CHR$(12):PRINT :PRINT :PRINT TAB(10)"* S * T * A * R **"; 45 DIM B(5) 50 PRINT "L * A * N * E * S *" 60 DIM M(10,13),S(5,4),N$(5),D1(5),S1(5),Q(5),R(5) 70 M$(5)="ERIDANI EXPEDITERS":FOR I=1 TO 5:FOR J=1 TO 4:S(I,J)=0 75 D1(I)=0:S1(I)=100:Q(I)=0:B(I)=6000:NEXT J,I 80 M$(3)="CAPELLA FREIGHT CO.":M$(4)="DENEBOLA SHIPPERS" 90 M$(1)="ALTAIR STARWAYS":M$(2)="BEETLEJUICE, LTD." 95 RANDOMIZE 100 L$=".+*ABCDE":M$="ABCDEFGHIJKL":FOR I=1 TO 9:FOR J=1 TO 12 110 IF INT(RND(1)*20)+1<>10 THEN M(I,J)=1:GOTO 130 120 M(I,J)=3 130 NEXT J,I:INPUT "HOW MANY PLAYERS (2-4)";P1 140 INPUT "DOES ANY PLAYER NEED INSTRUCTIONS";R$ 150 IF LEFT$(R$,1)="Y" THEN IP=1: GOSUB 8000 160 FOR I=1 TO P1:PRINT "PLAYER";I;:INPUT "WHAT IS YOUR NAME";P$(I) 170 NEXT I:PRINT :PRINT "NOW I WILL DECIDE WHO GOES FIRST...":PRINT 180 I=INT(P1*RND(1)+1):PRINT P$(I);" IS THE FIRST PLAYER TO MOVE" 185 FOR II=1 TO" 1000:NEXT II 190 P=I:GOTO 220 200 SUM=0:FOR I=1 TO 5:SUM=SUM+Q(I):NEXT I:IF SUM>=70 THEN 9500 210 P=P+1:IF P=P1+1 THEN P=1 220 FOR I=1 TO 5 230 R(I)=INT(9*RND(1)+1):C(I)=INT(12*RND(1)+1) 240 FOR I1=I-1 TO 0 STEP-1:IF R(I)=R(I1) AND C(I)=C(I1) THEN 230 250 NEXT I1:IF M(R(I),C(I)) > 1 THEN 230 260 FOR I1=1 TO 5:IF Q(I1) = 0 THEN 340 270 NEXT I1:IF M(R(I),C(I)+1) > 3 OR M(R(I),C(I)-1) > 3 THEN 340 280 IF M(R(I)+1,C(I)) > 3 OR M(R(I)-1,C(I)) > 3 THEN 340 290 A1=M(R(I),C(I)+1):A2=M(R(I)-1,C(I)) 300 A3=M(R(I)+1,C(I)):A4=M(R(I),C(I)-1) 310 IF A1=2 AND A2<4 AND A3<4 AND A4<4 THEN 230 315 IF A2=2 AND A1<4 AND A3<4 AND A4<4 THEN 230 320 IF A3=2 AND A1<4 AND A2<4 AND A4<4 THEN 230 325 IF A4=2 AND A1<4 AND A2<4 AND A3<4 THEN 230 330 IF A1=3 AND A2<4 AND A3<4 AND A4<4 THEN 230 335 IF A2=3 AND A1<4 AND A3<4 AND A4<4 THEN 230 336 IF A3=3 AND A1<4 AND A2<4 AND A4<4 THEN 230 340 NEXT I:GOSUB 1000:PRINT 345 IF IP THEN GOSUB 8410 350 PRINT P$(P); ", HERE ARE YOUR LEGAL MOVES FOR THIS TURN:" 360 FOR I=1 TO 5:PRINT R(I);MID$(M$,C(I),1);"/";:NEXT I:PRINT 370 INPUT "WHAT IS YOUR MOVE";R$ 371 IF LEFT$(R$,1)="M" THEN MP=1:GOSUB 1000:MP=0:GOTO 350 372 IF LEFT$(R$,1)="S" THEN GOSUB 1440:GOTO 350 375 R=VAL(LEFT$(R$,1)) 380 C=ASC(RIGHT$(R$,1))-64:FOR I=1 TO 5:IF R=R(I) AND C=C(I) THEN 400 390 NEXT I:PRINT "THAT SPACE WAS NOT INCLUDED IN THE LIST...":GOTO 370 400 A1=M(R-1,C):A2=M(R+1,C):A3=M(R,C+1):A4=M(R,C-1) 410 IF A1<=1 AND A2<=1 AND A3<=1 AND A4<=1 THEN M(R,C)=2:GOTO 800 420 IF A1>3 AND A2>3 AND A1<>A2 THEN GOSUB 1060 430 IF A1>3 AND A3>3 AND A1<>A3 THEN GOSUB 1060 440 IF A1>3 AND A4>3 AND A1<>A4 THEN GOSUB 1060 450 IF A2>3 AND A3>3 AND A3<>A2 THEN GOSUB 1060 460 IF A2>3 AND A4>3 AND A2<>A4 THEN GOSUB 1060 470 IF A3>3 AND A4>3 AND A3<>A4 THEN GOSUB 1060 480 IF A1<4 AND A2<4 AND A3<4 AND A4<4 THEN 660 490 IF M(R,C)>3 THEN 800 500 IF A1>3 THEN I=A1-3 510 IF A2>3 THEN I=A2-3 520 IF A3>3 THEN I=A3-3 530 IF A4>3 THEN I=A4-3 540 Q(I)=Q(I)+1:S1(I)=S1(I)+100:M(R,C)=I+3:GOTO 700 660 FOR I=1 TO 5:IF Q(I)=0 THEN 680 670 NEXT I:IF M(R,C)<3 THEN M(R,C)=2:GOTO 800 680 GOSUB 7900:PRINT "A NEW SHIPPING COMPANY HAS BEEN FORMED" 690 PRINT "ITS NAME IS ";M$(I):S(I,P)=S(I,P)+5:Q(I)=1 695 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT 700 IF A1=3 THEN S1(I)=S1(I)+500 710 IF A2=3 THEN S1(I)=S1(I)+500 720 IF A3=3 THEN S1(I)=S1(I)+500 730 IF A4=3 THEN S1(I)=S1(I)+500 740 IF A1=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R-1,C)=I+3 750 IF A2=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R+1,C)=I+3 760 IF A3=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R,C+1)=I+3 770 IF A4=2 THEN S1(I)=S1(I)+100:Q(I)=Q(I)+1:M(R,C-1)=I+3 780 IF S1(I)>=3000 THEN T1=I:GOSUB 1400 790 M(R,C)=I+3 800 FOR I=1 TO 5:B(P)=B(P)+INT(.05*S(I,P)*S1(I)):NEXT I 810 FOR I=1 TO 5:IF Q(I)=0 THEN 900 815 IF IP THEN GOSUB 8410:IP=0 820 PRINT "YOUR CURRENT CASH EQUALS $";B(P) 830 PRINT "BUY HOW MANY SHARES OF ";M$(I);" AT $";S1(I):PRINT TAB(5); 840 PRINT "YOU NOW OWN";S(I,P);" YOU CAN BUY ";INT(B(P)/S1(I));" SHARES." 850 INPUT R3$:IF LEFT$(R3$,1)="M" THEN R3$="":MP=1: GOSUB 1000:GOTO 830 855 IF LEFT$(R3$,1)="S" THEN R3$="":GOSUB 1440:GOTO 830 856 R3=VAL(R3$):R3$="" 860 IF R3*S1(I)<=B(P) THEN 880 870 PRINT "YOU ONLY HAVE $";B(P);"-TRY AGAIN":GOTO 830 880 IF R3=0 THEN 900 890 S(I,P)=S(I,P)+R3:B(P)=B(P)-(R3*S1(I)) 900 NEXT I:GOTO 200 1000 PRINT A$:PRINT TAB(22)"MAP OF THE GALAXY" 1005 IF MP=1 THEN LPRINT:LPRINT:LPRINT TAB(22)"MAP OF THE GALAXY" 1010 PRINT TAB(21)"*******************" 1015 IF MP=1 THEN LPRINT TAB(21)"*******************" 1020 PRINT TAB(12)" A B C D E F G H I J K L" 1025 IF MP=1 THEN LPRINT TAB(12)" A B C D E F G H I J K L" 1030 FOR R2=1 TO 9:PRINT TAB(9)R2;:FOR C2=1 TO 12:PRINT " "; 1031 PRINT MID$(L$,M(R2,C2),1);" ";:NEXT C2:PRINT:NEXT R2 1034 IF MP=0 THEN 1050 1035 IF MP=1 THEN FOR R2=1 TO 9:LPRINT TAB(9)R2;:FOR C2=1 TO 12:LPRINT " "; 1036 LPRINT MID$(L$,M(R2,C2),1);" ";:NEXT C2:LPRINT:NEXT R2 1040 LPRINT:LPRINT 1050 RETURN 1060 F1=A1-3:IF F1<0 THEN F1=0 1061 F2=A2-3:IF F2<0 THEN F2=0 1062 F3=A3-3:IF F3<0 THEN F3=0 1063 F4=A4-3:IF F4<0 THEN F4=0 1065 T=Q(F1):T1=F1:IF Q(F2)>Q(F1) THEN T=Q(F2):T1=F2 1070 IF Q(F3)>T THEN T=Q(F3):T1=F3 1080 IF Q(F4)>T THEN T=Q(F4):T1=F4 1090 IF F1=T1 OR A1<4 THEN 1110 1100 X=F1:GOSUB 1180 1110 IF F2=T1 OR A2<4 THEN 1130 1120 X=F2:GOSUB 1180 1130 IF F3=T1 OR A3<4 THEN 1150 1140 X=F3:GOSUB 1180 1150 IF F4=T1 OR A4<4 THEN 1170 1160 X=F4:GOSUB 1180 1170 RETURN 1180 GOSUB 7900:PRINT M$(X);" HAS JUST BEEN MERGED INTO " ; 1190 PRINT M$(T1);"!":PRINT "PLEASE NOTE THE FOLLOWING TRANSACTIONS." 1200 PRINT :PRINT TAB(4)"OLD STOCK = ";M$(X);" NEW STOCK = "; 1210 PRINT M$(T1):PRINT 1220 PRINT "PLAYER";TAB(10)"OLD STOCK";TAB(22)"NEW STOCK";TAB(34); 1230 PRINT "TOTAL HOLDINGS";TAB(53)"BONUS PAID" 1240 TS=0:FOR I1=1 TO P1:TS=TS+S(X,I1):NEXT I1:IF TS=0 THEN TS=1 1250 FOR I=1 TO P1:NS=INT((.5*S(X,I))+.5):TH=S(T1,I)+NS:BO=INT(10*((S(X,I)/TS)*S1(X))) 1260 PRINT P$(I);TAB(10)S(X,I);TAB(22)NS;TAB(34)TH;TAB(53)" $";BO 1270 S(T1,I)=TH:B(I)=B(I)+BO 1280 NEXT I 1310 FOR I=1 TO 9:FOR #J=1 TO 12:IF M(I,J)=X+3 THEN M(I,J)=T1+3 1315 NEXT J,I 1320 Q(T1)=Q(T1)+Q(X):S1(T1)=S1(T1)+S1(X) 1340 S1(X)=100:Q(X)=0:FOR I=1 TO P1:S(X,I)=0:NEXT I 1350 PRINT :PRINT :PRINT :PRINT :PRINT 1360 M(R,C)=T1+3:Q(T1)=Q(T1)+1:GOSUB 9600 1365 IF S1(T1)>3000 THEN GOSUB 1400 1370 RETURN 1400 GOSUB 7900:PRINT "THE STOCK OF "; 1410 PRINT M$(T1);" HAS SPLIT 2 FOR 1!":S1(T1)=INT((S1(T1)/2+.5)) 1415 PRINT :PRINT :PRINT :PRINT 1420 FOR I1=1 TO P1:S(T1,I1)=2*S(T1,I1):NEXT I1 1425 GOSUB 9600 1430 RETURN 1440 REM 1445 LPRINT:LPRINT:LPRINT"PLAYER ";P$(P) 1450 PRINT "STOCK";TAB(30)"PRICE PER SHARE";TAB(50)"YOUR HOLDINGS" 1455 LPRINT "STOCK";TAB(30)"PRICE PER SHARE";TAB(50)"YOUR HOLDINGS" 1460 FOR I3=1 TO 5:IF S1(I3)=100 THEN 1480 1470 PRINT M$(I3);TAB(30)S1(I3);TAB(50)S(I3,P) 1475 LPRINT M$(I3);TAB(30)S1(I3);TAB(50)S(I3,P) 1480 NEXT I3:LPRINT:LPRINT:LPRINT:LPRINT:RETURN 7900 PRINT CHR$(26):PRINT TAB(22)"SPECIAL ANNOUNCEMENT!!":PRINT 7910 RETURN 8000 PRINT CHR$(26):PRINT "OK, HERE IS A DESCRIPTION OF 'STARLANES':":PRINT 8010 PRINT "YOU ARE COMPETING IN INTERSTELLAR COMMERCE. YOU" 8020 PRINT "WILL SEE A MAP OF THE GALAXY CONTAINING ROWS" 8030 PRINT "1 THRU 9 AND COLUMNS A THRU L. EACH POSITION WILL" 8040 PRINT "BE EITHER A '.', INDICATING SPACE, OR A '*'," 8050 PRINT "INDICATING A STAR. THE STARS ARE RANDOMLY PLACED" 8060 PRINT "ACCORDING TO WHAT SEED YOU ENTER FOR THE RANDOM" 8070 PRINT "NUMBER GENERATOR. ENTERING THE SAME SEED WILL" 8080 PRINT "PRODUCE THE SAME MAP.":PRINT 8090 PRINT "EACH TURN YOU MUST CHOOSE A MOVE FROM A SET OF" 8100 PRINT "FIVE CHOICES.":PRINT 8110 PRINT "IF YOU LAND NEXT TO A STAR, A NEW COMPANY IS" 8120 PRINT "FORMED. YOU WILL SEE THE COMPANY'S INITIAL IN THAT" 8130 PRINT "SPACE WHEN THE MAP IS DISPLAYED AGAIN.":PRINT:GOSUB 9600 8140 PRINT CHR$(26):PRINT "YOU START WITH A BANKROLL OF $6000. EACH TURN YOU" 8150 PRINT "MAY BUY SHARES IN ANY ACTIVE COMPANY (IF YOU CAN" 8160 PRINT "AFFORD THEM).":PRINT 8170 PRINT "EACH ROUND, EACH COMPANY DECLARES A 5% CASH DIV-" 8180 PRINT "IDEND.":PRINT 8190 PRINT "WHEN TWO COMPANIES COME INTO CONTACT (HORIZONTALLY" 8200 PRINT "OR VERTICALLY), A MERGER OCCURS. THE COMPANY WITH" 8210 PRINT "THE LARGEST TERRITORY ABSORBS THE SMALLER. EACH" 8220 PRINT "STOCKHOLDER IN THE ABSORBED COMPANY RECEIVES STOCK" 8230 PRINT "IN THE SURVIVING COMPANY IN THE RATIO OF ONE NEW" 8240 PRINT "FOR TWO OLD, PLUS A CASH BONUS BASED ON HIS HOLDING.":PRINT 8250 PRINT "THERE IS A MAXIMUM OF FIVE COMPANIES. WHEN ALL ARE" 8260 PRINT "ACTIVE, NO NEW COMPANY CAN BE FORMED UNTIL AFTER A" 8270 PRINT "MERGER.":PRINT 8280 PRINT "AFTER A MERGER, THE PRICE OF THE SURVIVOR'S STOCK" 8290 PRINT "IS THE SUM OF THE TWO PRIOR PRICES. IF A STOCK'S" 8300 PRINT "VALUE EXCEEDS $3000, A STOCK SPLIT OCCURS.":PRINT:GOSUB 9600 8310 PRINT CHR$(26):PRINT "IF YOU MOVE TO AN EMPTY SPACE, YOU WILL SEE A '+'" 8320 PRINT "AT THAT LOCATION. IF YOU LAND NEXT TO A '+', A NEW" 8330 PRINT "COMPANY WILL BE FORMED WITH A LOW INITIAL STOCK" 8340 PRINT "PRICE.":PRINT 8350 PRINT "THE OBJECT OF THE GAME IS TO INCREASE YOUR NET" 8360 PRINT "WORTH. THE GAME ENDS WHEN 70 POSITIONS ARE IN" 8370 PRINT "THE POSESSION OF COMPANIES.":PRINT 8380 PRINT "I WILL GIVE YOU SOME ADDITIONAL INSTRUCTIONS" 8390 PRINT "DURING THE FIRST ROUND - AFTER THAT, YOU'RE ON" 8400 PRINT "YOUR OWN - GOOD LUCK!":PRINT:GOSUB 9600:PRINT CHR$(26):RETURN 8410 PRINT "IF YOU WISH A LIST OF YOUR STOCK HOLDINGS, YOU" 8420 PRINT "MAY ANSWER THE NEXT QUESTION WITH AN 'S'." 8430 PRINT "IF YOU WISH TO REDISPLAY THE MAP, ANSWER 'M'." 8440 PRINT "IF YOUR PRINTER IS READY, YOU GET HARD COPY.":RETURN 9500 GOSUB 7900:PRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9501 LPRINT:LPRINT:LPRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9505 PRINT:LPRINT 9510 PRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND "; 9515 LPRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND"; 9520 PRINT TAB(50)"NET WORTH":PRINT 9525 LPRINT TAB(50)"NET WORTH":LPRINT 9530 FOR I=1 TO P1:FOR J=1 TO 5:D1(I)=D1(I)+(S1(J)*S(J,I)):NEXT J,I 9540 FOR I=1 TO P1:PRINT P$(I);TAB(10)"$";D1(I);TAB(33)"$";B(I); 9550 PRINT TAB(50)"$";D1(I)+B(I):NEXT I 9555 FOR I=1 TO P1:LPRINT P$(I);TAB(10)"$";D1(I);TAB(33)"$";B(I); 9556 LPRINT TAB(50)"$";D1(I)+B(I):NEXT I 9557 LPRINT CHR$(12) 9560 INPUT "ANOTHER GAME";R$:IF LEFT$(R$,1)="Y" THEN 70 9565 END 9600 INPUT "HIT 'RETURN' TO CONTINUE ",Z$:RETURN CHR$(12) 9560 INPUT "ANOTHER GAME";R$:IF LEFT$(R$,1)="Y" THEN 70 9565 END 9600 INPUT "HIT 'RETURN' TO CONTINUE ",Z$:RETURSWER 'M'." 8440 PRINT "IF YOUR PRINTER IS READY, YOU GET HARD COPY.":RETURN 9500 GOSUB 7900:PRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9501 LPRINT:LPRINT:LPRINT "THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 9505 PRINT:LPRINT 9510 PRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND "; 9515 LPRINT "PLAYER";TAB(10)"CASH VALUE OF STOCK";TAB(33)"CASH ON HAND"; 9520 PRINT TAB(50)"NET WORTH":PRINT 9525 LPRINT TAB(50)"NET WORTH":LPRINT 9530 FOR I=1 TO P1:FOR J=1 TO 5:D1(I)=$5 PRINT CHR$(26) 7 PRINT TAB(25);"YAHTZEE" 8 PRINT TAB(20);"CREATIVE COMPUTING" 9 PRINT TAB(18);"MORRISTOWN, NEW JERSEY" 10 PRINT:PRINT "MODIFIED FOR THE OSBORNE-1 WITH PRINTER" 11 PRINT "BY PETER FLEMING, SFOG, 2/9/82" 15 DIM C(5),K(14,7),F(4),H2(6),L2(6),B5(7),B8(7),A$(7) 20 PRINT CHR$(7):PRINT CHR$(7):PRINT CHR$(7) 25 PRINT "THIS IS THE GAME OF YAHTZEE. DO YOU WANT COMMENTS"; 30 INPUT B$:IF LEFT$(B$,1)="N" THEN 45 33 IF LEFT$(B$,1)="Y" THEN 40 35 GOSUB 935: GOTO 25 40 GOSUB 995 45 PRINT:PRINT "HOW MANY PLAYERS";:INPUT N 50 IF N<1 THEN 45 53 IF N<=7 THEN 75 55 PRINT "THE MAXIMUM NUMBER OF PLAYERS IS 7." 70 GOTO 45 75 FOR A0=1 TO N 80 PRINT "NAME OF PLAYER #";A0;:INPUT A$(A0):NEXT A0 85 PRINT:PRINT "WOULD YOU LIKE A PRINTED SCORECARD";:INPUT B$ 90 IF LEFT$(B$,1)="N" THEN 100 93 IF LEFT$(B$,1)="Y" THEN 945 95 GOSUB 935:GOTO 85 100 H=0:PRINT:A=A+1:IF A<>N+1 THEN 105 104 A=1 105 FOR B=1 TO 5:C(B)=INT(6*RND(1))+1:NEXT B:PRINT 110 PRINT:PRINT A$(A);"'S NUMBERS: ";:H=H+1 115 PRINT C(1);C(2);C(3);C(4);C(5):IF H=3 THEN 210 120 PRINT "HOW MANY DICE TO CHANGE";:INPUT E 125 IF E<>25 THEN 130 127 GOSUB 1020:GOTO 120 130 IF E>5 THEN 120 135 IF E<0 THEN 120 137 IF INT(E)<>E THEN 120 140 IF E=0 THEN 210 143 IF E=5 THEN 105 145 FOR F3=1 TO 4:F(F3)=0:NEXT F3 150 PRINT "WHICH DICE TO CHANGE"; 155 ON E GOTO 160,165,170,175 160 INPUT F(1):GOTO 180 165 INPUT F(1),F(2):GOTO 180 170 INPUT F(1),F(2),F(3):GOTO 180 175 INPUT F(1),F(2),F(3),F(4) 180 FOR F1=1 TO 4:F(F1)=INT(F(F1)):IF F(F1)>5 THEN 150 185 IF F(F1)<0 THEN 150 187 NEXT F1 190 FOR F2=1 TO 4:IF F(F2)=0 THEN 200 195 C(F(F2))=INT(6*RND(1))+1 200 NEXT F2 205 GOTO 110 210 PRINT A$(A);" -- SCOREBOARD NUMBER"; 215 INPUT I 220 IF I<>25 THEN 225 223 GOSUB 1020:GOTO 210 225 IF I<1 THEN 210 227 I=INT(I):IF I<14 THEN 245 230 PRINT "CONFIRM";:INPUT B$ 235 IF LEFT$(B$,1)="N" THEN 210 237 IF LEFT$(B$,1)="Y" THEN 735 240 GOSUB 935:GOTO 230 245 IF K(I,A)=0 THEN 260 250 PRINT A$(A);", YOU HAVE ALREADY USED ROW #";I; 255 PRINT "YOU HAVE"K(I,A);"POINTS IN ROW #";I:GOTO 210 260 IF I>6 THEN 305 265 REM***CATEGORIES ONE THOUGH SIX 270 K=0 275 FOR G=1 TO 5:IF C(G)<>I THEN 280 277 K=K+I 280 NEXT G:IF K=0 THEN 295 283 IF K<>1 THEN 300 285 PRINT A$(A);", YOU HAVE 1 POINT IN ROW # 1 (ACES)" 290 K(1,A)=1:GOTO 720 295 K(I,A)=.4:GOTO 620 300 K(I,A)=K:GOTO 620 305 ON I-6 GOTO 315,320,400,485,485,325,605 310 REM ***3 OF A KIND, 4 OF A KIND, YAHTZEE 315 R=3:T=C(1)+C(2)+C(3)+C(4)+C(5):GOTO 330 320 R=4:T=C(1)+C(2)+C(3)+C(4)+C(5):GOTO 330 325 R=5:T=50 330 FOR H3=1 TO 6:H2(H3)=0:NEXT H3 335 FOR H=1 TO 6:FOR H1=1 TO 5 340 IF C(H1)<>H THEN 350 345 H2(H)=H2(H)+1 350 NEXT H1:NEXT H 355 FOR H4=1 TO 6 360 IF H2(H4)>=R THEN 370 365 NEXT H4:K(I,A)=.4:GOTO 620 370 IF K(I,A)=50 THEN 380 375 K(I,A)=T:IF I<>12 THEN 395 380 PRINT CHR$(7):PRINT CHR$(7):FOR V4=1 TO 7:PRINT CHR$(7);:NEXT V4 385 PRINT "CONGRATULATIONS, ";A$(A);", YOU HAVE A YAHTZEE!!!" 390 PRINT CHR$(7):PRINT CHR$(7):FOR V4=1 TO 7:PRINT CHR$(7);:NEXT V4 395 GOTO 620 400 REM ***FULL HOUSE 405 L4=0:L5=0:FOR L=1 TO 6:L2(L)=0:NEXT L 410 FOR L=1 TO 6:FOR L1=1 TO 5 415 IF C(L1)<>L THEN 425 420 L2(L)=L2(L)+1 425 NEXT L1:NEXT L 430 FOR L3=1 TO 6 435 IF L5=1 THEN 450 440 IF L2(L3)<>2 THEN 450 445 L5=L5+1:GOTO 455 450 IF L2(L3)<>3 THEN 460 455 L4=L4+1 460 NEXT L3 465 IF L4=2 THEN 475 470 K(9,A)=.4:GOTO 620 475 K(9,A)=25:GOTO 620 480 GOTO 620 485 REM ***PUT NUMBERS IN ORDER, STRAIGHTS 490 FOR M2=1 TO 4:FOR M1=1 TO 4 495 IF C(M1+1)>=C(M1) THEN 507 500 Z=C(M1):C(M1)=C(M1+1):C(M1+1)=Z 507 NEXT M1:NEXT M2 510 G1=1 515 FOR X=2 TO 5 517 K(13,A)=Y1 525 IF C(X-1)+1<>C(X) THEN 540 530 G1=G1+1 540 NEXT X 545 IF I=11 THEN 560 550 IF G1<4 THEN 570 555 K(I,A)=30:GOTO 620 560 IF G1<>5 THEN 570 565 K(I,A)=40:GOTO 620 570 K(I,A)=.4:GOTO 620 605 REM ***CHANCE 610 Y1=0 615 FOR Y=1 TO 5:Y1=C(Y)+Y1:NEXT Y:K(13,A)=Y1 620 PRINT A$(A);", YOU NOW HAVE";INT(K(I,A));"POINTS IN ROW #";I;", "; 625 PRINT "("; 630 IF I>6 THEN 640 635 ON I GOTO 645,650,655,660,665,670 640 ON I-6 GOTO 675,680,685,690,695,700,705 645 PRINT "(1)ACES";:GOTO 710 650 PRINT "(2)TWOS";:GOTO 710 655 PRINT "(3)THREES";:GOTO 710 660 PRINT "(4)FOURS";:GOTO 710 665 PRINT "(5)FIVES";:GOTO 710 670 PRINT "(6)SIXES";:GOTO 710 675 PRINT "(7)3 OF A KIND";:GOTO 710 680 PRINT "(8)4 OF A KIND";:GOTO 710 685 PRINT "(9)FULL HOUSE";:GOTO 710 690 PRINT "(10)SMALL STRAIGHT";:RESTORE:GOTO 710 695 PRINT "(11)LARGE STRAIGHT";:GOTO 710 700 PRINT "(12)YAHTZEE";:GOTO 710 705 PRINT "(13)CHANCE"; 710 IF E=25 THEN 1030 713 IF I0=25 THEN 1030 715 PRINT ")" 720 FOR B=1 TO N:FOR B1=1 TO 13 725 IF K(B1,B)=0 THEN 100 730 NEXT B1:NEXT B 735 FOR B3=1 TO N:B5(B3)=0:B8(B3)=0:NEXT B3 740 PRINT 745 FOR B3=1 TO N:FOR B4=1 TO 6 750 B5(B3)=B5(B3)+INT(K(B4,B3)) 755 NEXT B4:NEXT B3 760 FOR B6=1 TO N:FOR B7=7 TO 13 765 B8(B6)=B8(B6)+INT(K(B7,B6)) 770 NEXT B7:NEXT B6 775 FOR B3=1 TO N 780 IF B5(B3)<63 THEN 790 785 K(14,B3)=35 790 NEXT B3 795 LINE INPUT "ENTER 'RETURN' WHEN PRINTER IS READY. ";XX$:GOSUB 940 800 FOR A9=1 %TO N 810 LPRINT TAB(19);A$(A9);"'S TOTALS":LPRINT TAB(19);"***************" 815 LPRINT 820 LPRINT "ACES-----------";INT(K(1,A9)) 825 LPRINT "TWOS-----------";INT(K(2,A9)) 830 LPRINT "THREES---------";INT(K(3,A9)) 835 LPRINT "FOURS----------";INT(K(4,A9)) 840 LPRINT "FIVES----------";INT(K(5,A9)) 845 LPRINT "SIXES----------";INT(K(6,A9)) 850 LPRINT "3 OF A KIND----";INT(K(7,A9)) 855 LPRINT "4 OF A KIND----";INT(K(8,A9)) 860 LPRINT "FULL HOUSE-----";INT(K(9,A9)) 865 LPRINT "SM. STRAIGHT---";INT(K(10,A9)) 870 LPRINT "LG. STRAIGHT---";INT(K(11,A9)) 875 LPRINT "YAHTZEE--------";INT(K(12,A9)) 880 LPRINT "CHANCE---------";INT(K(13,A9)) 885 LPRINT:LPRINT "TOTAL OF UPPER HALF------";B5(A9) 890 LPRINT:LPRINT "BONUS--------------------";K(14,A9) 895 LPRINT:LPRINT "TOTAL OF LOWER HALF------";B8(A9) 900 LPRINT 905 B9=B5(A9)+B8(A9)+K(14,A9) 910 LPRINT A$(A9);"'S GRAND TOTAL--------------------------";B9 915 GOSUB 940 920 NEXT A9 925 IF I>13 THEN 210 930 GOTO 1040 935 PRINT "ANSWER WITH YES OR NO":RETURN 940 FOR E=1 TO 72:LPRINT "-";:NEXT E:LPRINT:RETURN 945 GOSUB 940 950 LPRINT "1**ACES":GOSUB 940:LPRINT "2**TWOS":GOSUB 940 955 LPRINT "3**THREES":GOSUB 940:LPRINT "4**FOURS":GOSUB 940 960 LPRINT "5**FIVES":GOSUB 940:LPRINT "6**SIXES":GOSUB 940 965 LPRINT "7**3 OF A KIND":GOSUB 940:LPRINT "8**4 OF A KIND":GOSUB 940 970 LPRINT "9**FULL HOUSE":GOSUB 940:LPRINT "10**SM. STRAIGHT":GOSUB 940 975 LPRINT "11**LG. STRAIGHT":GOSUB 940:LPRINT "12**YAHTZEE":GOSUB 940 980 LPRINT "13**CHANCE":GOSUB 940 985 FOR E1=1 TO 8:LPRINT:NEXT E1:PRINT CHR$(26):PRINT "TEAR OFF SCORECARD" 990 PRINT "AND HIT 'RETURN'!":INPUT Q:GOTO 100 995 PRINT "TOTALS WILL BE DISPLAYED IF YOU RESPOND TO " 1000 PRINT "'SCOREBOARD NUMBER?' WITH A NUMBER GREATER THAN 13." 1005 PRINT "TO SEE WHAT SCOREBOARD OPTIONS YOU HAVE NOT USED," 1010 PRINT "RESPOND TO 'HOW MANY' OR 'SCOREBOARD NUMBER' WITH 25." 1015 RETURN 1020 PRINT:PRINT A$(A);", YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFT:" 1025 I0=25:FOR I=1 TO 13:IF K(I,A)=0 THEN 630 1027 GOTO 1035 1030 PRINT " "; 1035 IF POS(0) > 50 THEN PRINT 1036 NEXT I:PRINT:PRINT:I0=0:RETURN 1040 PRINT CHR$(26):PRINT 1041 PRINT:PRINT "ANOTHER GAME?===> ":INPUT YN$ 1045 IF LEFT$(YN$,1)="Y" THEN 45 1050 IF LEFT$(YN$,1)="N" THEN 1060 1055 GOSUB 935:GOTO 1041 1060 END ME?===> ":INPUT YN$ 1045 IF LEFT$(YN$,1)="Y" THEN 45 1050 IF LEFT$(YN$,1)="N" THEN 1060 1055 TRAIGHT":GOSUB 940 975 LPRINT "11**LG. STRAIGHT":GOSUB 940:LPRINT "12**YAHTZEE":GOSUB 940 980 LPRINT "13**CHANCE":GOSUB 940 985 FOR E1=1 TO 8:LPRINT:NEXT E1:PRINT CHR$(26):PRINT "TEAR OFF SCORECARD" 990 PRINT "AND HIT 'RETURN'!":INPUT Q:GOTO 100 995 PRINT "TOTALS WILL BE DISPLAYED IF YOU RESPOND TO " 1000 PRINT "'SCOREBOARD NUMBER?' WITH A NUMBER GREATER THAN 13." 1005 PRINT "TO SEE WHAT SCOREBOARD OPTIONS YOU HAVE NOT USED," 1010 PRINT "RESPOND TO 'HOW MANY' OR 'SCOREBOARD NUMBER' WITH 25." 1015 RETURN 1020 PRINT:PRINT A$(A);", YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFT:" 1025 I0=25:FOR I=1 TO 13:IF K(I,A)=0 THEN 630 This is the release date of the disk. STARLAN4BAS STARLANEBAS *YAHTZEE BAS LIFE .BAS A4 C3 4224 33 MASTERMD.BAS 04 0C 1280 10 QUEST .BAS D9 66 10368 81 STARLAN4.BAS E0 A8 7936 62 STARLANE.BAS 8B 11 10752 84 YAHTZEE .BAS F3 6F 7552 59  Fog Library Disk FOG-CPM.066 Copyright (1986) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. MBasic games for most CP/M computers. Filename Description -06-00 .86 This is the release date of the disk&. -CPM066 .DOC This is the description of the disk contents. CASTLE .BAS 2143 27K [Wizard's castle 1 of 4] Two versions of a role playing game: one requires MBasic and can be modified, one is compiled. CASTLE .COM 51BE 34K [Wizard's castle 2 of 4] CASTLE .DOC FB87 16K [Wizard's castle 3 of 4] CASTLEX .DOC 457B 2K [Wizard's castle 4 of 4] CIA .BAS 68C1 16K MBasic detective game. CIVILW .BAS B375 8K MBasic Civil War simulation game. DSPACE .BAS 0249 8K MBasic game. Repel invaders in deep space. FIGHTER .BAS 9E06 5K MBasic game. Gunner's target practice. GRANPRIX.BAS A040 9K MBasic game. Pilot your car in the Grand Prix. LIFE .BAS A4C3 5K MBasic cellular generation growth game. MASTERMD.BAS 040C 2K MBasic guessing game. QUEST .BAS D966 11K MBasic game. Search for pirate treasure. STARLAN4.BAS E0A8 8K MBasic interstellar commerce game. STARLANE.BAS 8B11 11K MBasic Interstellar commerce game. YAHTZEE .BAS F36F 8K MBasic version of the well known card game.  DELE FILE &diskf.cheklist.crc ENDIF SELE B STOR diskf-fn-"."-ft TO malt STOR SUBST(ft,1,2) TO mdate SET ALTE TO &malt SET ALTE ON ? filedesc SET ALTE OFF SET ALTE TO SELE A STOR diskf-"-"-SUBST(dfile,5,3)-"&mdiskno"-".DOC" TO malt SET ALTE TO &malt SET ALTE ON DO WHILE diskno="&mdiskno".AND. .NOT. EOF() IF diskno="000" IF dfile="FOG-DOS" ? " '