8-Bit Software Online Conversion
New Cells and Serpents - Listing
1REM Adapted from original program
2REM by Roger Pashby
3REM October 21st 1990
10*TV255
20MODE7
25VDU 23;8202;0;0;0;
30DATA34,100,5,9,100,6,10,100,6,6,4,4
,10,5
40PROCtitle
50PROCload
60REPEAT
70PROCbuild`1:CLS
80PROCmonster
90IF A(1)=3 AND A(2)=3 AND A(3)=3 PRO
Cpit:GOTO140
100PROCoptions:PROCoperate`cell(1)
110IF RND(12)<>1 GOTO 130 ELSE PROCmon
ster:CLS:PRINT''CHR$130"SUDDENLY!":PROCd
elay(10):PRINT'CHR$130:PROCprint`monster
:IF B$="a " OR B$="an " THEN PRINTCHR$13
0B$;
120PRINTCHR$130;A$;CHR$130"arrives":R1
=2:RM=1:PROCdelay(8):PROCoperate`cell(2)
130V1=0:RM=0
140UNTIL FALSE
150DEFPROCpit
160H=RND(12)
170PRINT'CHR$130"You fell down a ";H*1
0;" foot pit"
180PRINTCHR$130"you took ";:D1=RND(6)*
H:PRINT;D1;" hps damage"
190IF RND(6)=1 GOTO 210
200H1=H1-D1:L1=L1+1:PROCdelay(20):PROC
status`1:ENDPROC
210PRINTCHR$130"At the bottom there";:
H1=H1-D1
220R=RND(3)
230IF R=1 PRINTCHR$130"is a pool of ac
id"'CHR$130"you take ";:D1=RND(8):PRINT;
D1;" hps of damage":GOTO200
240IF R=2 PRINTCHR$130"are some spikes
":R=RND(8):PRINTCHR$130;R;" of which you
hit":D1=R*RND(4):PRINTCHR$130"doing ";D
1;" hps damage":GOTO200
250PROCmonster:PROCprint`monster:PROCs
uper`monsters:PRINTCHR$130"was"'CHR$130B
$;A$':L1=L1+1:PROCdelay(20):PROCcombat:E
NDPROC
260DEFPROCsuper`monsters
270IF T1>80000 D1=D1+INT(4*(D1*(L1-1))
^0.5)
280ENDPROC
290DEFPROCdelay(I%)
300FOR Z%=0TOI%*1000
310NEXT
320ENDPROC
330DEFPROCmonster`noises:RN=RND(4):ON
RN GOTO 340,350,360,370
340PRINT"s snorting":ENDPROC
350PRINT"s":ENDPROC
360PRINT"s growling":ENDPROC
370PRINT"s howling":ENDPROC
380DEFPROCbuild`1
390FOR D1=1TO3
400A1=RND(7)
410R=RND(100)
420IF A1<5 A(D1)=A1
430IF L1=1 AND (A(1)=3 OR A(1)=5) AND
(A(2)=3 OR A(2)=5) A(3)=1:GOTO 490
440IF A1=5 IF R<10 A(D1)=A1:GOTO 490
450IF A1=6 IF R<25 A(D1)=A1:GOTO 490
460IF A1=7 IF R=1 A(D1)=A1:GOTO 490
470IF A1>4 A1=RND(4):A(D1)=A1
480REM**NO GO HERE**
490NEXT
500FOR D1=1TO3
510IF A(D1)=2 PROCbuild`2
520IF A(D1)=4 PROCbuild`2
530NEXT
540ENDPROC
550DEFPROCbuild`2
560A(D1+3)=RND(4)
570IF A(D1+3)=1 ENDPROC
580IF A(D1+3)=4 ENDPROC
590PROCmonster
600FOR X=1 TO 14
610A(-30*(D1=1)-45*(D1=2)-60*(D1=3)+X-
1)=A(9+X)
620NEXT
630ENDPROC
640DEFPROCstatus`1
650PRINTCHR$135;CHR$157'CHR$135;CHR$15
7;CHR$132;"Your hit points stand at: ";H
1
660PRINTCHR$135;CHR$157;CHR$132;"You h
ave ";S1;" spells"
670PRINTCHR$135;CHR$157;CHR$132;"You a
re on level :";L1
680PRINTCHR$135;CHR$157;CHR$132;"You h
ave ";G1;" gold pieces"
690PRINTCHR$135;CHR$157;CHR$132;"and y
ou have killed ";M1;" monsters!!"
700IF J1=0 PRINTCHR$135;CHR$157:GOTO72
0
710PRINTCHR$135;CHR$157;CHR$132;"You a
lso have a ";J1*25;"% luckstone"'CHR$135
;CHR$157
720PRINTCHR$135;CHR$157'CHR$135;CHR$15
7;CHR$133;CHR$141;"Your rating now is "'
CHR$135;CHR$157;CHR$133;CHR$141;"Your ra
ting now is "'CHR$135;CHR$157:GOSUB721:G
OTO730
721FORN=0TO1:PRINTCHR$135;CHR$157;CHR$
133;CHR$141;
722IF INT(SC)<1000 PRINT"Slasher"
723IF INT(SC)>1000 AND INT(SC)<2000 TH
EN PRINT"Warrior"
724IF INT(SC)>2000 AND INT(SC)<4000 TH
EN PRINT"Champion"
725IF INT(SC)>4000 AND INT(SC)<8000 TH
EN PRINT"Lord"
726IF INT(SC)>8000 AND INT(SC)<16000 T
HEN PRINT"Warlord"
727IF INT(SC)>16000 AND INT(SC)<32000
THEN PRINT"Dragonslayer"
728IF INT(SC)>32000 THEN PRINT"Ultimat
e Warrior"
729NEXTN:RETURN
730PROCstatus`2:ENDPROC
740DEFPROCoptions
750PRINT''CHR$130;SPC(4);"LEFT";SPC(7)
;"FORWARDS";SPC(6)"RIGHT"
760FOR D1=1TO3
770PRINTSPC(1);
780IF A(D1)=1 PRINTCHR$129;" Corridor
";
790IF A(D1)=2 PRINTCHR$129;" Door
";
800IF A(D1)=3 PRINTCHR$129;"Blank wall
";
810IF A(D1)=4 PRINTCHR$129;" Room
";
820IF A(D1)=5 PRINTCHR$129;" Stairs up
";
830IF A(D1)=6 PRINTCHR$129;"Stairs dow
n";
840IF A(D1)=7 PRINTCHR$136;CHR$131;"
Exit ";CHR$137
850NEXT
860ENDPROC
870DEFPROCoperate`cell(I%)
880ON I% GOTO 890,1500
890PRINT''CHR$130"Which direction - L,
F,R or S(tatus)? ";:SS=0
900L=1:F=2:R=3:S=4
910PROCread`keyboard:D1=key
920D1=-((D1=76)+2*(D1=70)+3*(D1=82)+4*
(D1=83))
930IF D1=S PROCstatus`1:GOTO890
940IF D1<>0 GOTO 960
950PRINTCHR$11;CHR$11;CHR$11;CHR$11:GO
TO890
960IF A(D1+3)<>2 IF A(D1+3)<>3 GOTO 10
00
970FOR X=1 TO 4
980A(9+X)=A(-30*(D1=1)-45*(D1=2)-60*(D
1=3)+X-1)
990NEXT
1000IF A(D1)=7 PROCexit(1) ELSE ON A(D1
) GOTO 1010,1020,1250,1330,1620,1660
1010ENDPROC
1020PRINT''CHR$130"Door...O-open, L-lis
ten ";
1030O=1:L=2:S=3
1040PROCread`keyboard:A=key
1050A=-((A=79)+2*(A=76)+3*(A=83))
1060IF A=S PROCstatus`1:GOTO1020
1070IF A<>0 GOTO 1090
1080PRINTCHR$11;CHR$11;CHR$11;CHR$11:GO
TO1020
1090IF A=O GOTO 1330
1100IF A=L R1=A(D1+3)
1110PRINT'CHR$130"You hear ";
1120IF R1<>2 AND R1<>3 PRINT"nothing":G
OTO1160
1130R=RND(6)
1140IF R>2 PRINT"nothing":GOTO1160
1150PROCprint`monster:PRINT;A$;:PROCmon
ster`noises
1160PRINTCHR$130"Do you want to open it
? ";
1170Y=1:N=2:S=3
1180PROCread`keyboard:A=key
1190A=-((A=89)+2*(A=78)+3*(A=83))
1200IF A=S PROCstatus`1:GOTO 1160
1210IF A<>0 GOTO 1230
1220PRINTCHR$11;CHR$11:GOTO1160
1230IF A=Y GOTO 1340
1240PRINTCHR$130'"...Chicken!":PROCopti
ons:GOTO890
1250CLS:PRINT'CHR$136;CHR$131;SPC(5);"Y
ou can't move there dummy!"
1260IF RND(6)=1 PROCoptions:GOTO890
1270PRINT'CHR$130"But as you have a lik
ing for walls...."
1280PROCdelay(20)
1290D1=RND(20)
1300PRINTCHR$130"it fell over, causing
you ";D1;" hps damage"
1310H1=H1-D1
1320PROCstatus`1:ENDPROC
1330R1=A(D1+3)
1340CLS:PRINT'CHR$130"The room";
1350IF R1=1 PRINTCHR$130"is empty":PROC
delay(8):ENDPROC
1360PRINTCHR$130"contains ";
1370IF R1=2 PROCprint`monster:PRINT;B$;
A$;
1380IF R1=3 PRINT"treasure"'CHR$130"and
";:PROCprint`monster:PRINT;B$;A$;
1390IF R1=4 PRINT"treasure":T1=500:T=0
1400PRINT'CHR$130"What now?"''CHR$130"G
-go in, L-leave, H-help, S-status:- ";
1410G=1:L=2:H=3:S=4
1420PROCread`keyboard:A=key
1430A=-((A=71)+2*(A=76)+3*(A=72)+4*(A=8
3))
1440IF A=S PROCstatus`1:GOTO1400
1450IF A<>0 GOTO 1470
1460PRINTCHR$11;CHR$11;CHR$11;CHR$11;CH
R$11:GOTO1400
1470IF A=L GOTO 1240
1480IF A=H AND R1<4 PRINTCHR$130"The ";
:PROCprint`monster:PRINT;A$;" has";CHR$1
29;D1;CHR$130;"hps":GOTO1400
1490IF R1=4 PROCtreasure(1):ENDPROC
1500IF SS=2 SS=0:PROCdelay(20):CLS
1510CLS:PRINT''CHR$130"HIT POINTS:-";CH
R$132;A$;CHR$129;D1'CHR$130"HIT POINTS:-
";CHR$132"You";CHR$129;H1''CHR$130"Now w
hat?"''CHR$130"C-combat, S-cast spell, R
-retreat:- ";
1520C=1:S=2:R=3
1530PROCread`keyboard:A=key
1540A=-((A=67)+2*(A=83)+3*(A=82))
1550IF A=R GOTO 1590
1560IF A=C PROCcombat:ENDPROC
1570IF A=S IF S1<1 PRINTCHR$130"Er..you
don't seem to have any!"'CHR$130"You're
going to have to"CHR$129"FIGHT!":PROCde
lay(10) ELSE PROCcast`spell:IF F%=1 GOTO
1500 ELSE ENDPROC
1580PRINTCHR$11;CHR$11;CHR$11;CHR$11;CH
R$11:GOTO1500
1590IF RND(6)=1 PRINTCHR$130"TOUGH LUCK
. It attacks you":PROCdelay(8):PROCcomba
t:ENDPROC
1600IF RM=1 CLS:PRINT''CHR$130"With a b
urst of cowardly speed...":PROCdelay(8):
ENDPROC
1610GOTO1240
1620L1=L1-1
1630IF L1>0 ENDPROC
1640PRINT'''CHR$134;CHR$136;SPC(2);"Sor
ry, the stairs are blocked":L1=L1+1:PROC
delay(20)
1650CLS:PRINT':PROCoptions:GOTO890
1660L1=L1+1:ENDPROC
1670DEFPROCexit(I%)
1680ON I% GOTO 1690,1700
1690CLS:PRINTCHR$135;CHR$157'CHR$135;CH
R$157;CHR$136;CHR$133"Well done, you got
out alive"'CHR$135;CHR$157
1700E=1:PROCstatus`1:ENDPROC
1710END:ENDPROC
1720DEFPROCcast`spell
1730F%=0
1740S1=S1-1:SS=SS+1
1745H1=H1-RND(5)
1750PRINT'CHR$130"The now spell-blasted
";:PROCprint`monster:PRINT;A$;
1760IF A$="Intellect devourer" PRINTCHR
$11
1770H=RND(21)
1780IF V1<>0 D1=V1
1790D1=D1-H
1800IF D1<1 PRINT'CHR$130"lies dead on
the floor":M1=M1+1:SC=SC+L1:PROCtreasure
(2):ENDPROC
1810IF D1>0 PRINT'CHR$130"is angry, so
it advances";:PROCdelay(8)
1820IF RND(6)<3 PRINT''CHR$129" ... and
ATTACKS!!":PROCdelay(8):PROCcombat:ENDP
ROC
1830V1=D1:F%=1:ENDPROC
1840DEFPROCcombat
1850CLS:PRINT'CHR$130"You had a terrifi
c battle with";:PROCprint`monster:IF B$=
"a " OR B$="an " PRINT CHR$130"the"
1860PRINTCHR$130;A$;
1870IF V1<>0 D1=V1
1880IF H1>D1 PRINTCHR$130"and you slew
it!":PROCdelay(20):M1=M1+1:H1=H1-D1:SC=S
C+L1:PROCtreasure(2):ENDPROC
1890PRINTCHR$130"but it killed you"'CHR
$130"and took all your treasure":G1=0:H1
=H1-D1:PROCexit(2):ENDPROC
1900DEFPROCstatus`2
1910Z$=CHR$135+CHR$157+CHR$129:IF H1<=0
PROCdead:ENDPROC
1920IF E<>1 THEN 1980
1930IF H1<150 H1=150
1940IF S1<15 S1=15
1950L1=1:E=0:PRINTZ$'Z$'Z$;"Having left
the catacombs, you can"
1960PRINTZ$;"only enter again at level
1 but your"
1970PRINTZ$;"hps and spells have been r
eplenished"'Z$
1980PRINTZ$'Z$+"Press space to continue
"
1990PRINTZ$;"Press Q to save character
on disc";
2000*FX15,1
2010z$=GET$:IF ASC(z$)<>32 AND z$<>"Q"
PRINTCHR$11:GOTO1990
2020IF z$<>"Q" ENDPROC ELSE PROCsave`ch
aracter:PROCdead:END:ENDPROC
2030DEFPROCsave`character
2035CLS
2040INPUT''"What is your name,"'"(maxim
um of 7 characters) "NM$
2050IF LEN(NM$)>7 PRINT:GOTO2040
2070PRINT''CHR$130"Press any key when r
eady"'CHR$130"to record data"'
2080ZZ=GET
2090XY=OPENOUT(NM$)
2100PRINT#XY,H1,S1,L1,G1,M1,J1,SC
2110CLOSE#XY
2120ENDPROC
2130DEFPROCread`character
2140INPUT''"What is your name,"'"(maxim
um of 7 characters) ",NM$
2150IF LEN(NM$)>10 PRINT"too long...."'
GOTO2130
2170PRINT''CHR$130"Press any key to loa
d data"'
2180ZZ=GET
2190XY=OPENIN(NM$)
2200INPUT#XY,H1,S1,L1,G1,M1,J1,SC
2210CLOSE#XY
2220ENDPROC
2230DEFPROCdead
2240PRINT''CHR$130"Do you wish to play
again?"
2250W$=GET$:IF W$<>"Y" AND W$<>"N" PRIN
TCHR$11:GOTO 2230
2260IF W$="Y" RUN
2270CLS:PRINTCHR$130"Ok. Bye for now ad
venturer."'':END:ENDPROC
2280DEFPROCtreasure(I%)
2290ON I% GOTO 2300,2310
2300IF T1=0 PRINTCHR$130"It was an illu
sion":PROCdelay(3):ENDPROC
2310IF R1=2 PROCdelay(8):ENDPROC
2320PRINT CHR$130"There are:-"'
2330R=INT(LOG((RND(1)*T1+10)*INT(RND(1)
*L1/2+1))^2)
2340IF J1>0 R=R+INT(((25*J1)/100)*R)
2350PRINTCHR$129;R;CHR$130"gold pieces"
';:SC=SC+R/100:G1=G1+R
2360IF T=0 AND RND(100)<15+L1*2 GOTO238
0
2370IF T=0 PROCdelay(8):ENDPROC
2380FOR X=1 TO T
2390R=RND(11)
2400IF R=1 PRINTCHR$130"and a sword of
strength":H1=H1+RND(120)
2410IF R=2 PRINTCHR$130"and a shield":H
1=H1+RND(120)
2420IF R=3 PRINTCHR$130"and a suit of a
rmour":H1=H1+RND(90)
2430IF R=4 PRINTCHR$130"and a rune-cove
red scroll":S1=S1+RND(12)
2440IF R=5 PRINTCHR$130"and some more s
pells":S1=S1+RND(8)
2450IF R=6 PRINTCHR$130"and a potion of
healing":H1=H1+RND(75)
2460IF R=7 PRINTCHR$130"and a special a
rtefact":H1=H1+RND(100):S1=S1+RND(12)
2470IF R=8 PRINTCHR$130"and an amulet":
PROCrandom
2480IF R=9 PRINTCHR$130"and a magical r
ing":PROCrandom
2485IF R=10 PRINTCHR$130"and a spear":H
1=H1+RND(100)
2490IF R=11 Z=RND(6)/2
2500IF R=11 AND Z>J1 PRINTCHR$130"and a
";Z*25;"% luckstone"
2510IF R=11 AND J1<Z J1=Z
2520IF RND(11)=1 GOTO 2390
2530NEXT
2540PROCdelay(20):ENDPROC
2550DEFPROCrandom
2560IF RND(2)=1 H1=H1+RND(80):PROCdelay
(20):ENDPROC
2570S1=S1+RND(10):PROCdelay(20):ENDPROC
2580DEFPROCmonster
2590RESTORE
2600FOR Z=1 TO 14
2610READ D:A(9+Z)=RND(D)
2620NEXT
2630ENDPROC
2640DEFPROCprint`monster
2650R=A(10)
2660P=A(11):T=0
2670IF R=1 A$="Wraith":B$="a ":D1=10:T1
=8000:ENDPROC
2680IF R=2 A$="Vampire":B$="a ":D1=20:T
1=10000:ENDPROC
2690IF R=3 AND P<65 PROCserpents:A$=A$+
"Serpent":ENDPROC
2700IF R=4 AND P<65 PROCdemons:ENDPROC
2710IF R=5 AND P<65 PROCdevils:ENDPROC
2720IF R=6 A$="Troll":B$="a ":D1=16:T1=
6000:ENDPROC
2730IF R=7 A$="Kobold":B$="a ":D1=1:T1=
300:ENDPROC
2740IF R=8 A$="Ghost":B$="a ":D1=32:T1=
8000:ENDPROC
2750IF R=9 PROCgiants:A$=A$+"Giant":END
PROC
2760IF R=10 A$="Hydra":B$="a ":D1=50:T1
=4000:ENDPROC
2770IF R=11 AND P<65 A$="Intellect Devo
urer":B$="an ":D1=20:T1=6000:ENDPROC
2780IF R=12 A$="Salamander":B$="a ":D1=
20:T1=9000:T=2:ENDPROC
2790IF R=13 A$="Zombie":B$="a ":D1=8:T1
=0:ENDPROC
2800IF R=14 A$="Aerial servant":B$="an
":D1=40:T1=0:ENDPROC
2810IF R=15 A$="Basilisk":B$="a ":D1=10
:T1=6000:T=1:ENDPROC
2820IF R=16 A$="Beholder":B$="a ":D1=42
:T1=15000:T=3:ENDPROC
2830IF R=17 AND P<65 PROCelementals:A$=
A$+"Elemental":T1=0:ENDPROC
2840IF R=18 A$="Ettin":B$="an ":D1=39:T
1=12000:ENDPROC
2850IF R=19 A$="Gargoyle":B$="a ":D1=10
:T1=1000:ENDPROC
2860IF R=20 A$="Giant Wolf":B$="a ":D1=
34:T1=12000:ENDPROC
2870IF R=21 AND P<65 PROCgolems:A$=A$+"
Golem":T1=0:ENDPROC
2880IF R=22 A$="Hell hound":B$="a ":D1=
12:T1=1000:ENDPROC
2890IF R=23 PROClich:ENDPROC
2900IF R=24 A$="Were-":B$="a ":PROClyca
nthropes:ENDPROC
2910IF R=25 A$="Manticore":B$="a ":D1=4
8:T1=8000:T=1:ENDPROC
2920IF R=26 A$="Medusa":B$="a ":D1=15:T
1=12000:T=1:ENDPROC
2930IF R=27 AND P<65 A$="Mind slayer":B
$="a ":D1=48:T1=4000:T=2:ENDPROC
2940IF R=28 A$="Minotaur":B$="a ":D1=10
:T1=5000:ENDPROC
2950IF R=29 A$="Mummy":B$="a ":T1=5000:
D1=12:ENDPROC
2960IF R=30 A$="Orc":B$="an ":D1=2:T1=5
00:ENDPROC
2970IF R=31 A$="Purple worm":B$="a ":D1
=56:T1=9000:T=2:ENDPROC
2980IF R=32 AND P<65 A$="Umber hulk":B$
="an ":D1=34:T1=40000:T=2:ENDPROC
2990IF R=33 A$="Wight":B$="a ":D1=8:T1=
8000:ENDPROC
3000IF R=34 AND P<65 A$="Xorn":B$="a ":
D1=34:T1=40000:T=2:ENDPROC
3010A$="Hobgoblin":B$="a ":D1=6:T1=1000
:ENDPROC
3020DEFPROCserpents
3030R=A(12)
3040B$="a "
3050IF R=1 A$="Black ":D1=50:T1=60000:T
=2:ENDPROC
3060IF R=2 A$="White ":D1=40:T1=50000:T
=1:ENDPROC
3070IF R=3 A$="Blue ":D1=60:T1=70000:T=
2:ENDPROC
3080IF R=4 A$="Green ":D1=70:T1=80000:T
=3:ENDPROC
3090A$="Red ":D1=80:T1=90000:T=4:ENDPRO
C
3100DEFPROCdemons
3110R=A(13)
3120P=A(14)
3130IF R=1 AND P<5 A$="Demogorgon":B$="
":D1=95:T1=100000:T=6:ENDPROC
3140IF R=2 AND P<5 A$="Jubilex":B$=" ":
D1=80:T1=81000:T=2:ENDPROC
3150IF R=3 AND P<5 A$="Orcus":B$=" ":D1
=105:T1=150000:T=7:ENDPROC
3160A$="Type ":B$="a "
3170IF R=4 A$=A$+"VI":D1=60:T1=60000:T=
3:GOTO3240
3180IF R=5 A$=A$+"V":D1=50:T1=50000:T=2
:GOTO3240
3190IF R=6 A$=A$+"IV":D1=40:T1=40000:T=
1:GOTO3240
3200IF R=7 A$=A$+"III":D1=30:T1=30000:G
OTO3240
3210IF R=8 A$=A$+"II":D1=20:T1=20000:GO
TO3240
3220IF R=8 A$=A$+"I":D1=10:T1=10000:GOT
O3240
3230IF R<=3 R=A(15)+3:GOTO 3170
3240A$=A$+" DEMON":ENDPROC
3250DEFPROCdevils
3260R=A(16)
3270P=A(17)
3280IF R=1 AND P<5 A$="Asmodeus":B$=" "
:D1=110:T1=170000:ENDPROC
3290IF R=2 AND P<5 A$="Beelzebub":B$="
":D1=80:T1=81000:T=5:ENDPROC
3300IF R=3 AND P<5 A$="Dispaterz":B$="
":D1=70:T1=81000:T=3:ENDPROC
3310IF R=4 AND P<5 A$="Geryon":B$=" ":D
1=50:T1=81000:T=2:ENDPROC
3320IF R=5 A$="Barbed Devil":B$="a ":D1
=32:T1=0:ENDPROC
3330IF R=6 A$="Boned Devil":B$="a ":D1=
35:T1=0:ENDPROC
3340IF R=7 A$="Erinyes":B$="an ":D1=16:
T1=40000:ENDPROC
3350IF R=8 A$="Horned Devil":B$="a ":D1
=35:T1=5000:ENDPROC
3360IF R=9 A$="Ice Devil":B$="an ":D1=6
0:T1=10000:T=3:ENDPROC
3370IF R=10 A$="Pit fiend":B$="a ":D1=6
5:T1=12000:T=4:ENDPROC
3380R=A(18)+4:GOTO3320
3390DEFPROCgiants
3400R=A(19)
3410B$="a "
3420IF R=1 A$="Cloud ":D1=36:T1=9000:EN
DPROC
3430IF R=2 A$="Fire ":D1=30:T1=8000:END
PROC
3440IF R=3 A$="Frost ":D1=24:T1=8000:EN
DPROC
3450IF R=4 A$="Hill ":D1=16:T1=3000:END
PROC
3460IF R=5 A$="Stone ":D1=18:T1=4000:EN
DPROC
3470A$="Storm ":D1=42:T1=10000:T=1:ENDP
ROC
3480DEFPROCelementals
3490R=A(20)
3500IF R=1 A$="Air ":B$="an ":D1=90:END
PROC
3510IF R=2 A$="Earth ":B$="an ":D1=65:E
NDPROC
3520IF R=3 A$="Fire ":B$="a ":D1=48:END
PROC
3530A$="Water ":B$="a ":D1=60:ENDPROC
3540DEFPROCgolems
3550R=A(21)
3560IF R=1 A$="Clay ":B$="a ":D1=30:END
PROC
3570IF R=2 A$="Flesh ":B$="a ":D1=32:EN
DPROC
3580IF R=3 A$="Iron ":B$="an ":D1=90:EN
DPROC
3590A$="Stone ":B$="a ":D1=24:ENDPROC
3600DEFPROClich
3610D=A(22)
3620B$="a "
3630IF D>6 A$="Hobgoblin":D1=6:T1=1000:
ENDPROC
3640A$="Lich":D1=90:T1=80000:T=5:ENDPRO
C
3650DEFPROClycanthropes
3660R=A(23)
3670IF R=1 A$=A$+"bear":D1=10:T1=2500:E
NDPROC
3680IF R=2 A$=A$+"boar":D1=12:T1=3000:E
NDPROC
3690IF R=3 A$=A$+"rat":D1=8:T1=2000:END
PROC
3700IF R=4 A$=A$+"tiger":D1=20:T1=5000:
ENDPROC
3710A$=A$+"wolf":d1=8:t1=2000:ENDPROC
3720DEFPROCtitle
3730DIM A(80)
3740L1=1:G1=0:H1=100:M1=0:J1=0:S1=10:T=
0:D1=1:V1=0:SC=0:E=0
3750Z%=RND(-TIME)
3760VDU23,0,11,0,0,0,0,0,0
3770FOR I%=0TO24:PRINTTAB(0,I%)CHR$135;
CHR$157;
3780NEXT
3790PRINTTAB(13,8)CHR$141;CHR$132;"Cell
s And";TAB(13,9);CHR$141;CHR$132;"Cells
And"'
3800PRINTTAB(14,12)CHR$141;CHR$132;"Ser
pents";TAB(14,13)CHR$141;CHR$132;"Serpen
ts"
3810PROCdelay(8)
3820VDU23,0,11,255,0,0,0,0,0,0
3830CLS
3840ENDPROC
3850DEFPROCload
3860PRINT''CHR$130"Do you wish to load
a character"
3870PRINTCHR$130"from disc?";
3880W$=GET$:IF W$<>"Y" AND W$<>"N" PRIN
TCHR$11:GOTO3870
3890IF W$="Y" PROCread`character
3900ENDPROC
3910DEFPROCread`keyboard
3920*FX15,1
3930key=GET
3940PRINT CHR$(key)
3950ENDPROC