Source:The Wonderful World of Eamon (program)

From Eamon Wiki
Jump to navigation Jump to search
This page is about the BASIC program. For the 1980 article, see Source:The Wonderful World of Eamon.
This page is a verbatim reproduction of original source material and should not be edited except for maintenance.
Description

The complete Applesoft BASIC code of The Wonderful World of Eamon, one of the key programs that constitutes the standard Eamon Master. (The other is Main Hall.)

Source

DOS 3.3 version of the Eamon Master from eamonag.org/lists/list-master.htm

Date

Last updated 11 February 1990

Author

Donald Brown et al.

License

The use of this item is permitted on the grounds that it's free or in the public domain.

0  REM   THE WONDERFUL WORLD OF
1  REM           EAMON
2  REM 
3  REM   A COMPUTERIZED FANTASY
4  REM   ROLE-PLAYING SYSTEM
5  REM 
6  REM   RULES AND CORE PROGRAMS
7  REM   BY DONALD BROWN
8  REM 


EAMON ADVENTURER'S GUILD
7625 HAWKHAVEN DR.
CLEMMONS, NC 27012
(919)766-7490


9  REM 11/8/89
10  REM 
25  REM  DRAGON PICTURE SHOWN
26  REM  DURING PROGRAM BY
27  REM  R.L. PHILLIPS & FRIENDS
28  REM  OF ANN ARBOR, MICH.
29  REM  THE BEAUTY IS GREATLY
30  REM  ENJOYED.
31  REM 
32  REM ///BOOTUP PROGRAM FOR
33  REM ///EAMON UNIVERSE.
34  REM ///GETS NAME OF PLAYER
35  REM ///AND EITHER SENDS TO
36  REM ///MAIN HALL (IF OLD
37  REM ///CHARACTER) OR TO NEW
38  REM ///CHARACTERS (IF NEW).
39  REM 
100  PRINT  CHR$ (4);"MAXFILES 3"
105  TEXT : HOME : PRINT : PRINT "EAMON ADVENTURER'S GUILD": PRINT "7625 HAWKHAVEN DR.": PRINT "CLEMMONS, NC 27012": PRINT "(919)766-7490": FOR I = 1 TO 500: NEXT : PRINT : PRINT : PRINT 
110 DK$ =  CHR$ (4): PRINT DK$;"BLOAD EAMON.PIC,A$2000": POKE  - 16304,0: POKE  - 16297,0: POKE  - 16302,0
120 X =  RND ( -  PEEK (78) -  PEEK (79))
125  PRINT DK$"OPEN SNAPPY,L64": PRINT DK$"READ SNAPPY,R0": INPUT NS:R =  INT ( RND (1) * NS + 1): PRINT DK$"READ SNAPPY,R";R: INPUT CM$:C1$ =  LEFT$ (CM$,23):C2$ =  MID$ (CM$,24): PRINT DK$"CLOSE SNAPPY"
130  PRINT DK$;"OPEN CHARACTERS,L150": PRINT DK$;"READ CHARACTERS,R0": INPUT NC: PRINT DK$
140  PRINT "   YOU ARE IN THE OUTER CHAMBER OF THE": PRINT "HALL OF THE GUILD OF FREE ADVENTURERS.": PRINT "MANY MEN AND WOMEN ARE GUZZLING BEER"
145  PRINT "AND THERE IS LOUD SINGING AND LAUGHTER.": PRINT : PRINT "   ON THE NORTH SIDE OF THE CHAMBER IS"
150  PRINT "A CUBBYHOLE WITH A DESK.  OVER THE DESK": PRINT "IS A SIGN WHICH SAYS 'REGISTER HERE": PRINT "OR ELSE!'": PRINT 
160  PRINT : PRINT : PRINT "DO YOU GO OVER TO THE DESK OR JOIN THE": PRINT "   MEN DRINKING THE BEER?": PRINT : PRINT "   (HIT 'D' FOR DESK OR 'M' FOR MEN)   ";
170  FOR X = 1 TO 1000: IF  PEEK ( - 16384) <  > 155 THEN  NEXT X
180  POKE  - 16368,0: TEXT 
190  GET A$: IF A$ = "D" THEN 220
200  IF A$ <  > "M" THEN 190
210  PRINT A$: PRINT : PRINT : PRINT "   AS YOU GO OVER TO THE MEN, YOU FEEL": PRINT : PRINT "A SWORD BEING THRUST THROUGH YOUR BACK": PRINT : PRINT "AND YOU HEAR SOMEONE SAY, 'YOU REALLY": PRINT : PRINT "MUST LEARN TO FOLLOW DIRECTIONS!'": END 
220  PRINT A$: PRINT : PRINT : PRINT "   YOU ARE GREETED THERE BY A BURLY": PRINT : PRINT "IRISHMAN WHO LOOKS AT YOU WITH A SCOWL": PRINT : PRINT "AND ASKS YOU, 'WHAT'S YOUR NAME?'": PRINT : PRINT 
230  INPUT "YOU GIVE HIM YOUR NAME (TYPE IT IN NOW)        ";NAME$
240  PRINT : IF NAME$ = "" OR  LEN (NAME$) < 2 OR  LEFT$ (NAME$,1) < "A" OR  LEFT$ (NAME$,1) > "Z" THEN  GOSUB 400: GOTO 230
250  IF  LEN (NAME$) > 20 THEN  PRINT "   HE SCOWLS AT YOU AND SAYS, 'YER": PRINT : PRINT "NAME'S TOO LONG FER ME BOOK.  I CANNA": PRINT : PRINT "USE MORE THAN TWENTY LETTERS.": PRINT : GOTO 230
260  PRINT "  HE STARTS LOOKING THROUGH HIS BOOK,": PRINT : PRINT "MUTTERING ABOUT ";C1$: PRINT : PRINT C2$: PRINT 
270  FOR R = 1 TO NC: PRINT DK$;"READ CHARACTERS,R";R: INPUT A$: IF A$ = NAME$ THEN 330
280  NEXT R: PRINT DK$: PRINT "   HE EVENTUALLY LOOKS AT YOU AND SAYS,": PRINT : PRINT "'YER NAME'S NA IN HERE. HAVE YE GIVEN": PRINT : PRINT "IT TO ME ARIGHT?'": PRINT : PRINT "HOW DO YOU ANSWER (HIT 'Y' OR 'N')  ";
290  GET A$: IF A$ = "N" THEN  PRINT A$: PRINT : GOSUB 400: GOTO 230
300  IF A$ <  > "Y" THEN 290
310  PRINT A$: PRINT : PRINT "   HE HITS HIS FOREHEAD AND SAYS, 'AH,": PRINT : PRINT "YE MUST BE NEW HERE!  WELL, WAIT JUST": PRINT : PRINT "A MINUTE AND I'LL BRING SOMEONE OUT TO": PRINT : PRINT "TAKE CARE OF YE.'": PRINT 
320  GOSUB 350: PRINT DK$;"RUN NEW CHARACTERS"
330  PRINT DK$: PRINT : PRINT "   HE LOOKS UP AND SAYS, 'AH, HERE YE": PRINT : PRINT "BE!  WELL, GO AND HAVE FUN IN THE HALL!'": PRINT 
340  GOSUB 350: PRINT DK$;"RUN MAIN HALL"
350  PRINT DK$;"OPEN THE ADVENTURER": PRINT DK$;"WRITE THE ADVENTURER": PRINT NAME$: PRINT R: PRINT DK$;"CLOSE": RETURN 
400  REM  ///NO NAME ROUTINE
410 CNT = CNT + 1: IF CNT > 1 THEN 450
420  PRINT " HE PULLS OUT A SWORD AND BEGINS TO": PRINT "SHARPEN IT, SAYING 'YE'D BEST BE GIVIN'": PRINT "ME YER NAME LADDIE, IF YE KNOW WOTS": PRINT "GOOD FER YE!!!"
430  RETURN 
450  IF CNT = 2 THEN  PRINT "I'VE 'BOUT HAD ME FILL O' YER SICK": PRINT "SENSA 'UMOR!!": PRINT "NOW GIMME YER NAME!!": RETURN 
460  IF CNT = 3 THEN  PRINT "THE MAN CUTS ONE OF YOUR FINGERS OFF!!": PRINT "HE THEN EATS IT!!!!": PRINT "THEN HE SAYS 'ARE YE READY T' TALK NOW?": RETURN 
470  IF CNT < 13 THEN  PRINT "THE MAN CUTS OFF ANOTHER FINGER!!!": PRINT "HE EATS THIS ONE TOO!!": RETURN 
480  PRINT "THE MAN STARTS SLOWLY, 'WELL YE BE ": PRINT "OUTTA FINGERS!'": PRINT "THE MAN THEN SPINS AROUND AND RUNS YOU": PRINT "THROUGH WITH A SPEED YOU HAVE NEVER": PRINT "SEEN BEFORE! (AND NEVER WILL AGAIN.)": END