Enkla äventyrsspel. (7 / 7 steg)
Steg 7: Aklabeth
0 PÅ FEL GOTO 4
1 skärm 1: Visa Skriv ut: CLS: q$ = "": DIM pw(5): DIM c(5): DIM m$(10), ml % (10, 1), mz % (10, 1): DIM w$(5)
4 REM PR # 0: I # 0
5 REM HIMEM: 49151
7 RENSA: GOSUB 60000
8 slumpmässigt ln
9 le = 0
10 SKÄRM 1: VISA SKRIV UT: CLS: PRINT TAB(12); : SKRIVA UT "VÄLKOMMEN TILL AKALABETH, WORLD OF DOOM!"
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)
30 för x = 0 till 20: te % (x, 0) = 1: te % (0, x) = 1: te % (x 20) = 1: te % (20, x) = 1: nästa
35 LOKALISERA 23, 1: PRINT "(VÄNTA)";
40 för x = 1 till 19: Y = 1 till 19: te % (x, y) = INT(RND(1) ^ 5 * 4,5)
41 om te % (x, y) = 3 och RND(1) >.5 då te % (x, y) = 0
42 NÄSTA: SKRIVA UT "."; : NÄSTA: SOVA 2
50 te%(INT(RND(1) * 19 + 1), INT(RND(1) * 19 + 1)) = 5: tx = INT(RND(1) * 19 + 1): ty = INT(RND(1) * 19 + 1): te % (tx, ty) = 3
51 xx%(0) = 139: yy%(0) = 79
52 för x = 2 till 20 steg 2: xx %(x / 2) = INT (ATN(1 / x) / ATN(1) * 140 +. 5): åå %(x / 2) = INT (xx %(x / 2) * 4 / 7)
53 pe % (x/2, 0) = 139 - xx %(x / 2): pe % (x/2, 1) = 139 + xx %(x / 2): pe % (x/2, 2) = 79 - åå %(x / 2): pe % (x/2, 3) = 79 + åå %(x / 2): nästa
54 pe % (0, 0) = 0: pe % (0, 1) = 279: pe % (0, 2) = 0: pe % (0, 3) = 159
55 för x = 1 till 10: cd % (x, 0) = 139 - xx%(x) / 3: cd % (x, 1) = 139 + xx%(x) / 3: cd % (x, 2) = 79 - yy%(x) *. 7: cd % (x 3) = 79 + yy%(x): nästa: PRINT ".";
56 för x = 0 till 9: ld % (x, 0) = (pe % (x, 0) * 2 + pe % (x + 1, 0)) / 3: ld % (x, 1) = (pe % (x, 0) + 2 * pe % (x + 1, 0)) / 3: w = % ld (x, 0) - pe % (x, 0)
57% ld (x, 2) = pe % (x, 2) + w * 4 / 7: ld % (x 3) = pe % (x, 2) + 2 * w * 4 / 7: ld % (x 4) = (pe % (x, 3) * 2 + pe % (x + 1, 3)) / 3: ld % (x, 5) = (pe % (x, 3) + 2 * pe % (x + 1, 3)) / 3
58% ld (x, 2) = ld (x, 4) - (% ld (x, 4) - ld % (x, 2)) *. 8: ld % (x 3) = ld (x, 5) - (% ld (x, 5) - ld % (x, 3)) *. 8: om ld % (x 3) = % ld (x 4) då ld % (x 3) = ld % (x, 3) - 1
59 NÄSTA
60 för x = 0 till 9: ft % (x, 0) = 139 - xx%(x) / 3: ft % (x, 1) = 139 + xx%(x) / 3: ft % (x, 2) = 139 - xx % (x + 1) / 3: ft % (x 3) = 139 + xx %(x + 1) / 3
61 ft % (x 4) = 79 + (yy%(x) * 2 + åå %(x + 1)) / 3: ft % (x, 5) = 79 + (yy%(x) + 2 * yy % (x + 1)) / 3: nästa
62 för x = 0 till 9: la % (x, 0) = (ft % (x, 0) * 2 + ft % (x, 1)) / 3: la % (x, 1) = (ft % (x, 0) + 2 * ft % (x, 1)) / 3: la % (x 3) = ft % (x, 4): la % (x, 2) = 159 - la % (x, 3): nästa
68 HITTA 1, 1
69 HITTA 1, 1
70 GOSUB 100: GÅ TILL 1000
90 för x = 0 till 9: Y = 0 5: PRINT ld % (x, y); "";: Nästa: Skriv ut: nästa: göra: q$ = INKEY$: ögla fördriva tiden q$ = ""
100 skärm 1: Visa skriva ut 1 till 21: CLS 2: Visa PRINT 22 till 25: fönstret skärmen (0, 0)-(279, 199): Y = -1 till 1: för x = -1 till 1
105 FODRAR (138, 75)-(142, 75): LINJE (140, 73)-(140, 77)
110 zz = te % (tx + x, ty + y): x1 = 65 + (x + 1) * 50: y1 = (y + 1) * 50
120 om zz 2 sedan raden = (x1 + 20, y1 + 20)-(x1 + 30, y1 + 20): LINE-(x1 + 30, y1 + 30): LINE-(x1 + 20, y1 + 30): LINE-(x1 + 20, y1 + 20)
130 om zz = 3 då
LINJE (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, y1 + 10)
SLUT OM
140 om zz = 4 då linje (x1 + 20, y1 + 20)-(x1 + 30, y1 + 30): LINE (x1 + 20, y1 + 30)-(x1 + 30, y1 + 20)
150 om zz = 5 sedan
LINJE (x1, y1)-(x1 + 50, y1): LINE-(x1 + 50, y1 + 50): LINE-(x1, y1 + 50): LINE-(x1, y1)
LINJE (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)
SLUT OM
160 om zz = 1 då
LINJE (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)
LINJE (x1, y1 + 40)-(x1 + 10, y1 + 40): LINE (x1 + 40, y1 + 40)-(x1 + 50, y1 + 40)
SLUT OM
170 om zz = 1 sedan linje (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)
190 NÄSTA: NÄSTA: FÖNSTER: ÅTERVÄNDA
200 skärm 1: Visa skriva ut 1 till 21: CLS 2: Visa PRINT 22 till 25: fönstret skärmen (0, 0)-(279, 199): di = 0: tb = 2
202 ce = dn % (px + dx * di, py + dy * di): le = dn % (px + dx * di + dy, py + dy * di - dx): ri = dn % (px + dx * di - dy, py + dy * di + dx)
204 l1 = pe % (di, 0): r1 = pe % (di, 1): t1 = pe % (di, 2): b1 = pe % (di, 3): l2 = pe % (di + 1, 0): r2 = pe % (di + 1, 1): t2 = pe % (di + 1, 2): b2 = pe % (di + 1, 3)
205 ce = INT(ce): le = INT(le): ri = INT(ri)
206 mc = INT(ce / 10): ce = ce - mc * 10: le = INT ((le / 10 - INT(le / 10)) * 10 +. 1): ri = INT ((ri / 10 - INT(ri / 10)) * 10 + 1)
208 om di = 0 då 216
210 IF ce = 1 OR ce = 3 OR ce = 4 då fodrar (l1, t1)-(r1, t1): LINE-(r1, b1): LINE-(l1, b1): LINE-(l1, t1)
212 om ce = 1 OR ce = 3 då en = 1: gå till 260
214 om ce = 4 då linje (cd % (di, 0), cd % (di, 3))-(cd % (di, 0), cd % (di, 2)): LINE-(cd % (di, 1), cd % (di, 2)): LINE-(cd % (di, 1), cd % (di, 3)): sv = 1: gå till 260
216 IF le = 1 OR le = 3 OR le = 4 då fodrar (l1, t1)-(l2, t2): linje (l1, b1)-(l2, b2)
218 om ri = 1 OR ri = 3 OR ri = 4 då fodrar (r1, t1)-(r2, t2): linje (r1, b1)-(r2, b2)
220 om le = 4 och di > 0 då linje (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))
222 om le = 4 och di = 0 då LINE (0, ld % (di, 2) - 3)-(ld % (di, 1), ld % (di, 3)): LINE-(ld % (di, 1), ld % (di, 5))
224 om ri = 4 och di > 0 då linje (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))
226 om ri = 4 och di = 0 då linje (279, ld % (di, 2) - 3)-(279 - ld % (di, 1), ld % (di, 3)): LINE-(279 - ld % (di, 1), ld % (di, 5))
228 om le = 3 OR le = 1 OR le = 4 sedan 234
230 om di <> 0 då fodrar (l1, t1)-(l1, b1)
232 fodrar (l1, t2)-(l2, t2): LINE-(l2, b2): LINE-(l1, b2)
234 om ri = 3 OR ri = 1 OR ri = 4 sedan 240
236 om di <> 0 då fodrar (r1, t1)-(r1, b1)
238 fodrar (r1, t2)-(r2, t2): LINE-(r2, b2): LINE-(r1, b2)
240 om ce = 7 OR ce = 9 sedan linje (ft % (di, 0), ft % (di, 4))-(ft % (di, 2), ft % (di, 5)): LINE-(ft % (di, 3), ft % (di, 5)): LINE-(ft % (di, 1), ft % (di, 4)): LINE-(ft % (di, 0), ft % (di, 4))
242 om ce = 8 sedan linje (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))
244 om ce = 7 OR ce = 8 då ba = la % (di, 3): TP = la % (di, 2): LX = la % (di, 0): RX = la % (di, 1): linje (LX, ba)-(LX, TP): linje (RX, TP)-(RX, ba)
246 om ce = 7 OR ce = 8 då y1 = (ba * 4 + TP) / 5: Y2 = (ba * 3 + TP * 2) / 5: Y3 = (ba * 2 + TP * 3) / 5: Y4 = (ba + TP * 4) / 5: linje (LX, y1)-(RX, y1): linje (LX, Y2)-(RX, Y2): linje (LX, Y3)-(RX, Y3): linje (LX, Y4)-(RX, Y4)
248 om di > 0 och ce = 5 då linje (139-10 / di, pe % (di, 3))-(139-10 / di, pe % (di, 3) - 10 / di): LINE-(139 + 10 / di, pe % (di, 3) - 10 / di): LINE-(139 + 10 / di, pe % (di, 3)): LINE-(139-10 / di, pe % (di, 3))
249 om ce = 5 och di > 0 då Visa Skriv ut: leta upp 1, tb: skriva ut "Bröst!"; : tb = tb + 8
250 om di > 0 och ce = 5 då linje (139-10 / di, pe % (di, 3) - 10 / di)-(139-5 / di, pe % (di, 3) - 15 / di): LINE-(139 + 15 / di, pe % (di, 3) - 15 / di): LINE-(139 + 15 / di, pe % (di, 3) - 5 / di): LINE-(139 + 10 / di, pe % (di, 3))
252 om di > 0 och ce = 5 då linje (139 + 10 / di, pe % (di, 3) - 10 / di)-(139 + 15 / di, pe % (di, 3) - 15 / di)
260 om mc < 1 sedan 490
265 b = 79 + yy%(di): c = 139
266 om mc = 8 sedan Visa Skriv ut: leta upp 1, tb: skriva ut "Bröst!"; : tb = tb + 8: PRINT: GOTO 269: REM samtal
267 Visa Skriv ut: leta upp 1, tb: PRINT m$(mc); : tb = tb + LEN(m$(mc)) + 2: Skriv ut: REM samtal
269 om di = 0 då 490
270 ON mc GOTO 300, 310, 320, 330, 340, 350, 360, 370, 380, 390
280 GOTO 490
300 linje (c - 23 / di, b)-(c - 15/di, b): LINE-(c - 15/di, b - 15/di): LINE-(c - 8/di, b - 30/di): LINE-(c + 8/di, b - 30/di): LINE-(c + 15/di, b - 15/di): LINE-(c + 15/di, b): LINE-(c + 23/di, b)
301 linje (c, b - 26 / di)-(c, b - 65/di): linje (c - 2 / di +.499, b - 38 / di)-(c + 2/di +.499, b - 38/di)
LINJE (c - 3 / di +.499, b - 45 / di)-(c + 3/di +.499, b - 45/di): linje (c - 5 / di +.499, b - 53 / di)-(c + 5/di +.499, b - 53/di)
302 linje (c - 23 / di, b - 56 / di)-(c - 30/di, b - 53/di): LINE-(c - 23/di, b - 45/di): LINE-(c - 23/di, b - 53/di): LINE-(c - 8/di, b - 38/di)
303 linje (c - 15 / di, b - 45 / di)-(c - 8/di, b - 60/di): LINE-(c + 8/di, b - 60/di): LINE-(c + 15/di, b - 45/di)
LINE-(c + 15/di, b - 42/di): LINE-(c + 15/di, b - 57/di): linje (c + 12 / di, b - 45 / di)-(c + 20/di, b - 45/di)
304 linje (c, b - 75 / di)-(c - 5/di +.499, b - 80/di): LINE-(c - 8/di, b - 75/di): LINE-(c - 5/di +.499, b - 65/di)
LINE-(c + 5/di +.499, b - 65/di): LINE-(c + 5/di +.499, b - 68/di): LINE-(c - 5/di +.499, b - 68/di): LINE-(c - 5/di +.499, b - 65/di)
305 LINE-(c + 5/di +.499, b - 65/di): LINE-(c + 8/di, b - 75/di): LINE-(c + 5/di +.499, b - 80/di): LINE-(c - 5/di +.499, b - 80/di): PSET (c - 5 / di +.499, b - 72 / di): PSET (c + 5 / di +.499, b - 72 / di)
309 GOTO 490
310 linje (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)
311 LINE-(c - 10/di, b - 64/di): LINE-(c - 30/di, b - 45/di): LINE-(c - 30/di, b): LINE-(c - 10/di, b): LINE-(c, b - 8/di)
312 linje (c - 10 / di, b - 64 / di)-(c - 10/di, b - 75/di): LINE-(c, b - 83/di)
LINE-(c + 10/di, b - 75/di): LINE-(c, b - 79/di): LINE-(c - 10/di, b - 75/di): LINE-(c, b - 60/di)
LINE-(c + 10/di, b - 75/di): LINE-(c + 10/di, b - 64/di)
319 GOTO 490
320 linje (c + 5 / di, b - 30 / di)-(c, b - 25/di): LINE-(c - 5/di, b - 30/di): LINE-(c - 15/di, b - 5/di): LINE-(c - 10/di, b): LINE-(c + 10/di, b): LINE-(c + 15/di, b - 5/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)
322 linje (c - 5 / di, b - 33 / di)-(c - 3/di +.499, b - 30/di): linje (c + 5 / di, b - 33 / di)-(c + 3/di +.499, b - 30/di): linje (c - 5 / di, b - 20 / di)-(c - 5/di, b - 15/di)
323 linje (c + 5 / di, b - 20 / di)-(c + 5/di, b - 15/di): linje (c - 7 / di, b - 20 / di)-(c - 7/di, b - 15/di): linje (c + 7 / di, b - 20 / di)-(c + 7/di, b - 15/di)
329 GOTO 490
330 linje (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)
331 LINE-(c - 23/di, b - 45/di): LINE-(c - 15/di, b - 53/di): LINE-(c - 8/di, b - 53/di): LINE-(c - 15/di, b - 68/di): LINE-(c - 8/di, b - 75/di): LINE-(c, b - 75/di)
332 linje (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)
333 LINE-(c + 23/di, b - 45/di): LINE-(c + 15/di, b - 53/di): LINE-(c + 8/di, b - 53/di): LINE-(c + 15/di, b - 68/di): LINE-(c + 8/di, b - 75/di): LINE-(c, b - 75/di)
334 linje (c - 15 / di, b - 68 / di)-(c + 15/di, b - 68/di): linje (c - 8 / di, b - 53 / di)-(c + 8/di, b - 53/di): linje (c - 23 / di, b - 15 / di)-(c + 8/di, b - 45/di)
335 linje (c - 8 / di, b - 68 / di)-(c, b - 60/di): LINE-(c + 8/di, b - 68/di): LINE-(c + 8/di, b - 60/di): LINE-(c - 8/di, b - 60/di): LINE-(c - 8/di, b - 68/di)
336 linje (c, b - 38 / di)-(c - 8/di, b - 38/di): LINE-(c + 8/di, b - 53/di): LINE-(c + 8/di, b - 45/di): LINE-(c + 15/di, b - 45/di): LINE-(c, b - 30/di): LINE-(c, b - 38/di)
339 GOTO 490
340 linje (c - 10 / di, b - 15 / di)-(c - 10/di, b - 30/di): LINE-(c - 15/di, b - 20/di): LINE-(c - 15/di, b - 15/di): LINE-(c - 15/di, b): LINE-(c + 15/di, b): LINE-(c + 15/di, b - 15/di): LINE-(c - 15/di, b - 15/di)
341 linje (c - 15 / di, b - 10 / di)-(c + 15/di, b - 10/di): linje (c - 15 / di, b - 5 / di)-(c + 15/di, b - 5/di)
342 linje (c, b - 15 / di)-(c - 5/di, b - 20/di): LINE-(c - 5/di, b - 35/di): LINE-(c + 5/di, b - 35/di): LINE-(c + 5/di, b - 20/di): LINE-(c + 10/di, b - 15/di)
343 linje (c - 5 / di, b - 20 / di)-(c + 5/di, b - 20/di): linje (c - 5 / di, b - 25 / di)-(c + 5/di, b - 25/di): linje (c - 5 / di, b - 30 / di)-(c + 5/di, b - 30/di)
344 linje (c - 10 / di, b - 35 / di)-(c - 10/di, b - 40/di): LINE-(c - 5/di, b - 45/di): LINE-(c + 5/di, b - 45/di): LINE-(c + 10/di, b - 40/di): LINE-(c + 10/di, b - 35/di)
345 linje (c - 10 / di, b - 40 / di)-(c, b - 45/di): LINE-(c + 10/di, b - 40/di)
346 linje (c - 5 / di, b - 40 / di)-(c + 5/di, b - 40/di): LINE-(c + 15/di, b - 30/di): LINE-(c, b - 40/di): LINE-(c - 15/di, b - 30/di): LINE-(c - 5/di +.499, b - 40/di)
349 GOTO 490
350 linjen (c - 20 / di, 79 - yy%(di))-(c - 20/di, b - 88/di): LINE-(c - 10/di, b - 83/di): LINE-(c + 10/di, b - 83/di): LINE-(c + 20/di, b - 88/di): LINE-(c + 20 / di, 79 - yy%(di)): LINE-(c - 20/di, 79 - åå %(di))
351 linje (c - 20 / di, b - 88 / di)-(c - 30/di, b - 83/di): LINE-(c - 30/di, b - 78/di): linje (c + 20 / di, b - 88 / di)-(c + 30/di, b - 83/di): LINE-(c + 40/di, b - 83/di)
352 linje (c - 15 / di, b - 86 / di)-(c - 20/di, b - 83/di): LINE-(c - 20/di, b - 78/di): LINE-(c - 30/di, b - 73/di): LINE-(c - 30/di, b - 68/di): LINE-(c - 20/di, b - 63/di)
353 linje (c - 10 / di, b - 83 / di)-(c - 10/di, b - 58/di): LINE-(c, b - 50/di): linje (c + 10 / di, b - 83 / di)-(c + 10/di, b - 78/di): LINE-(c + 20/di, b - 73/di): LINE-(c + 20/di, b - 40/di)
354 linje (c + 15 / di, b - 85 / di)-(c + 20/di, b - 78/di): LINE-(c + 30/di, b - 76/di): LINE-(c + 30/di, b - 60/di)
355 linje (c, b - 83 / di)-(c, b - 73/di): LINE-(c + 10/di, b - 68/di): LINE-(c + 10/di, b - 63/di): LINE-(c, b - 58/di)
359 GOTO 490
360 linje (c + 5 / di +.499, b - 10 / di)-(c - 5/di +.499, b - 10/di): LINE-(c, b - 15/di): LINE-(c + 10/di, b - 20/di): LINE-(c + 5/di +.499, b - 15/di): LINE-(c + 5/di +.499, b - 10/di)
361 LINE-(c + 7/di +.499, b - 6/di): LINE-(c + 5/di +.499, b - 3/di): LINE-(c - 5/di +.499, b - 3/di): LINE-(c - 7/di +.499, b - 6/di): LINE-(c - 5/di +.499, b - 10/di)
362 linje (c + 2 / di +.499, b - 3 / di)-(c + 5/di +.499, b): LINE-(c + 8/di, b)
LINJE (c - 2 / di +.499, b - 3 / di)-(c - 5/di +.499, b): LINE-(c - 8/di, b): PSET (c + 3 / di +.499, b - 8 / di)
PSET (c - 3 / di +.499, b - 8 / di): linje (c + 3 / di +.499, b - 5 / di)-(c - 3/di +.499, b - 5/di)
363 GOTO 490
370 linje (139-10 / di, pe % (di, 3))-(139-10 / di, pe % (di, 3) - 10 / di): LINE-(139 + 10 / di, pe % (di, 3) - 10 / di): LINE-(139 + 10 / di, pe % (di, 3)): LINE-(139-10 / di, pe % (di, 3))
371 linje (139-10 / di, pe % (di, 3) - 10 / di)-(139-5 / di, pe % (di, 3) - 15 / di): LINE-(139 + 15 / di, pe % (di, 3) - 15 / di): LINE-(139 + 15 / di, pe % (di, 3) - 5 / di): LINE-(139 + 10 / di, pe % (di, 3))
372 linje (139 + 10 / di, pe % (di, 3) - 10 / di)-(139 + 15 / di, pe % (di, 3) - 15 / di)
373 GOTO 490
380 linje (c - 14 / di, b - 46 / di)-(c - 12/di, b - 37/di): LINE-(c - 20/di, b - 32/di): LINE-(c - 30/di, b - 32/di)
LINE-(c - 22/di, b - 24/di): LINE-(c - 40/di, b - 17/di): LINE-(c - 40/di, b - 7/di): LINE-(c - 38/di, b - 5/di)
LINE-(c - 40/di, b - 3/di): LINE-(c - 40/di, b)
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)
382 linje (c + 14 / di, b - 46 / di)-(c + 12/di, b - 37/di): LINE-(c + 20/di, b - 32/di)
LINE-(c + 30/di, b - 32/di): LINE-(c + 22/di, b - 24/di): LINE-(c + 40/di, b - 17/di)
LINE-(c + 40/di, b - 7/di): LINE-(c + 38/di, b - 5/di): LINE-(c + 40/di, b - 3/di): LINE-(c + 40/di, b)
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)
384 linje (c + 6 / di, b - 48 / di)-(c + 38/di, b - 41/di): LINE-(c + 40/di, b - 42/di): LINE-(c + 18/di, b - 56/di)
LINE-(c + 12/di, b - 56/di): LINE-(c + 10/di, b - 57/di): LINE-(c + 8/di, b - 56/di): LINE-(c - 8/di, b - 56/di)
LINE-(c - 10/di, b - 58/di): LINE-(c + 14/di, b - 58/di): LINE-(c + 16/di, b - 59/di)
385 LINE-(c + 8/di, b - 63/di): LINE-(c + 6/di, b - 63/di): LINE-(c + 2/di +.499, b - 70/di)
LINE-(c + 2/di +.499, b - 63/di): LINE-(c - 2/di +.499, b - 63/di): LINE-(c - 2/di +.499, b - 70/di)
LINE-(c - 6/di, b - 63/di): LINE-(c - 8/di, b - 63/di): LINE-(c - 16/di, b - 59/di): LINE-(c - 14/di, b - 58/di)
386 LINE-(c - 10/di, b - 57/di): LINE-(c - 12/di, b - 56/di): LINE-(c - 18/di, b - 56/di): LINE-(c - 36/di, b - 47/di)
LINE-(c - 36/di, b - 39/di): LINE-(c - 28/di, b - 41/di): LINE-(c - 28/di, b - 46/di): LINE-(c - 20/di, b - 50/di)
LINE-(c - 18/di, b - 50/di): LINE-(c - 14/di, b - 46/di)
387 GOTO 3087
390 linje (c + 6 / di, b - 60 / di)-(c + 30/di, b - 90/di): LINE-(c + 60/di, b - 30/di): LINE-(c + 60/di, b - 10/di): LINE-(c + 30/di, b - 40/di): LINE-(c + 15/di, b - 40/di)
391 linje (c - 6 / di, b - 60 / di)-(c - 30/di, b - 90/di): LINE-(c - 60/di, b - 30/di): LINE-(c - 60/di, b - 10/di): LINE-(c - 30/di, b - 40/di): LINE-(c - 15/di, b - 40/di)
392 linje (c, b - 25 / di)-(c + 6/di, b - 25/di): LINE-(c + 10/di, b - 20/di): LINE-(c + 12/di, b - 10/di): LINE-(c + 10/di, b - 6/di)
LINE-(c + 10/di, b): LINE-(c + 14/di, b): LINE-(c + 15/di, b - 5/di): LINE-(c + 16/di, b): LINE-(c + 20/di, b)
393 LINE-(c + 20/di, b - 6/di): LINE-(c + 18/di, b - 10/di): LINE-(c + 18/di, b - 20/di): LINE-(c + 15/di, b - 30/di): LINE-(c + 15/di, b - 45/di): LINE-(c + 40/di, b - 60/di): LINE-(c + 40/di, b - 70/di)
394 LINE-(c + 10/di, b - 55/di): LINE-(c + 6/di, b - 60/di): LINE-(c + 10/di, b - 74/di): LINE-(c + 6/di, b - 80/di)
LINE-(c + 4/di +.499, b - 80/di): LINE-(c + 3/di +.499, b - 82/di): LINE-(c + 2/di +.499, b - 80/di): LINE-(c, b - 80/di)
395 linje (c, b - 25 / di)-(c - 6/di, b - 25/di): LINE-(c - 10/di, b - 20/di): LINE-(c - 12/di, b - 10/di): LINE-(c - 10/di, b - 6/di)
LINE-(c - 10/di, b): LINE-(c - 14/di, b): LINE-(c - 15/di, b - 5/di): LINE-(c - 16/di, b): LINE-(c - 20/di, b)
396 LINE-(c - 20/di, b - 6/di): LINE-(c - 18/di, b - 10/di): LINE-(c - 18/di, b - 20/di): LINE-(c - 15/di, b - 30/di): LINE-(c - 15/di, b - 45/di): LINE-(c - 40/di, b - 60/di): LINE-(c - 40/di, b - 70/di)
397 LINE-(c - 10/di, b - 55/di): LINE-(c - 6/di, b - 60/di): LINE-(c - 10/di, b - 74/di): LINE-(c - 6/di, b - 80/di)
LINE-(c - 4/di +.499, b - 80/di): LINE-(c - 3/di +.499, b - 82/di): LINE-(c - 2/di +.499, b - 80/di): LINE-(c, b - 80/di)
398 linje (c - 6 / di, b - 25 / di)-(c, b - 6/di): LINE-(c + 10/di, b): LINE-(c + 4/di +.499, b - 8/di): LINE-(c + 6/di, b - 25/di)
LINJE (c - 40 / di, b - 64 / di)-(c - 40/di, b - 90/di): LINE-(c - 52/di, b - 80/di): LINE-(c - 52/di, b - 40/di)
399 linje (c + 40 / di, b - 86 / di)-(c + 38/di, b - 92/di): LINE-(c + 42/di, b - 92/di): LINE-(c + 40/di, b - 86/di): LINE-(c + 40/di, b - 50/di)
400 linje (c + 4 / di +.499, b - 70 / di)-(c + 6/di, b - 74/di): linje (c - 4 / di +.499, b - 70 / di)-(c - 6/di, b - 74/di): linje (c, b - 64 / di)-(c, b - 60/di): gå till 490
490 om sv = 1 då en = 0: fönster: återvända
491 di = di + 1: gå till 202
500 slumpmässigt-ABS(ln) - tx * 10 - ty * 1000 + i * 31,4
501 för x = 1 och 9: Y = 1 till 9: dn % (x, y) = 0: nästa: nästa
510 för x = 0 till 10: dn % (x, 0) = 1: dn % (x 10) = 1: dn % (0, x) = 1: dn % (10 x) = 1: nästa
520 för x = 2-8 steg 2: för y = 1 till 9: dn % (x, y) = 1: nästa: nästa
530 för x = 2-8 steg 2: för y = 1 till 9 steg 2
540 IF RND(1) > 95 sedan dn % (x, y) = 2
541 IF RND(1) > 95 sedan dn % (y, x) = 2
542 IF RND(1) >.6 sedan dn % (y, x) = 3
543 IF RND(1) >.6 sedan dn % (x, y) = 3
544 IF RND(1) >.6 sedan dn % (x, y) = 4
545 IF RND(1) >.6 sedan dn % (y, x) = 4
546 IF RND(1) >.97 sedan dn % (y, x) = 9
547 IF RND(1) >.97 sedan dn % (x, y) = 9
548 IF RND(1) >.94 sedan dn % (x, y) = 5
549 IF RND(1) >.94 sedan dn % (y, x) = 5
568 NÄSTA: NÄSTA
569 dn % (2, 1) = 0: om i / 2 = INT(in / 2) sedan dn % (7, 3) = 7: dn % (3, 7) = 8
570 om du är / 2 <> INT(in / 2) sedan dn % (7, 3) = 8: dn % (3, 7) = 7
580 om = 1 sedan dn % (1, 1) = 8: dn % (7, 3) = 0
585 GOSUB 2000
590 AVKASTNING
1000: LOOP TILLS INKEY$ = "": VISA SKRIVA UT 22 TILL 25: LETA UPP 25, 1: PRINT "KOMMANDO?";: LETA UPP CSRLIN, 10
1001 x$ = INKEY$: om x$ = "" sedan 1001
1002 om ASC(x$) = 0 då xq = ASC (mitten av$ (x$, 2)) ELSE xq = 0
1010 REM poke-16368, 0
1030 om xq = 72 sedan om SGN(in) + 1 GOTO 1100, 1150
1040 om xq = 77 sedan om SGN(in) + 1 GOTO 1200, 1250
1050 om xq = 75 sedan om SGN(in) + 1 GOTO 1300, 1350
1060 om xq = 80 sedan om SGN(in) + 1 GOTO 1400, 1450
1070 om x$ = "g" eller x$ = CHR$(13) eller x$ = "e" eller x$ = "k" eller x$ = "d" sedan på SGN(in) + 1 GOTO 1500, 1550
1080 om x$ = "a" eller x$ = "u" eller x$ = "c" sedan på SGN(in) + 1 GOTO 1600, 1650
1081 om x$ = "" då PRINT "PASS": GOTO 1090
1085 om x$ = "i" eller x$ = "z" eller x$ = "y" sedan 1700
1086 om x$ = "p" då om pa = 1 då pa = 0: PRINT "Paus av": GOTO 1000
1087 om x$ = "p" då om pa = 0 då pa = 1: PRINT "Paus på": GOTO 1000
1089 SKRIVA "VA?": GOTO 1000
1090 pw(0) = pw(0) - 1 + SGN(in) *. 9: om pw(0) < 0 sedan c(0) = 0: Skriv ut: skriva ut "Du har svultit!": GOTO 1093
1091 för jj = 0 till 2: leta upp 22 + jj, 30: PRINT "";: nästa
LETA UPP 22, 30: PRINT "MAT ="; LTRIM$(Str$(PW(0))); : HITTA 23, 30: PRINT "H.P.="; LTRIM$(Str$(c(0)));
LETA UPP 24, 30: PRINT "GULD ="; LTRIM$(Str$(c(5))); : Hitta 24, 1: REM samtal-868
1092 pw(0) = INT(pw(0) * 10) / 10
1093 om c(0) < = 0 då sova 3: gå till 6000
1095 om i > 0 sedan GOSUB 4000: om c(0) < = 0 sedan 1093
1096 för jj = 0 till 3: leta upp 22 + jj, 30: PRINT "";: nästa: leta upp 22, 30: PRINT "mat ="; LTRIM$(Str$(PW(0))); : HITTA 23, 30: PRINT "H.P.="; LTRIM$(Str$(c(0))); : HITTA, 24, 30: PRINT "GULD ="; LTRIM$(Str$(c(5))); : HITTA 24, 1
1097 om i = 0 då GOSUB 100: gå till 1000
1098 om i > 0 sedan GOSUB 200: gå till 1000
1100 skriva ut "Norra": om te % (tx, ty - 1) = 1 då PRINT "du CAN'T passerar THE berg": GOTO 1090
1110 ty = ty - 1: gå till 1090
1150 om dn % (px + dx, py + dy) <> 1 och dn % (px + dx, py + dy) < 10 sedan px = px + dx: py = py + dy
1155 PRINT "FRAMÅT"
1160 om dn % (px, py) = 2 och sedan skriva ut "AAARRRGGGHHH!!! En fälla! ": c(0) = c(0) - INT(RND(1) * i + 3): Herr = 1: i = i + 1: skriva ut"Fallande till nivå". i: sova 2: GOSUB 500: GOTO 1090
1165 z = 0
1170 om dn % (px, py) = 5 sedan dn % (px, py) = 0: PRINT "Guld!": z = INT(RND(1) * 5 * i + i): Skriv ut z; "-Bitar av åtta": c(5) = c(5) + z
1175 om z > 0 då z = INT(RND(1) * 6): skriva ut "AND A"; w$(z): pw(z) = pw(z) + 1: sova 1: gå till 1090
1190 GOTO 1090
1200 skriva ut "Österut": om te % (tx + 1, ty) = 1 då PRINT "du CAN'T passerar THE berg": GOTO 1090
1210 tx = tx + 1: gå till 1090
1250 PRINT "SVÄNG HÖGER"
1255 om dx <> 0 sedan dy = dx: dx = 0: GOTO 1090
1260 dx = -dy: dy = 0: GOTO 1090
1300 skriva ut "Väst": om te % (tx - 1, ty) = 1 då PRINT "du CAN'T passerar THE berg": GOTO 1090
1310 tx = tx - 1: gå till 1090
1350 PRINT "SVÄNG VÄNSTER"
1355 om dx <> 0 sedan dy = - dx: dx = 0: GOTO 1090
1360 dx = dy: dy = 0: GOTO 1090
1400 skriva ut "SÖDERUT": om te % (tx, ty + 1) = 1 då PRINT "du CAN'T passerar THE berg": GOTO 1090
1410 ty = ty + 1: gå till 1090
1450 PRINT "vända": dx = - dx: dy = -dy: GOTO 1090
1500 om te % (tx, ty) = 3 då GOSUB 60080: GOSUB 60200: CLS: GOTO 1090
1510 om te % (tx, ty) = 4 och i = 0 då PRINT "gå DUNGEON": PRINT "Vänta": sova 1: = 1: GOSUB 500: dx = 1: dy = 0: px = 1: py = 1: CLS: GOTO 1090
1515 om te % (tx, ty) = 5 sedan 7000
1520 SKRIVA "VA?": GOTO 1000
1550 om dn % (px, py) <> 7 och dn % (px, py) <> 9 sedan 1580
1555 PRINT "GÅ TILL NIVÅ"; i + 1
1560 i = i + 1: GOSUB 500: Herr = 1: gå till 1090
1580 om dn % (px, py) <> 8 då PRINT "Va?": GOTO 1090
1581 om i = 1 då PRINT "lämna DUNGEON": i = 0: GOTO 1586
1584 PRINT "GÅ TILL NIVÅ"; i - 1
1585 i = i - 1: GOSUB 500: Herr = 1
1586 om i = 0 då PRINT "du HAST fick": Skriv ut lk; "HIT POINTS": sova 2: c(0) = c(0) + lk: lk = 0
1587 CLS: GOTO 1090
1600 GOTO 1090
1650 mn = 0: da = 0: PRINT "ATTACK": skriva ut "Vilka vapen";: göra: q$ = INKEY$: ögla fördriva tiden q$ = ""
1651 om q$ = "r" sedan da = 10: PRINT "Värja": om pw(1) < 1 sedan skriva ut "Inte ägs": GOTO 1650
1652 om q$ = "en" då da = 5: PRINT "AXE": om pw(2) < 1 sedan skriva ut "Inte ägs": GOTO 1650
1653 om q$ = "s" då da = 1: PRINT "SKÖLD": om pw(3) < 1 sedan skriva ut "Inte ägs": GOTO 1650
1654 om q$ = "b" sedan da = 4: PRINT "BOW": om pw(4) < 1 sedan skriva ut "Inte ägs": GOTO 1650
1655 om q$ = "m" då PRINT "Magiska amulett": GOTO 1680
1656 om q$ = "b" och pt$ = "m" och skriv sedan ut "MAGIKER kan inte använda ROSETTER!": GOTO 1650
1657 om q$ = "r" och pt$ = "m" och skriv sedan ut "MAGIKER kan inte använda VÄRJOR!": GOTO 1650
1659 om da = 0 då PRINT "händer"
1660 om da = 5 OR da = 4 sedan 1670
1661 mn = dn % (px + dx, py + dy) / 10: mn = INT(mn)
1662 om mn < 1 OR c(2) - RND(1) * 25 < mn + i dess PRINT "Du missade": GOTO 1668
1663 PRINT "HIT!": da = (RND(1) * da + c.1 / 5): mz % (mn, 1) = INT (mz % (mn, 1) - da)
1664 PRINT m$(mn); "'S TRÄFF POÄNG ="; MZ % (mn, 1)
1665 om mz % (mn, 1) < 1 då PRINT "du HAST dödade A"; m$(MN): PRINT "Du skall ta emot": da = INT(mn + in): Skriv ut da; "BITAR AV ÅTTA"
1666 om mz % (mn, 1) < 1 då c(5) = INT(c(5) + da): dn % (ml (mn, 0), ml % (mn, 1)) = dn () % ml (mn, 0), ml % (mn, 1) - 10 * mn: mz % (mn, 0) = 0
1667 lk = lk + INT (mn * i/2): om mn = ta sedan ta = - ta
1668 om pa = 1 då PRINT "-CR - att forts";: INPUT q$
1669 SOVA 1: GOTO 1090
1670 om da = 5 sedan Skriv ut "att kasta eller SWING:";: göra: q$ = INKEY$: ögla fördriva tiden q$ = "": om q$ <> "t" skriver ut "SWING": GOTO 1661
1671 om da = 5 och sedan skriva ut "kasta": pw(2) = pw(2) - 1
1672 för y = 1 till 5: om px + dx * y < 1 OR px + dx * y > 9 OR py + dy * y > 9 OR py + dy * y < 0 sedan 1662
1673 mn = dn % (px + dx * y, py + dy * y): mn = INT(mn / 10): om mn > 0 sedan 1662
1674 NÄSTA: GOTO 1662
1680 om pw(5) < 1 Skriv "Ingen ägs": GOTO 1650
1681 om pt$ = "f" sedan q = INT(RND(1) * 4 + 1): GOTO 1685
1682 PRINT "1 stege-upp", "2-LADDER-DN": skriva ut "3-KILL", "4-BAD??": skriva ut "Val";: göra: q$ = INKEY$: ögla fördriva tiden q$ = "": q = VAL(q$): Skriv ut f: om q < 1 OR q > 4 sedan 1682
1683 IF RND(1) > 75 då PRINT "Sista laddning på denna amulett!": pw(5) = pw(5) - 1
1685 ON q gå till 1686, 1690, 1691, 1692
1686 PRINT "Stege upp": dn % (px, py) = 8: sova 1: gå till 1090
1690 PRINT "LADDER ner": dn % (px, py) = 7: sova 1: gå till 1090
1691 PRINT "Magi ATTACK": da = 10 + i: GOTO 1672
1692 PÅ INT(RND(1) * 3 + 1) GOTO 1693, 1695, 1697
1693 SKRIVA "DU HAR STÄNGTS": SKRIV UT "I EN PADDA!"
1694 för z2 = 1-4: c(z2) = 3: nästa z2: sova 3: GOTO 1090
1695 skriva "Du har STÄNGTS": Skriv ut "I en ödla MAN": Y = 0 till 4: c(y) = INT(c(y) * 2,5): nästa: sova 3: GOTO 1090
1697 PRINT "Slå tillbaka": c(0) = c(0) / 2: sova 2: gå till 1090
1700 GOSUB 60080: LETA UPP 1, 1: PRINT "PRESS - CR - FÖR ATT FORTSÄTTA"; : INPUT q$: skärm 1: CLS: GOTO 1090
2000 nm = 0: för x = 1 till 10
2005 mz % (x, 0) = 0: mz % (x, 1) = x + 3 + i
2010 om x - 2 > i eller RND(1) > 4 sedan 2090
2020 ml % (x, 0) = INT(RND(1) * 9 + 1): ml % (x, 1) = INT(RND(1) * 9 + 1)
2030 om dn % (ml % (x, 0), ml % (x, 1)) <> 0 sedan 2020
2040 om ml % (x, 0) = px och ml % (x, 1) = py sedan 2020
2050 dn % (ml % (x, 0), ml % (x, 1)) = x * 10
2051 mz % (x, 0) = 1
2052 nm = nm + 1
2055 mz % (x, 1) = x * 2 + i * 2 * lp
2090 NÄSTA: ÅTERVÄNDA
3087 linje (c - 28 / di, b - 41 / di)-(c + 30/di, b - 55/di): linje (c + 28 / di, b - 58 / di)-(c + 22/di, b - 56/di): LINE-(c + 22/di, b - 53/di)
LINE-(c + 28/di, b - 52/di): LINE-(c + 34/di, b - 54/di): linje (c + 20 / di, b - 50 / di)-(c + 26/di, b - 47/di)
3088 linje (c + 10 / di, b - 58 / di)-(c + 10/di, b - 61/di): LINE-(c + 4/di, b - 58/di): linje (c - 10 / di, b - 58 / di)-(c - 10/di, b - 61/di)
LINE-(c - 4/di, b - 58/di): linje (c + 40 / di, b - 9 / di)-(c + 50/di, b - 12/di): LINE-(c + 40/di, b - 7/di)
3089 linje (c - 8 / di, b - 25 / di)-(c + 6/di, b - 7/di): LINE-(c + 28/di, b - 7/di): LINE-(c + 28/di, b - 9/di): LINE-(c + 20/di, b - 9/di): LINE-(c + 6/di, b - 25/di): gå till 490
4000 för mm = 1 till 10: om mz % (mm, 0) = 0 då 4999
4010 ra = SQR ((px - ml % (mm, 0)) ^ 2 + (py - ml % (mm, 1)) ^ 2).
4011 om mz % (mm, 1) < i * lp sedan 4030
4020 om ra < 1,3 sedan 4500
4025 om mm = 8 AND ra < 3 sedan 4999
4030 x1 = SGN (px - ml % (mm, 0)): y1 = SGN (py - ml % (mm, 1))
4031 om mz % (mm, 1) < i * lp sedan x1 = - x 1: y1 = - y1
4035 om y1 = 0 då 4045
4040 d = dn % (ml % (mm, 0), (ml % (mm, 1) + y1 +. 499)): om d = 1 eller d > 9 OR d = 2 sedan 4045
4042 x1 = 0: GOTO 4050
4045 y1 = 0: om x1 = 0 då 4050
4046 d = dn % ((ml % (mm, 0) + x1 +.499), ml % (mm, 1)): om d = 1 eller d > 9 eller d = 2 sedan x1 = 0: GOTO 4081
4050 dn % (ml (mm, 0), ml % (mm, 1)) = dn () % ml (mm, 0), ml % (mm, 1) - 10 * mm
4055 om ml % (mm, 0) + x1 = px och ml % (mm, 1) + y1 = py sedan 4999
4060 ml % (mm, 0) = ml % (mm, 0) + x1: ml % (mm, 1) = ml % (mm, 1) + y1
4080 dn % (ml (mm, 0), ml % (mm, 1)) = (dn % (ml (mm, 0), ml % (mm, 1)) + 10 * mm +.499)
4081 IF x1 <> 0 OR y1 <> 0 sedan 4999
4082 om mz % (mm, 1) < i * lp och ra < 1,3 sedan 4500
4083 om mz % (mm, 1) < i * lp då mz % (mm, 1) = mz % (mm, 1) + mm + i
4499 GOTO 4999
4500 om mm = 2 eller mm = 7 sedan 4600
4509 SKRIVA "DU BLIR ATTACKERAD": PRINT "AV A"; m$(mm)
4510 om RND(1) * 20 - SGN(pw(3)) - c(3) + mm + i < 0 sedan skriva ut "Missat": GOTO 4525
4520 PRINT "HIT": c(0) = c(0) - INT(RND(1) * mm + i)
4525 om pa = 1 då PRINT "-CR - att forts";: INPUT q$
4530 GOTO 4999
4600 om RND(1) <.5 sedan 4509
4610 om mm = 7 då pw(0) = INT(pw(0) / 2): PRINT "En GREMLIN stal några mat": GOTO 4525
4620 zz = INT(RND(1) * 6): om pw(zz) < 1 sedan 4620
4630 SKRIVA UT "EN TJUV STAL A"; w$(ZZ): pw(zz) = pw(zz) - 1: GOTO 4525
4999 NÄSTA: ÅTERVÄNDA
6000 VISA SKRIV UT: CLS: TRYCK: PRINT: SKRIVA UT "VI SÖRJER BORTGÅNGEN AV"
6005 IF LEN(pn$) > 22 sedan pn$ = ""
6010 om pn$ = "" sedan pn$ = "THE bonde"
6020 pn$ = pn$ + "Och hans dator"
6030 tryck TAB (20 - INT(LEN(pn$)/2)); : PRINT pn$
6035 PRINT "ATT ÅBEROPA ETT MIRAKEL AV UPPSTÅNDELSEN"
6040 PRINT slå"< ESC nyckel >";
6050: LOOP TILLS INKEY$ = CHR$(27)
6060 GOTO 1
7000 SKÄRM 1: VISA SKRIV UT: CLS
7001 REM
7010 om pn$ <> "" sedan 7500
7020 PRINT: SKRIV UT: SKRIVA UT "VÄLKOMMEN BONDE IN I SALARNA I": SKRIVA UT "MIGHTY LORD BRITTERNA. HÄRI DU MAYCHOOSE ATT VÅGA SLÅSS MED ONDA ": PRINT"VARELSER AV DJUPET, FÖR STOR": PRINT"BELÖNING"!
7030 PRINT: skriva ut "Vad är ditt namn bonde";: INPUT pn$: pn$ = UCASE$(pn$)
7040 PRINT "DOEST DU ÖNSKAR FÖR GRAND ADVENTURE?"; : Gör: q$ = INKEY$: ögla fördriva tiden q$ = ""
OM q$ <> "y" och skriv sedan ut: skriva ut "Då ledighet och BEGONE!": pn$ = "": Skriv ut: skriva ut "PRESS - SPACE - till forts";: göra: q$ = INKEY$: LOOP tills q$ = "": CLS: GOTO 1090
7045 PRINT
7050 TRYCK: PRINT "BRA! THOU skall försöka att bli A ": PRINT"KNIGHT!": Skriv ut: skriva ut"Din första uppgift är att gå till den": PRINT"DUNGEONS och att returnera endast efter": PRINT" KILLING ett/en ";: ta = INT(c(4)/3): PRINT m$(ta)
7060 TRYCK: PRINT "GÅ NU PÅ DENNA QUEST, OCH MAJ": SKRIVA UT "LADY LUCK VARA RÄTTVIS TILL ER...": SKRIV UT "... ÄVEN JAG, BRITTISKA, HAR ÖKAT": SKRIVA UT"VARJE DIN ATTRIBUT AV EN!"
7070 TRYCK: PRINT "PRESS - SPACE - TILL CONT."; : Gör: q$ = INKEY$: ögla fördriva tiden q$ = "": för x = 0 5: c(x) = c(x) + 1: nästa: CLS: GOTO 1090
7500 om ta > 0 skriv: Skriv ut: PRINT pn$; "VARFÖR HAR DU ÅTERVÄNT?": SKRIVA "DU MÅSTE DÖDA ETT/EN"; m$(ta)
PRINT "GÅ NU OCH FYLLER DIN STRÄVAN!": TRYCK: PRINT "PRESS - SPACE - TILL CONT."; : Gör: q$ = INKEY$: ögla fördriva tiden q$ = "": CLS: GOTO 1090
7510 TRYCK: PRINT: TRYCK: PRINT "AAHH!! ....."; PN$: Skriv ut: skriva ut "Du har ACOMPLISHED din QUEST!": om ABS(ta) = 10 sedan 7900
7520 skriva ut "Detta inte tyvärr tillräckligt för att": skriva ut "Blivit en KNIGHT.": ta = ABS(ta) + 1: tryck: PRINT "Nu du måste döda ett/en"; m$(ta)
7530 GOTO 7060
7900 skärm 1: Visa Skriv ut: CLS: PRINT: tryck: PRINT: pn$ = "Herre" + pn$: PRINT ""; PN$; ","
7910 SKRIVA "DU HAR VISAT DIG VÄRDIG": PRINT "AV KNIGHTHOOD, FORTSÄTTA SPELA OM DU": SKRIVA UT "DOTH ÖNSKAN, MEN DU HAR ACOMPLISHED": SKRIVA UT "MAIN MÅLET MED DETTA SPEL..."
7920 om lp = 10 sedan 7950
7930 PRINT: SKRIVA UT "NU KANSKE DU ÄR FOOLHEARTY": SKRIVA UT "TILLRÄCKLIGT TOTRY SVÅRIGHETSGRAD"; LP + 1
7940 GOTO 7070
7950 PRINT: SKRIV UT "... RING CALIFORNIA PACIFIC DATOR": SKRIVA UT"PÅ (415)-569-9126 ATT RAPPORTERA DETTA": PRINT"FANTASTISKA BEDRIFT!"
7990 GOTO 7070
60000 SKÄRM 1: VISA SKRIV UT: CLS: LETA UPP 5, 1: INGÅNG "SKRIV DITT TURNUMMER..."; q$: ln = VAL(q$)
60005 LOKALISERA 7, 1: INPUT "NIVÅ AV LEK (1-10)..."; q$: lp = INT(VAL(q$))
60006 om lp < 1 OR lp > 10 sedan 60005
60010 slumpmässigt ln
60020 DATA "HIT POÄNG...", "STYRKA...", "FINGERFÄRDIGHET...", "UTHÅLLIGHET...", "VISDOM...", "GULD..."
60025 REM
60030 DIM c$(5): för x = 0 5: Läs c$(x): nästa
60040 REM
60041 REM
60042 DATA "SKELETT", "TJUV", "GIANT RAT", "ORC", "VIPER", "CARRION CRAWLER", "SPÖKE", "HÄRMA", "DEMONEN", "BALROG"
60043 för x = 1 till 10: Läs m$(x): nästa
60050 för x = 0 5: c(x) = INT(SQR(RND(1)) * 21 + 4): nästa x
60060 CLS: hitta 8, 1: för x = 0 5: PRINT c$(x); c(x): nästa: Skriv ut: skriva ut "Skall du spela med dessa kvaliteter?": PRINT TAB(20); : Gör: q$ = INKEY$: LOOP medan q$ = "": om q$ <> "y" sedan 60050
60061 LOKALISERA 15, 1: TRYCK: PRINT "OCH SKALL DU VARA EN FIGHTER ELLER EN MAGIKER?": PRINT TAB(20); : Gör: pt$ = INKEY$: LOOP medan pt$ = ""
60062 om pt$ = "m" OR pt$ = "f" sedan 60070
60063 GOTO 60061
60070 DATA "Mat", "Värja", "AXE", "SKÖLD", "Båge och pilar", "Magiska amulett": för x = 0 5: Läs w$(x): nästa
60075 GOSUB 60080: GOSUB 60200: ÅTERVÄNDA
60080 skärm 1: Visa Skriv ut: CLS: PRINT: tryck: PRINT "Stats vapen": Skriv ut: för x = 0 5: PRINT c$(x); c(x); TAB(24); "0-"; w$(x): nästa: leta upp 1, 1
60081 LOKALISERA 11, 18: SKRIVA UT "Q-QUIT"
60082 REM IF pw(0) > 0 då REM samtal 62450
60085 för z = 0 5: leta upp 5 + z, 25 - LEN(STR$(pw(z))): Skriv ut STR$(pw(z)); : NÄSTA
60090 HITTA 17, 5: PRINT "PRIS"; : SKRIVA UT TAB(15); : SKRIVA UT "SKADA". : SKRIVA UT TAB(25); : SKRIVA UT ""
60100 för x = 0 5: leta upp 19 + x, 25: PRINT w$(x); : NÄSTA
60110 LOKALISERA 19, 5: PRINT "1 FÖR 10"; : SKRIVA UT TAB(15); : PRINT "N/A": HITTA 20, 5: PRINT "8". : SKRIVA UT TAB(15); : SKRIV "1-10": HITTA 21, 5: PRINT "5". : SKRIVA UT TAB(15); : SKRIVA UT "1-5"
60120 LOKALISERA 22, 5: PRINT "6". : SKRIVA UT TAB(15); : TRYCK "1": LETA UPP 23, 5: PRINT "3". : SKRIVA UT TAB(15); : SKRIVA UT "1-4"; : HITTA 24, 5: PRINT "15". : SKRIVA UT TAB(15); : PRINT "???"; : HITTA 1, 1
60130 AVKASTNING
60200 LOKALISERA 1, 1: PRINT "VÄLKOMMEN TILL BUTIKEN FÖR ÄVENTYR"
60210 lokalisera 13, 1: för jj = 0 till 1: Skriv ut "": nästa
Leta upp 12, 1: Skriva ut "Vilket objekt skall du köpa";: leta upp 12, 27: göra: q$ = INKEY$: ögla fördriva tiden q$ = ""
OM q$ = "q" då PRINT: tryck: PRINT "BYE": sova 1: skärm 1: CLS: återvända
60215 z = -1
60220 om q$ = "f" då PRINT "Mat": z = 0: p = 1
60221 om q$ = "r" då PRINT "Värja": z = 1: p = 8
60222 om q$ = "en" sedan ut "AXE": z = 2: p = 5
60223 om q$ = "s" då PRINT "SKÖLD": z = 3: p = 6
60224 om q$ = "b" då PRINT "BOW": z = 4: p = 3
60225 om q$ = "m" då PRINT "Amulett": z = 5: p = 15
60226 om z = -1 så skriv ut UCASE$(q$): skriva ut "Jag är ledsen att vi inte har THAT.": sova 2: GOTO 60210
60227 om q$ = "r" och pt$ = "m" THEN PRINT "Jag är ledsen MAGIKER": PRINT "kan inte använda som!": sova 2: GOTO 60210
60228 om q$ = "b" och pt$ = "m" THEN PRINT "Jag är ledsen MAGIKER": PRINT "kan inte använda som!": sova 2: GOTO 60210
60230 om c(5) - p < 0 sedan ut "M'LORD du har inte råd att objekt.": sova 2: GOTO 60210
60235 om z = 0 då pw(z) = pw(z) + 9
60236 pw(z) = pw(z) + 1: c(5) = c(5) - p
60237 leta upp 10, 16: PRINT c(5); " "
60240 hitta 5 + z, 25 - LEN(STR$(pw(z))): Skriv ut pw(z); : HITTA 14, 1: SKRIV UT
60250 GOTO 60210