AKLABETH
AKLABETH
0 ON ERROR GOTO 4
1 SCREEN 1: VIEW PRINT: CLS : q$ = "": DIM pw(5): DIM c(5): DIM m$(10),
ml%(10, 1), mz%(10, 1): DIM w$(5)
8 RANDOMIZE ln
9 le = 0
20 DIM dn%(10, 10), te%(20, 20), xx%(10), yy%(10), pe%(10, 3), ld%(10,
5), cd%(10, 3), ft%(10, 5), la%(10, 3)
1
AKLABETH
59 NEXT
68 LOCATE 1, 1
69 LOCATE 1, 1
100 SCREEN 1: VIEW PRINT 1 TO 21: CLS 2: VIEW PRINT 22 TO 25: WINDOW
SCREEN (0, 0)-(279, 199): FOR y = -1 TO 1: FOR x = -1 TO 1
120 IF zz = 2 THEN LINE (x1 + 20, y1 + 20)-(x1 + 30, y1 + 20): LINE -(x1
+ 30, y1 + 30): LINE -(x1 + 20, y1 + 30): LINE -(x1 + 20, y1 + 20)
130 IF zz = 3 THEN
LINE (x1 + 10, y1 + 10)-(x1 + 20, y1 + 10): LINE -(x1 + 20, y1 +
40): LINE -(x1 + 10, y1 + 40)
LINE -(x1 + 10, y1 + 30): LINE -(x1 + 40, y1 + 30): LINE -(x1 + 40,
y1 + 40): LINE -(x1 + 30, y1 + 40): LINE -(x1 + 30, y1 + 10): LINE -(x1 +
40, y1 + 10)
LINE -(x1 + 40, y1 + 20): LINE -(x1 + 10, y1 + 20): LINE -(x1 + 10,
2
AKLABETH
y1 + 10)
END IF
140 IF zz = 4 THEN LINE (x1 + 20, y1 + 20)-(x1 + 30, y1 + 30): LINE (x1 +
20, y1 + 30)-(x1 + 30, y1 + 20)
150 IF zz = 5 THEN
LINE (x1, y1)-(x1 + 50, y1): LINE -(x1 + 50, y1 + 50): LINE -(x1,
y1 + 50): LINE -(x1, y1)
LINE (x1 + 10, y1 + 10)-(x1 + 10, y1 + 40): LINE -(x1 + 40, y1 +
40)
LINE -(x1 + 40, y1 + 10): LINE -(x1 + 10, y1 + 10): LINE -(x1 + 40,
y1 + 40): LINE (x1 + 10, y1 + 40)-(x1 + 40, y1 + 10)
END IF
160 IF zz = 1 THEN
LINE (x1 + 10, y1 + 50)-(x1 + 10, y1 + 40): LINE -(x1 + 20, y1 +
30): LINE -(x1 + 40, y1 + 30)
LINE -(x1 + 40, y1 + 50): LINE (x1, y1 + 10)-(x1 + 10, y1 + 10):
LINE (x1 + 50, y1 + 10)-(x1 + 40, y1 + 10)
LINE (x1, y1 + 40)-(x1 + 10, y1 + 40): LINE (x1 + 40, y1 + 40)-(x1
+ 50, y1 + 40)
END IF
170 IF zz = 1 THEN LINE (x1 + 10, y1)-(x1 + 10, y1 + 20): LINE -(x1 + 20,
y1 + 20): LINE -(x1 + 20, y1 + 30): LINE -(x1 + 30, y1 + 30): LINE -(x1 +
30, y1 + 10): LINE -(x1 + 40, y1 + 10): LINE -(x1 + 40, y1)
200 SCREEN 1: VIEW PRINT 1 TO 21: CLS 2: VIEW PRINT 22 TO 25: WINDOW
SCREEN (0, 0)-(279, 199): di = 0: tb = 2
3
AKLABETH
220 IF le = 4 AND di > 0 THEN LINE (ld%(di, 0), ld%(di, 4))-(ld%(di, 0),
ld%(di, 2)): LINE -(ld%(di, 1), ld%(di, 3)): LINE -(ld%(di, 1), ld%(di,
5))
224 IF ri = 4 AND di > 0 THEN LINE (279 - ld%(di, 0), ld%(di, 4))-(279 -
ld%(di, 0), ld%(di, 2)): LINE -(279 - ld%(di, 1), ld%(di, 3)): LINE -(279
- ld%(di, 1), ld%(di, 5))
232 LINE (l1, t2)-(l2, t2): LINE -(l2, b2): LINE -(l1, b2)
238 LINE (r1, t2)-(r2, t2): LINE -(r2, b2): LINE -(r1, b2)
242 IF ce = 8 THEN LINE (ft%(di, 0), 158 - ft%(di, 4))-(ft%(di, 2), 158 -
ft%(di, 5)): LINE -(ft%(di, 3), 158 - ft%(di, 5)): LINE -(ft%(di, 1), 158
- ft%(di, 4)): LINE -(ft%(di, 0), 158 - ft%(di, 4))
4
AKLABETH
249 IF ce = 5 AND di > 0 THEN VIEW PRINT: LOCATE 1, tb: PRINT "CHEST! ";
: tb = tb + 8
270 ON mc GOTO 300, 310, 320, 330, 340, 350, 360, 370, 380, 390
5
AKLABETH
310 LINE (c, b - 56 / di)-(c, b - 8 / di): LINE -(c + 10 / di, b): LINE
-(c + 30 / di, b): LINE -(c + 30 / di, b - 45 / di): LINE -(c + 10 / di, b
- 64 / di): LINE -(c, b - 56 / di)
321 LINE -(c + 20 / di, b - 5 / di): LINE -(c + 10 / di, b): LINE -(c +
15 / di, b - 5 / di)
LINE -(c + 5 / di, b - 30 / di): LINE -(c + 10 / di, b - 40 / di):
LINE -(c + 3 / di + .499, b - 35 / di)
LINE -(c - 3 / di + .499, b - 35 / di): LINE -(c - 10 / di, b - 40 /
di): LINE -(c - 5 / di, b - 30 / di)
6
AKLABETH
330 LINE (c, b)-(c - 15 / di, b): LINE -(c - 8 / di, b - 8 / di): LINE
-(c - 8 / di, b - 15 / di): LINE -(c - 15 / di, b - 23 / di): LINE -(c -
15 / di, b - 15 / di): LINE -(c - 23 / di, b - 23 / di)
332 LINE (c, b)-(c + 15 / di, b): LINE -(c + 8 / di, b - 8 / di): LINE
-(c + 8 / di, b - 15 / di): LINE -(c + 15 / di, b - 23 / di): LINE -(c +
15 / di, b - 15 / di): LINE -(c + 23 / di, b - 23 / di)
7
AKLABETH
8
AKLABETH
381 LINE -(c - 36 / di, b): LINE -(c - 34 / di, b - 2 / di): LINE -(c -
32 / di, b): LINE -(c - 28 / di, b)
LINE -(c - 28 / di, b - 3 / di): LINE -(c - 30 / di, b - 5 / di):
LINE -(c - 28 / di, b - 7 / di)
LINE -(c - 28 / di, b - 15 / di): LINE -(c, b - 27 / di)
383 LINE -(c + 36 / di, b): LINE -(c + 34 / di, b - 2 / di): LINE -(c +
32 / di, b): LINE -(c + 28 / di, b)
LINE -(c + 28 / di, b - 3 / di): LINE -(c + 30 / di, b - 5 / di):
LINE -(c + 28 / di, b - 7 / di)
LINE -(c + 28 / di, b - 15 / di): LINE -(c, b - 27 / di)
9
AKLABETH
10
AKLABETH
11
AKLABETH
590 RETURN
1000 DO: LOOP UNTIL INKEY$ = "": VIEW PRINT 22 TO 25: LOCATE 25, 1: PRINT
"COMMAND? "; : LOCATE CSRLIN, 10
12
AKLABETH
1090 pw(0) = pw(0) - 1 + SGN(in) * .9: IF pw(0) < 0 THEN c(0) = 0: PRINT
: PRINT "YOU HAVE STARVED!!!!!": GOTO 1093
1100 PRINT "NORTH": IF te%(tx, ty - 1) = 1 THEN PRINT "YOU CAN'T PASS THE
MOUNTAINS": GOTO 1090
1150 IF dn%(px + dx, py + dy) <> 1 AND dn%(px + dx, py + dy) < 10 THEN px
= px + dx: py = py + dy
1165 z = 0
1175 IF z > 0 THEN z = INT(RND(1) * 6): PRINT "AND A "; w$(z): pw(z) =
pw(z) + 1: SLEEP 1: GOTO 1090
1200 PRINT "EAST": IF te%(tx + 1, ty) = 1 THEN PRINT "YOU CAN'T PASS THE
MOUNTAINS": GOTO 1090
13
AKLABETH
1300 PRINT "WEST": IF te%(tx - 1, ty) = 1 THEN PRINT "YOU CAN'T PASS THE
MOUNTAINS": GOTO 1090
1400 PRINT "SOUTH": IF te%(tx, ty + 1) = 1 THEN PRINT "YOU CAN'T PASS THE
MOUNTAINS": GOTO 1090
1500 IF te%(tx, ty) = 3 THEN GOSUB 60080: GOSUB 60200: CLS : GOTO 1090
1510 IF te%(tx, ty) = 4 AND in = 0 THEN PRINT "GO DUNGEON": PRINT "PLEASE
WAIT ": SLEEP 1: in = 1: GOSUB 500: dx = 1: dy = 0: px = 1: py = 1: CLS :
GOTO 1090
1550 IF dn%(px, py) <> 7 AND dn%(px, py) <> 9 THEN 1580
14
AKLABETH
1586 IF in = 0 THEN PRINT "THOU HAST GAINED": PRINT lk; " HIT POINTS":
SLEEP 2: c(0) = c(0) + lk: lk = 0
1651 IF q$ = "r" THEN da = 10: PRINT "RAPIER": IF pw(1) < 1 THEN PRINT
"NOT OWNED": GOTO 1650
1652 IF q$ = "a" THEN da = 5: PRINT "AXE": IF pw(2) < 1 THEN PRINT "NOT
OWNED": GOTO 1650
1654 IF q$ = "b" THEN da = 4: PRINT "BOW": IF pw(4) < 1 THEN PRINT "NOT
OWNED": GOTO 1650
1656 IF q$ = "b" AND pt$ = "m" THEN PRINT "MAGES CAN'T USE BOWS!": GOTO
1650
1657 IF q$ = "r" AND pt$ = "m" THEN PRINT "MAGES CAN'T USE RAPIERS!":
GOTO 1650
1662 IF mn < 1 OR c(2) - RND(1) * 25 < mn + in THEN PRINT " YOU MISSED":
GOTO 1668
1665 IF mz%(mn, 1) < 1 THEN PRINT "THOU HAST KILLED A "; m$(mn): PRINT
"THOU SHALT RECEIVE": da = INT(mn + in): PRINT da; " PIECES OF EIGHT"
15
AKLABETH
1683 IF RND(1) > .75 THEN PRINT "LAST CHARGE ON THIS AMULET!": pw(5) =
pw(5) - 1
1695 PRINT "YOU HAVE BEEN TURNED": PRINT "INTO A LIZARD MAN": FOR y = 0
TO 4: c(y) = INT(c(y) * 2.5): NEXT: SLEEP 3: GOTO 1090
16
AKLABETH
2000 nm = 0: FOR x = 1 TO 10
2051 mz%(x, 0) = 1
2052 nm = nm + 1
2055 mz%(x, 1) = x * 2 + in * 2 * lp
17
AKLABETH
4509 PRINT "YOU ARE BEING ATTACKED": PRINT "BY A "; m$(mm)
4610 IF mm = 7 THEN pw(0) = INT(pw(0) / 2): PRINT "A GREMLIN STOLE SOME
18
AKLABETH
4630 PRINT "A THIEF STOLE A "; w$(zz): pw(zz) = pw(zz) - 1: GOTO 4525
6000 VIEW PRINT: CLS : PRINT : PRINT : PRINT " WE MOURN THE
PASSING OF"
6060 GOTO 1
7001 REM
7020 PRINT : PRINT : PRINT " WELCOME PEASANT INTO THE HALLS OF":
PRINT "THE MIGHTY LORD BRITISH. HEREIN THOU MAYCHOOSE TO DARE BATTLE WITH
THE EVIL": PRINT "CREATURES OF THE DEPTHS, FOR GREAT": PRINT "REWARD!"
7030 PRINT : PRINT "WHAT IS THY NAME PEASANT "; : INPUT pn$: pn$ =
UCASE$(pn$)
7040 PRINT "DOEST THOU WISH FOR GRAND ADVENTURE ? "; : DO: q$ = INKEY$:
LOOP WHILE q$ = ""
IF q$ <> "y" THEN PRINT : PRINT "THEN LEAVE AND BEGONE!": pn$ = "":
PRINT : PRINT " PRESS -SPACE- TO CONT."; : DO: q$ = INKEY$: LOOP
UNTIL q$ = " ": CLS : GOTO 1090
7045 PRINT
7050 PRINT : PRINT "GOOD! THOU SHALT TRY TO BECOME A ": PRINT
"KNIGHT!!!": PRINT : PRINT "THY FIRST TASK IS TO GO INTO THE": PRINT
19
AKLABETH
7060 PRINT : PRINT " GO NOW UPON THIS QUEST, AND MAY": PRINT "LADY
LUCK BE FAIR UNTO YOU.....": PRINT ".....ALSO I, BRITISH, HAVE INCREASED":
PRINT "EACH OF THY ATTRIBUTES BY ONE!"
7500 IF ta > 0 THEN PRINT : PRINT : PRINT pn$; " WHY HAST THOU
RETURNED?": PRINT "THOU MUST KILL A(N) "; m$(ta)
PRINT "GO NOW AND COMPLETE THY QUEST!": PRINT : PRINT "
PRESS -SPACE- TO CONT."; : DO: q$ = INKEY$: LOOP WHILE q$ = "": CLS : GOTO
1090
7900 SCREEN 1: VIEW PRINT: CLS : PRINT : PRINT : PRINT : pn$ = "LORD " +
pn$: PRINT " "; pn$; ","
7910 PRINT " THOU HAST PROVED THYSELF WORTHY": PRINT "OF
KNIGHTHOOD, CONTINUE PLAY IF THOU": PRINT "DOTH WISH, BUT THOU HAST
ACOMPLISHED": PRINT "THE MAIN OBJECTIVE OF THIS GAME..."
7930 PRINT : PRINT " NOW MAYBE THOU ART FOOLHEARTY": PRINT "ENOUGH
TOTRY DIFFICULTY LEVEL "; lp + 1
60000 SCREEN 1: VIEW PRINT: CLS : LOCATE 5, 1: INPUT "TYPE THY LUCKY
NUMBER....."; q$: ln = VAL(q$)
20
AKLABETH
60010 RANDOMIZE ln
60025 REM
60040 REM
60041 REM
60080 SCREEN 1: VIEW PRINT: CLS : PRINT : PRINT : PRINT " STAT'S
WEAPONS": PRINT : FOR x = 0 TO 5: PRINT c$(x); c(x); TAB(24);
"0-"; w$(x): NEXT: LOCATE 1, 1
21
AKLABETH
60110 LOCATE 19, 5: PRINT "1 FOR 10"; : PRINT TAB(15); : PRINT "N/A":
LOCATE 20, 5: PRINT "8"; : PRINT TAB(15); : PRINT "1-10": LOCATE 21, 5:
PRINT "5"; : PRINT TAB(15); : PRINT "1-5"
60120 LOCATE 22, 5: PRINT "6"; : PRINT TAB(15); : PRINT "1": LOCATE 23,
5: PRINT "3"; : PRINT TAB(15); : PRINT "1-4"; : LOCATE 24, 5: PRINT "15";
: PRINT TAB(15); : PRINT "?????"; : LOCATE 1, 1
60130 RETURN
60215 z = -1
60227 IF q$ = "r" AND pt$ = "m" THEN PRINT "I'M SORRY MAGES": PRINT
"CAN'T USE THAT!": SLEEP 2: GOTO 60210
60228 IF q$ = "b" AND pt$ = "m" THEN PRINT "I'M SORRY MAGES": PRINT
"CAN'T USE THAT!": SLEEP 2: GOTO 60210
60230 IF c(5) - p < 0 THEN PRINT "M'LORD THOU CAN NOT AFFORD THAT ITEM.":
SLEEP 2: GOTO 60210
22