1 REM  The Wonderful World Of Eamon Main Hall Program
2 REM
3 REM                                                  *
4 REM  Origionaly made by Donald Brown for the Apple II system
5 REM
6 REM                     **        ***          **
7 REM  Converted to MBASIC  for cp/m   and ms-dos   by Jon Walker
8 REM
9 REM
10 REM   WTYPE: TYPE   WODDS:ODDS OF HIT   WDICE:# OF DICE  WSIDE:# OF SIDES
11 REM
12 REM   SA(1)-SA(4):SPELL ABILITIES
13 REM   WA(1)-WA(5):WEAPON ABILITIES
14 REM
15 REM   AE: AMROUR EXPERT.  SEX$: M OR F  GOLD: ON PERSON  BANK: GOLD IN BANK
16 REM   AC: ARMOUR CLASS  
17 REM 
18 REM     WNAME$: WEAPON NAME
20 REM   WTYPE: TYPE   WODDS:ODDS OF HIT   WDICE:# OF DICE  WSIDE:# OF SIDES
21 REM
22 REM
24 DEF FND$(X$)=CHR$(ASC(X$)-32*ABS(X$>="a" AND X$<="z" ))
25 REM
29 CNAME$="":RC=0
30 OPEN "I",#1,"ADVENTUR.ER"
31 INPUT#1,CNAME$:INPUT#1,RC
33 CLOSE#1
50 OPEN "R",#1,"CHARACTE.RS",255
51 FIELD 1,255 AS B$
52 GET#1,RC+1
53 GOSUB 30000
54 GET#1,1
55 REC=VAL(B$)
56 CLOSE#1
60 REM
80 DEF FNP(X)=INT(X*RTIO+.5)
100 PRINT:PRINT"As you wander about the hall, you realize you can do one of six things --":PRINT
102 PRINT"1. Go on an adventure."
103 PRINT"2. Visit the weapon shop for weapons and/or armour."
110 PRINT"3. Hire a wizard to teach you some spells."
111 PRINT"4. Find the banker to deposit or withdraw some gold."
112 PRINT"5. Examine your abilities."
113 PRINT"6. Temporarily leave the Universe."
120 PRINT:PRINT"(Hit the key for your choice, 1-6) ";
130 A$=INKEY$:IF A$="" THEN 130
131 CMD=VAL(A$):IF CMD<1 OR CMD>6 THEN 130
140 PRINT CMD:PRINT:ON CMD GOTO 1000,2000,3000,4000,5000,6000,7000
150 PRINT"System Error, cmd has bad value?":STOP
160 REM
170 REM
1000 REM  Go on and Adventure
1001 REM
1002 OPEN"R",#1,"CHARACTE.RS",255
1003 FIELD 1,255 AS B$
1004 LSET B$=",,,,"
1005 PUT#1,RC+1
1006 CLOSE#1
1010 CLS:PRINT:PRINT:PRINT:PRINT"Insert diskette with adventure (or keep this diskette for beginners cave)"
1015 PRINT"in this drive then hit 'C' to continue."
1020 A$=INKEY$:IF A$="" THEN 1020
1021 IF A$<>"c" AND A$<>"C" THEN 1020
1030 PRINT
1040 OPEN"I",#1,"EAMON.NAM"
1041 INPUT#1,ADNAME$:INPUT#1,FINM$
1042 CLOSE#1
1050 CLS:PRINT:PRINT:PRINT:PRINT
1052 PRINT"You are about to adventure in ";ADNAME$:PRINT:PRINT
1060 OPEN "O",#1,"FRESHMEA.T"
1062 GOSUB 30600:PRINT#1,RC:PRINT#1,A$
1066 CLOSE#1
1068 RUN FINM$
1070 STOP
2000 PRINT:PRINT"As you enter the weapon shop, Marcos Cavielli (the owner)"
2001 PRINT"comes from out of the back room and says, 'Well as I live and breath,"
2002 PRINT"if it isn't my old pal ";CNAME$;"!  So, you want to buy a weapon,"
2003 PRINT"sell a weapon, or get some better armour?"
2004 PRINT:PRINT:PRINT"(Hit the key, B S or A) ";
2010 C2=CH+INT(11*RND(1)-5):C2=C2+ABS(C2=0):RTIO=10/C2
2020 A$=INKEY$:IF A$="" THEN 2020
2030 FOR TR=1 TO 8:IF A$<>MID$("BbSsAa",TR,1) THEN NEXT TR:GOTO 2020
2040 PRINT A$:PRINT:ON TR GOTO 2050,2050,2220,2220,2490,2490
2050 IF WNAME$(4)="NONE" THEN 2060
2051 PRINT"Marcos smiles at you and says, 'Thatsa good, but first you gotta"
2052 PRINT"sell me a weapon.  You know the law--no more than four weapons"
2053 PRINT"per person!'":PRINT:PRINT:GOTO 2220
2060 PRINT"Marcos smiles at you and says, 'Good. I gotta the best.  You"
2061 PRINT"wanta Axe, Bow, Mace, Spear, or Sword ?":PRINT :GOSUB 2650
2070 PRINT :PRINT "Marcos says, 'Well, I just happen to have three ";N$;" of"
2071 PRINT"varying quality.  I've got a very good one for ";FNP(2*BP);"gp, a"
2072 PRINT"fair one for ";FNP(BP);"gp, and a kinda shabby one for ";FNP(BP/2)
2080 PRINT:PRINT"(Hit the key, G F or P) ";
2090 A$=INKEY$:IF A$="" THEN 2090
2091 FOR Q=1 TO 6:IF A$<>MID$("GgFfPp",Q,1) THEN NEXT Q:GOTO 2090
2092 Q=INT(Q/2+.5)
2100 PRINT A$:P=BP+BP*ABS(Q=1)-BP/2*ABS(Q=3):P=FNP(P)
2110 IF P<=GOLD THEN 2120
2111 PRINT"Marcos shakes a finger at you and says, 'You shouldn't play tricks"
2112 PRINT"on an old friend!  Come back when you gotta more gold or you want"
2113 PRINT"something you can afford.'  He then shoos you out the door":PRINT:GOTO 100
2120 FOR W=1 TO 4:IF WNAME$(W)=N$ THEN N$=N$+"#":GOTO 2120
2130 NEXT W:FOR W=1 TO 4:IF WNAME$(W)<>"NONE" THEN NEXT W
2140 WNAME$(W)=N$:WTYPE(W)=TP:WODDS(W)=10*(2-Q):WDICE(W)=DICE:WSIDE(W)=SIDE:GOLD=GOLD-P
2150 PRINT"Marcos hands you your weapon and takes the price form you.":PRINT
2160 IF GOLD<FNP(50) THEN 2210
2170 PRINT"He now asks you, 'Now how about some armour?'":PRINT:PRINT"(Hit Y or N) ";
2180 A$=INKEY$:IF A$="" THEN 2180
2181 IF A$="N" OR A$="n" THEN PRINT A$:PRINT:GOTO 2210
2190 IF A$<>"y" AND A$<>"Y" THEN 2180
2200 PRINT A$:GOTO 2490
2210 PRINT"Marcos smiles and says, 'Come back again soon!' as he shoos you"
2211 PRINT"out of his shop.":PRINT:GOTO 100
2220 PRINT:PRINT"Marcos asks you, 'Is this weapon you want to sell me a standard"
2221 PRINT"weapon like I sell?' (Hit Y or N)  ";
2230 A$=INKEY$:IF A$="" THEN 2230 ELSE IF A$="y" OR A$="Y" THEN 2350
2240 IF A$<>"n" AND A$<>"N" THEN 2230
2250 PRINT A$:PRINT:P=INT(50/RTIO+.5)
2251 PRINT"Marcos says, 'Then I can only give you ";P;" gold pieces for it,"
2252 PRINT"Take it or leave it !'":PRINT:PRINT"(Hit T or L)   ";
2260 A$=INKEY$:IF A$="" THEN 2260 ELSE IF A$="L" OR A$="l" THEN PRINT A$:PRINT:GOTO 2210
2270 IF A$<>"t" AND A$<>"T" THEN 2260
2280 PRINT A$:PRINT:PRINT"Marcos says, 'Okay, what've you got?":PRINT
2281 INPUT"(Enter weapon name) ";A$:GOSUB 15000:W$=A$
2282 FOR W=1 TO 4:IF WNAME$(W)<>W$ THEN NEXT W:PRINT"Marcos frowns at you ans says, 'You can't sell a weapon you don't own!'":PRINT:GOTO 2210
2290 L=LEFT$(W$,5)="SWORD" OR LEFT$(W$,5)="SPEAR" OR LEFT$(W$,4)="MACE" OR LEFT$(W$,3)="BOW" OR LEFT$(W$,3)="AXE"
2291 IF L THEN PRINT"Marcos frowns at you and says, 'This is a weapon like I sell, remember!'":GOTO 2420
2300 PRINT"Marcos gives you your money and takes your weapon.":GOLD=GOLD+P
2301 FOR X=W TO 4
2302 WNAME$(X)=WNAME$(X+1):WTYPE(X)=WTYPE(X+1):WODDS(X)=WODDS(X+1):WDICE(X)=WDICE(X+1):WSIDE(X)=WSIDE(X+1):NEXT X:WNAME$(4)="NONE"
2310 PRINT:PRINT"Marcos asks you, 'How about buying a weapon?'":PRINT
2311 PRINT"(Hit Y or N)  ";
2320 A$=INKEY$:IF A$="" THEN 2320 ELSE IF A$="Y" OR A$="y" THEN PRINT A$:PRINT:GOTO 2050
2330 IF A$<>"n" AND A$<>"N" THEN 2320
2340 PRINT A$:PRINT:GOTO 2160
2350 PRINT:PRINT"Marcos asks, 'Well, what weapon you wanta return?'":PRINT:GOSUB 2650:PRINT
2360 W2=W:FOR W=1 TO 4
2361 IF LEFT$(WNAME$(W),LEN(N$))<>N$ THEN NEXT W:PRINT"Marcos laughs and says, 'You never bought that one from me, remember?'":PRINT:GOTO 2210
2370 BP=BP+BP*ABS(WODDS(T)>5)-BP/2*ABS(WODDS(T)<-5):P=INT(BP/RTIO+.5):IF P>BP/4 THEN P=INT(BP/4+.5)
2380 PRINT"Marcos examines you weapons and says, 'Well, you've banged it up"
2381 PRINT"a bit, but I can give you ";P;" gold pieces for it, take it or "
2382 PRINT"leave it.'"
2383 PRINT:PRINT"(Hit T or L)  ";
2390 A$=INKEY$:IF A$="" THEN 2390 ELSE IF A$="L" OR A$="l" THEN PRINT A$:PRINT:GOTO 2210
2400 IF A$<>"t" AND A$<>"T" THEN 2390
2410 PRINT A$:PRINT:GOTO 2300
2420 PRINT:FOR W=1 TO 8
2421 IF MID$("aAbBmMsS",W,1)=LEFT$(W$,1) THEN ON INT(W/2+.5) GOTO 2440,2450,2460,2470
2430 NEXT W
2440 BP=25:GOTO 2370
2450 BP=40:GOTO 2370
2460 BP=20:GOTO 2370
2470 W=INT(W/2+.5):IF MID$(W$,2,1)="p" OR MID$(W$,2,1)="P" THEN BP=25:GOTO 2370
2480 BP=50:GOTO 2370
2490 A2=INT(AC/2):SH=AC-A2*2:B1=25*ABS(A2=1)+60*ABS(A2=2)+100*ABS(A2=3):TI=INT(B1/RTIO+.5)
2491 PRINT"Marcos takes you to the armour section of his shop and shows you"
2492 PRINT"leather armour, chain armour, and plate.":IF TI>B1*2 THEN TI=B1*2
2500 PRINT:PRINT"He says, 'I can put you in any of these very cheaply. I"
2501 PRINT"need ";FNP(100);" gold pieces for the leather, ";FNP(250);
2502 PRINT"for the chain,"
2503 PRINT"and ";FNP(500);" for the plate.":PRINT
2510 IF TI THEN PRINT "Also I can give you a trade-in on your old armour of ";TI;" gold pieces.":PRINT
2520 PRINT"Well, what will it be?'":PRINT
2521 PRINT"(Hit N for nothing or L C or P)  ";
2530 A$=INKEY$:IF A$="" THEN 2530
2531 FOR A=1 TO 8:IF A$<>MID$("nNlLcCpP",A,1) THEN NEXT A:GOTO 2530
2540 PRINT A$:PRINT:A=INT(A/2+.5):IF A=1 THEN 2570
2550 P=FNP(100*ABS(A=2)+250*ABS(A=3)+500*ABS(A=4))-TI
2552 IF P>GOLD THEN PRINT"Marcos frowns when he sees that you do not have enough to pay for your":PRINT"armour and says 'I don't give credit!'":PRINT:GOTO 2630
2560 PRINT"Marcos takes your old armour and your gold and helps you into your"
2561 PRINT"new armour.":PRINT:GOLD=GOLD-P:A2=A-1
2570 IF SH THEN 2630
2580 PRINT"Marcos smiles and says, 'Now how about a shield?  I can let you"
2582 PRINT"have one for only ";FNP(50);" gold pieces!'":PRINT
2583 PRINT"(Hit Y or N)  ";
2590 A$=INKEY$:IF A$="" THEN 2590 ELSE IF A$="n" OR A$="N" THEN PRINT A$:PRINT:GOTO 2630
2600 IF A$<>"y" AND A$<>"Y" THEN 2590
2610 PRINT A$:PRINT:IF GOLD<FNP(50) THEN PRINT"When he sees that you do not have enough gold to buy the shield,":PRINT "Marcos frowns and says, 'I'm sorry, but I don't give credit!":PRINT:GOTO 2630
2620 GOLD=GOLD-FNP(50):SH=1:PRINT"Marcos takes your gold and gives you a shield.":PRINT
2630 AC=A2*2+SH:PRINT:GOTO 100
2640 END
2650 PRINT"(Hit the key(s), A B M SP or SW)  ";
2660 A$=INKEY$:IF A$="" THEN 2660 ELSE A$=FND$(A$)
2661 FOR W=1 TO 8:IF A$<>MID$("AaBbMmSs",W,1) THEN NEXT W:GOTO 2660
2670 W=INT(W/2+.5):ON W GOTO 2680,2690,2700,2710
2680 PRINT"AXE":BP=25:N$="AXE":TP=1:SIDE=6:GOTO 2750
2690 PRINT"BOW":BP=40:N$="BOW":TP=2:SIDE=6:GOTO 2750
2700 PRINT"MACE":BP=20:N$="MACE":TP=3:SIDE=4:GOTO 2750
2710 PRINT A$;
2715 A$=INKEY$:IF A$="" THEN 2715
2720 IF A$="P" OR A$="p" THEN PRINT"PEAR":BP=25:TP=4:SIDE=5:N$="SPEAR":GOTO 2750
2730 IF A$<>"W" AND A$<>"w" THEN 2715
2740 PRINT"WORD":BP=50:N$="SWORD":TP=5:SIDE=8
2750 DICE=1:RETURN
2760 END
3000 PRINT:PRINT"After a few minutes diligent searching you find Hokas Tokas,"
3001 PRINT"the old Mage. He looks at you and says, 'So you want old Tokey to"
3002 PRINT"teach you some magic, heh hey?  Well it'll cost you. Today my fees"
3010 PRINT"are:":C2=CH+INT(11*RND(1)-5):C2=C2+ABS(C2=0):RTIO=10/C2
3020 PRINT USING "     Blast   ##,### gp";FNP(3000)
3021 PRINT USING "     Heal    ##,### gp";FNP(1000)
3022 PRINT USING "     Speed   ##,### gp";FNP(5000)
3023 PRINT USING "     Power   ##,### gp";FNP(100)
3030 PRINT:PRINT"Well, which will it be?'":PRINT
3031 PRINT"(Hit the key for your spell, B H S or P) ";
3040 A$=INKEY$:IF A$="" THEN 3040
3041 FOR SP=1 TO 8:IF A$<>MID$("BbHhSsPp",SP,1) THEN NEXT SP:GOTO 3040
3050 SP=INT(SP/2+.5):ON SP GOTO 3060,3070,3080,3090
3060 PRINT"BLAST":P=FNP(3000):GOTO 3100
3070 PRINT"HEAL":P=FNP(1000):GOTO 3100
3080 PRINT"SPEED":P=FNP(5000):GOTO 3100
3090 PRINT"POWER":P=FNP(100)
3100 PRINT:IF P<GOLD THEN 3110
3101 PRINT"When Hokas sees that you don't have enough to pay him, he stalks"
3102 PRINT"to the bar, muttering about youngsters who should be turned into frogs."
3103 PRINT:GOTO 100
3104 REM
3110  IF SA(SP) THEN PRINT"Hokas says, 'I ought to take your gold anyway, but haven't you forgotten":PRINT"something?  I already taught you that spell!'":PRINT"Shaking his head sadly, he returns to the bar.":PRINT:GOTO 100
3120 GOLD=GOLD-P:SA(SP)=INT(50*RND(1)+26)
3121 PRINT"Hokas teaches you your spell, takes his fee, and returns to his"
3122 PRINT"stool on the bar.  As you walk away you hear him order a double"
3123 PRINT"dragon blomb.":PRINT:GOTO 100
3140 END
3150 REM
4000 PRINT:PRINT"You have no trouble spotting Shylock McFenney, the local banker,"
4001 PRINT"due to his large belly. You attract his attention, and he comes"
4002 PRINT"over  to you  and says,  'Well, ";CNAME$;" my dear ";
4003 PRINT MID$("girlboy ",ABS(SEX$="M")*4+1,4);","
4004 PRINT"what a pleasure it is to see you!"
4010 PRINT"Do you want to make a deposit or a withdrawl ?'":PRINT
4020 PRINT"(Hit D for deposit, W for withdrawl)  ";
4030 A$=INKEY$:IF A$="" THEN 4030 ELSE IF A$="D" OR A$="d" THEN PRINT A$:PRINT:GOTO 4090
4040 IF A$<>"w" AND A$<>"W" THEN 4030
4050 PRINT A$:PRINT:PRINT"Shylock says, 'Well, you have ";BANK;" gold pieces"
4052 PRINT"stored with me.  How many do you want to take back ?":PRINT
4060 PRINT"(Enter the number of gold pieces to withdraw) ";
4061 INPUT A$:MNY=VAL(A$):IF MNY<0 OR MNY<>INT(MNY) OR MNY<>VAL(A$) THEN PRINT:PRINT"The banker scowls at you and says, 'Come, come, you're not making any sense!":PRINT"Try again.'":PRINT:GOTO 4060
4070 IF MNY>BANK THEN PRINT:PRINT"The banker throws a terrible glance and says, 'That's more than you've got!":PRINT"You know I don't make loans to your kind!' With that he looses himself in":PRINT"the crowd.":PRINT:GOTO 100
4080 GOLD=GOLD+MNY:BANK=BANK-MNY:PRINT:PRINT"The banker hands you your gold and says, 'That leaves you with ";BANK:PRINT"gold peices in my care.'  He shakes your hand and walks away.":PRINT:GOTO 100
4090 PRINT"Shylock gets a wide grin on his face and says, 'Good for you!"
4091 PRINT"How much do you want to deposit?'"
4100 PRINT:PRINT"(Enter the amount you want to deposit) ";
4101 INPUT A$:MNY=VAL(A$):IF MNY<0 OR MNY<>INT(MNY) OR VAL(A$)<>MNY THEN PRINT:PRINT"The banker scowls at you and says, 'You're not making sense!":PRINT"Try again.'":PRINT:GOTO 4100
4110 IF MNY>GOLD THEN PRINT:PRINT"The banker was very please when you told him the sum, but when he discovered":PRINT"that you didn't have that much on you, he walked away, shouting about":PRINT"fools who play tricks on a kindly banker.":PRINT:GOTO 100
4120 GOLD=GOLD-MNY:BANK=BANK+MNY:PRINT"Shylock takes your money, puts it in his bag, listens to it jingle, then ":PRINT"thanks you and walks away.":PRINT:GOTO 100
4130 END
4140 REM
5000 CLS:PRINT"You are the ";MID$("mighty fair ",1+7*ABS(SEX$="F"),7);CNAME$
5001 PRINT:PRINT"Your attributes are:":PRINT"  HD=";HD;"  AG=";AG;"  CH=";CH:PRINT
5010 PRINT"you know the following spells--":SM=0:FOR S=1 TO 4:IF SA(S) THEN PRINT MID$("BLASTHEAL SPEEDPOWER",(S-1)*5+1,5);"  ";:SM=-1
5020 NEXT S:IF NOT SM THEN PRINT"  NO SPELLS"
5030 PRINT :PRINT :PRINT"Your weapon abilities are--":PRINT "     AXE    BOW   MACE   SPEAR  SWORD":PRINT" ";:FOR W=1 TO 5
5032 PRINT USING "  ####%";WA(W);:NEXT W:PRINT
5040 PRINT:A2=INT(AC/2):PRINT"Armour: ";MID$("SKIN   LEATHERCHAIN  PLATE  ",A2*7+1,7);:IF AC>A2*2 THEN PRINT " AND SHEILD";
5050 PRINT TAB(30);"AE=";AE;"%":PRINT:PRINT"Gold in hand=";GOLD;", Bank=";BANK
5060 PRINT:PRINT"weapons";TAB(19);"CMPLX         DAM":FOR W=1 TO 4:IF W>1 AND WNAME$(W)="NONE" THEN 5090
5070 IF WNAME$(W)="NONE" THEN PRINT:PRINT"     NO WEAPONS":GOTO 5090
5080 PRINT WNAME$(W);TAB(20);
5081 PRINT USING "####%    ###  D ###";WODDS(W);WDICE(W);WSIDE(W)
5090 NEXT W:PRINT :PRINT :PRINT"(Hit any key to continue)  ";
5091 A$=INKEY$:IF A$="" THEN 5091 ELSE PRINT:GOTO 100
5100 END
6000 PRINT"As you leave the hall, the Irishman comes up to you, slaps you"
6001 PRINT"on the back and says 'Y'all come back real soon, ya heah?'"
6009 OPEN"R",#1,"CHARACTE.RS",255
6010 FIELD 1,255 AS B$
6014 GOSUB 30600
6015 LSET B$=A$
6016 PUT#1,RC+1
6020 CLOSE#1
6030 KILL"ADVENTURER"
6040 END
15000 REM Upper case a$
15005 K$=""
15010 FOR I=1 TO LEN(A$)
15020 A1$=MID$(A$,I,1)
15030 IF A1$<"a" OR A1$>"z" THEN 15060
15040 K$=K$+CHR$(ASC(A1$)-32)
15050 GOTO 15070
15060 K$=K$+A1$
15070 NEXT I
15080 A$=K$
15090 RETURN
30000 REM
30010 REM  break up record into its needed parts
30020 REM  and damned be he the first to screw up this ordered set!!!
30030 REM
30031 REM HINT: a string of 37 commas will clear all fields!
30040 REM
30050 R$=B$
30060 U=1:W=1:X=1:Y=1:IF LEN(R$)=0 THEN 30560
30070 FOR I=1 TO 37
30075 A1$=""
30080 IF R$="" THEN 30555
30090 J=INSTR(R$,",")
30095 IF J<>0 THEN A1$=LEFT$(R$,J-1):R$=MID$(R$,J+1):GOTO 30110
30100 IF J=0 AND R$<>"" THEN A1$=R$:R$=""
30110 REM
30120 ON U    GOTO 30170,30180,30190,30200,30210,30210,30210,30210,30250,30250
30130 ON U-10 GOTO 30250,30250,30250,30300,30310,30320,30330,30340,30350,30360
30140 ON U-20 GOTO 30370,30380,30390,30350,30360,30370,30380,30390,30350,30360
30150 ON U-30 GOTO 30370,30380,30390,30350,30360,30370,30380,30390
30160 STOP
30170 CNAME$=A1$:GOTO 30550
30180 HD=VAL(A1$):GOTO 30550
30190 AG=VAL(A1$):GOTO 30550
30200 CH=VAL(A1$):GOTO 30550
30210 SA(X)=VAL(A1$):X=X+1:GOTO 30550
30250 WA(Y)=VAL(A1$):Y=Y+1:GOTO 30550
30300 AE=VAL(A1$):GOTO 30550
30310 SEX$=A1$:GOTO 30550
30320 GOLD=VAL(A1$):GOTO 30550
30330 BANK=VAL(A1$):GOTO 30550
30340 AC=VAL(A1$):GOTO 30550
30350 WNAME$(W)=A1$:GOTO 30550
30360 WTYPE(W)=VAL(A1$):GOTO 30550
30370 WODDS(W)=VAL(A1$):GOTO 30550
30380 WDICE(W)=VAL(A1$):GOTO 30550
30390 WSIDE(W)=VAL(A1$):W=W+1:GOTO 30550
30550 U=U+1
30555 NEXT I
30560 RETURN
30570 REM
30580 REM   pack the array with commas
30590 REM
30600 A$=CNAME$+","+STR$(HD)+","+STR$(AG)+","+STR$(CH)+","
30610 FOR I=1 TO 4:A$=A$+STR$(SA(I))+",":NEXT I
30620 FOR I=1 TO 5:A$=A$+STR$(WA(I))+",":NEXT I
30630 A$=A$+STR$(AE)+","+SEX$+","+STR$(GOLD)+","+STR$(BANK)+","+STR$(AC)
30640 FOR I=1 TO 4:A$=A$+","+WNAME$(I)+","
30650 A$=A$+STR$(WTYPE(I))+","+STR$(WODDS(I))+","
30660 A$=A$+STR$(WDICE(I))+","+STR$(WSIDE(I))
30670 NEXT I
30680 RETURN
40000 REM
40001 REM *
40002 REM  Apple II and Apple are trademarks of Apple computer co.
40003 REM
40010 REM **
40020 REM   MBASIC and MS-dos are trademarks of Microsoft
40030 REM
40040 REM ***
40050 REM    CP/M is a trademark of Digital Research
