Étape 7: Aklabeth
0 ON ERROR GOTO 4
1 écran 1: voir imprimer : CLS: q$ = "": pw(5) DIM: c (5) DIM : DIM m$(10), ml % (10, 1), mz % (10, 1): DIM w$(5)
4 REM PR # 0: IN # 0
5 REM HIMEM : 49151
7 CLEAR : GOSUB 60000
8 RANDOMIZE ln
le 9 = 0
ÉCRAN 10 1: VOIR IMPRIMER : CLS : IMPRESSION TAB(12) ; : IMPRIMER « WELCOME TO AKALABETH, MONDE DE MALHEUR! »
20 % de dn DIM (10, 10), te % (20, 20), xx%(10), yy%(10), ld % (10, 5), cd % (10, 3), ft % (10, 5), pe % (10, 3), la % (10, 3)
30 pour x = 0 à 20 : te % (x, 0) = 1: te % (0, x) = 1: te % (x, 20) = 1: te % (20, x) = 1: prochaine
35 LOCALISER 23, 1: IMPRESSION « (VEUILLEZ PATIENTER) » ;
40 pour x = 1 à 19 : pour y = 1 à 19 : te % (x, y) = INT(RND(1) ^ 5 * 4. 5)
41 IF de % de te (x, y) = 3 et RND(1) >.5 puis te % (x, y) = 0
42 SUIVANT : PRINT "." ; : SUIVANT : SLEEP 2
te%(INT(RND(1) 50 * 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 x = 2-20 étape 2: xx %(x / 2) = INT (ATN(1 / x) / ATN(1) * 140 +. 5): yy %(x / 2) = INT (xx %(x / 2) * 4 / 7)
53 % de pe (x/2, 0) = 139 - xx %(x / 2): % de pe (x/2, 1) = 139 + xx %(x / 2): % de pe (x/2, 2) = 79 - yy %(x / 2): % de pe (x/2, 3) = 79 + yy %(x / 2) : prochaine
54 % de pe (0, 0) = 0: pe % (0, 1) = 279 : pe % (0, 2) = 0: pe % (0, 3) = 159
55 pour x = 1 à 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) : NEXT : PRINT "." ;
56 pour x = 0 à 9: % ld (x, 0) = (% de pe (x, 0) * 2 + % de pe (x + 1, 0)) / 3: % ld (x, 1) = (% de pe (x, 0) + 2 * % de pe (x + 1, 0)) / 3: w = % ld (x, 0) - pe % (x, 0)
57 % ld (x, 2) = % de pe (x, 2) + w * 4 / 7: % ld (x, 3) = % de pe (x, 2) + 2 * w * 4 / 7: % ld (x, 4) = (% de pe (x, 3) * 2 + % de pe (x + 1, 3)) / 3: % ld (x, 5) = (% de pe (x, 3) + 2 * % de pe (x + 1, 3)) / 3
58 % de 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: ld IF % (x, 3) = % ld (x, 4) puis % ld (x, 3) = % ld (x, 3) - 1
59 SUIVANT
60 pour x = 0 à 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 pieds et % (x, 4) = 79 + (yy%(x) * 2 + yy %(x + 1)) / 3: ft % (x, 5) = 79 + (yy%(x) + 2 * yy % (x + 1)) / 3: prochaine
62 pour x = 0 à 9: la % (x, 0) = (ft % (x, 0) * 2 + ft % (x, 1)) / 3: la % (x, 1) = (% de pi (x, 0) + 2 * ft % (x, 1)) / 3: la % (x, 3) = ft % (x, 4): la % (x, 2) = 159 - la % (x, 3): NEXT
68 LOCALISER 1, 1
69 LOCALISER 1, 1
GOSUB 70 100 : GOTO 1000
90 pour x = 0 à 9: pour y = 0 à 5: % ld PRINT (x, y) ; "«;: Prochaine : PRINT : prochaine :: q$ = INKEY$: LOOP WHILE q$ =" "
100 écran 1: voir imprimer 1 à 21 : CLS 2: vue PRINT 22 à 25 : moustiquaire (0, 0)-(279, 199) : pour y = -1 à 1: pour x = -1 à 1
LIGNE 105 (138, 75)-(142, 75) : LIGNE (140, 73)-(140, 77)
110 zz = te % (tx + x, ty + y): x1 = 65 + (x + 1) * 50 : y1 = (y + 1) * 50
120 IF zz = 2 THEN LINE (x1 + 20, y1 + 20)-(x1 + 30, y1 + 20): ligne-(x1 + 30, y1 + 30): ligne-(x1 + 20, y1 + 30): ligne-(x1 + 20, y1 + 20)
130 cas zz = 3 THEN
LIGNE (x1 + 10, y1 + 10)-(x1 + 20, y1 + 10): ligne-(x1 + 20, y1 + 40): ligne-(x1 + 10, y1 + 40)
LIGNE-(x1 + 10, y1 + 30): ligne-(x1 + 40, y1 + 30): ligne-(x1 + 40, y1 + 40): ligne-(x1 + 30, y1 + 40): ligne-(x1 + 30, y1 + 10): ligne-(x1 + 40, y1 + 10)
LIGNE-(x1 + 40, y1 + 20): ligne-(x1 + 10, y1 + 20): ligne-(x1 + 10, y1 + 10)
END IF
140 IF zz = 4 THEN LINE (x1 + 20, y1 + 20)-(x1 + 30, y1 + 30): ligne (x1 + 20, y1 + 30)-(x1 + 30, y1 + 20)
150 IF zz = 5 THEN
LIGNE (x1, y1)-(x1 + 50, y1): ligne-(x1 + 50, y1 + 50): ligne-(x1, y1 + 50): ligne-(x1, y1)
LIGNE (x1 + 10, y1 + 10)-(x1 + 10, y1 + 40): ligne-(x1 + 40, y1 + 40)
LIGNE-(x1 + 40, y1 + 10): ligne-(x1 + 10, y1 + 10): ligne-(x1 + 40, y1 + 40): ligne (x1 + 10, y1 + 40)-(x1 + 40, y1 + 10)
END IF
160 IF zz = 1 THEN
LIGNE (x1 + 10, y1 + 50)-(x1 + 10, y1 + 40): ligne-(x1 + 20, y1 + 30): ligne-(x1 + 40, y1 + 30)
LIGNE-(x1 + 40, y1 + 50): ligne (x1, y1 + 10)-(x1 + 10, y1 + 10): ligne (x1 + 50, y1 + 10)-(x1 + 40, y1 + 10)
LIGNE (x1, y1 + 40)-(x1 + 10, y1 + 40): ligne (x1 + 40, y1 + 40)-(x1 + 50, y1 + 40)
END IF
170 IF zz = 1 THEN LINE (x1 + 10, y1)-(x1 + 10, y1 + 20): ligne-(x1 + 20, y1 + 20): ligne-(x1 + 20, y1 + 30): ligne-(x1 + 30, y1 + 30): ligne-(x1 + 30, y1 + 10): ligne-(x1 + 40, y1 + 10): ligne-(x1 + 40, y1)
190 SUIVANT : NEXT : FENÊTRE : RETOUR
200 écran 1: voir imprimer 1 à 21 : CLS 2: vue PRINT 22 à 25 : moustiquaire (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 di IF = 0 puis 216
210 ce IF = 1 OR ce = 3 OR ce = 4 alors la ligne (l1, t1)-(r1, t1) : LINE-(r1, b1): ligne-(l1, b1): ligne-(l1, t1)
212 ce IF = 1 OR ce = 3 THEN fr = 1: 260 GOTO
214 ce IF = 4 alors la ligne (cd % (di, 0), cd (di, 3))-(cd % (di, 0), cd (di, 2)): ligne-(cd % (di, 1), cd (di, 2)): ligne-(cd % (di, 1), cd (di, 3)): fr = 1: 260 GOTO
216 le IF = 1 le OR = 3 le OR = 4 alors la ligne (l1, t1)-(l2, t2) : ligne (l1, b1)-(l2, b2)
218 IF ri = 1 OR ri = 3 OR ri = 4 alors la ligne (r1, t1)-(r2, t2) : ligne (r1, b1)-(r2, b2)
220 le IF = 4 et di > 0 THEN LINE (ld % (di, 0), ld % (di, 4))-(ld % (di, 0), ld % (di, 2)): ligne-(ld % (di, 1), ld % (di, 3)): ligne-(ld % (di, 1), ld % (di, 5))
222 le IF = 4 AND di = 0 THEN LINE (0, ld % (di, 2) - 3)-(ld % (di, 1), ld % (di, 3)): ligne-(ld % (di, 1), ld % (di, 5))
224 IF ri = 4 et di > 0 THEN LINE (279 - ld % (di, 0), ld % (di, 4))-(279 - ld % (di, 0), ld % (di, 2)): ligne-(279 - ld % (di, 1), ld % (di, 3)): ligne-(279 - ld % (di, 1), ld % (di, 5))
226 IF ri = 4 AND di = 0 THEN LINE (279, ld % (di, 2) - 3)-(279 - ld % (di, 1), ld % (di, 3)): ligne-(279 - ld % (di, 1), ld % (di, 5))
228 le IF = 3 le OR = 1 le OR = 4 puis de 234
230 IF di <> 0 puis ligne (l1, t1)-(l1, b1)
LIGNE 232 (l1, t2)-(l2, t2) : LINE-(l2, b2): ligne-(l1, b2)
234 IF ri = 3 OR ri = 1 OR ri = 4 puis 240
236 IF di <> 0 puis ligne (r1, t1)-(r1, b1)
LIGNE 238 (r1, t2)-(r2, t2) : LINE-(r2, b2): ligne-(r1, b2)
240 ce IF = 7 OR ce = 9 puis ligne (ft % (di, 0), ft % (di, 4))-(ft % (di, 2), ft % (di, 5)): ligne-(ft % (di, 3), ft % (di, 5)): ligne-(ft % (di, 1), ft % (di, 4)): ligne-(ft % (di, 0), ft % (di, 4))
242 ce IF = 8 puis ligne (ft % (di, 0), 158 - ft % (di, 4))-(ft % (di, 2), 158 - ft % (di, 5)): ligne-(ft % (di, 3), 158 - ft % (di, 5)): ligne-(ft % (di, 1), 158 - ft % (di, 4)): ligne-(ft % (di, 0), 158 - ft % (di, 4))
244 ce IF = 7 OR ce = 8 alors ba = la % (di, 3): TP = la % (di, 2): LX = la % (di, 0): RX = la % (di, 1): ligne (LX, ba)-(LX, TP) : ligne (RX, TP)-(RX, ba)
246 ce IF = 7 OR ce = 8 puis y1 = (ba * 4 + TP) / 5: Y2 = (ba * 3 + TP * 2) / 5: Y3 = (ba * TP + 2 * 3) / 5: Y4 = (ba + TP * 4) / 5: ligne (LX, y1)-(RX, y1) : ligne (LX, Y2)-(RX, Y2) : ligne (LX, Y3)-(RX, Y3) : ligne (LX, Y4)-(RX, Y4)
248 IF di > 0 et ce = 5 THEN LINE (139-10 / di, pe % (di, 3))-(139-10 / di, pe % (di, 3) - 10 / di): ligne-(139 + 10 / di, pe % (di, 3) - 10 / di): ligne-(139 + 10 / di, pe % (di, 3)): ligne-(139-10 / di, pe % (di, 3))
249 ce IF = 5 et di > 0 THEN PRINT VIEW : localiser 1, tb : imprimer « CHEST! » ; : CT = tb + 8
250 IF di > 0 et ce = 5 THEN LINE (139-10 / di, pe % (di, 3) - 10 / di)-(139-5 / di, pe % (di, 3) - 15 / di): ligne-(139 + 15 / di, pe % (di, 3) - 15 / di): ligne-(139 + 15 / di, pe % (di, 3) - 5 / di): ligne-(139 + 10 / di, pe % (di, 3))
252 IF di > 0 et ce = 5 THEN LINE (139 + 10 / di, pe % (di, 3) - 10 / di)-(139 + 15 / di, pe % (di, 3) - 15 / di)
260 IF mc < 1 puis 490
265 b = 79 + yy%(di): c = 139
266 IF mc = 8 alors visualiser imprimer : localiser 1, tb : imprimer « CHEST! » ; : CT = tb + 8: PRINT : 269 GOTO : appel de REM
267 Voir imprimer : recherchez 1, tb : PRINT m$(mc) ; : CT = tb + LEN(m$(mc)) + 2: PRINT : appel de REM
269 di IF = 0 alors 490
270 ON mc GOTO 300, 310, 320, 330, 340, 350, 360, 370, 380, 390
GOTO 280 490
LIGNE 300 (c - 23 / di, b)-(c - 15/di, b): ligne-(c - 15/di, b - 15/di): ligne-(c - 8/di, b - 30/di): ligne-(c + 8/di, b - 30/di): ligne-(c + 15/di, b - 15/di): ligne-(c + 15/di, b): ligne-(c + 23/di, b)
LIGNE 301 (c, b - 26 / di)-(b, c - 65/di): ligne (c - 2 / di + 499 LW, b - 38 / di)-(c + 2/di + 499 LW, b - 38/di)
LIGNE (c - 3 / di + 499 LW, b - 45 / di)-(c + 3/di + 499 LW, b - 45/di): ligne (c - 5 / di + 499 LW, b - 53 / di)-(c + 5/di + 499 LW, b - 53/di)
LIGNE 302 (c - 23 / di, b - 56 / di)-(c - 30/di, b - 53/di): ligne-(c - 23/di, b - 45/di): ligne-(c - 23/di, b - 53/di): ligne-(c - 8/di, b - 38/di)
LIGNE 303 (c - 15 / di, b - 45 / di)-(c - 8/di, b - 60/di): ligne-(c + 8/di, b - 60/di): ligne-(c + 15/di, b - 45/di)
LIGNE-(c + 15/di, b - 42/di): ligne-(c + 15/di, b - 57/di): ligne (c + 12 / di, b - 45 / di)-(c + 20/di, b - 45/di)
LIGNE 304 (c, b - 75 / di)-(c - 5/di + 499 LW, b - 80/di): ligne-(c - 8/di, b - 75/di): ligne-(c - 5/di + 499 LW, b - 65/di)
LIGNE-(c + 5/di + 499 LW, b - 65/di): ligne-(c + 5/di + 499 LW, b - 68/di): ligne-(c - 5/di + 499 LW, b - 68/di): ligne-(c - 5/di + 499 LW, b - 65/di)
LIGNE 305-(c + 5/di + 499 LW, b - 65/di): ligne-(c + 8/di, b - 75/di): ligne-(c + 5/di + 499 LW, b - 80/di): ligne-(c - 5/di + 499 LW, b - 80/di): PSET (c - 5 / di + 499 LW, b - 72 / di): PSET (c + 5 / di + 499 LW, b - 72 / di)
GOTO 309 490
LIGNE 310 (c, b - 56 / di)-(c, b - 8/di): ligne-(c + 10/di, b): ligne-(c + 30/di, b): ligne-(c + 30/di, b - 45/di): ligne-(c + 10/di, b - 64/di): ligne-(c, b - 56/di)
LIGNE 311-(c - 10/di, b - 64/di): ligne-(c - 30/di, b - 45/di): ligne-(c - 30/di, b): ligne-(c - 10/di, b): ligne-(c, b - 8/di)
LIGNE 312 (c - 10 / di, b - 64 / di)-(c - 10/di, b - 75/di): ligne-(b, c - 83/di)
LIGNE-(c + 10/di, b - 75/di): ligne-(c, b - 79/di): ligne-(c - 10/di, b - 75/di): ligne-(c, b - 60/di)
LIGNE-(c + 10/di, b - 75/di): ligne-(c + 10/di, b - 64/di)
GOTO 319 490
LIGNE 320 (c + 5 / di, b - 30 / di)-(c, b - 25/di): ligne-(c - 5/di, b - 30/di): ligne-(c - 15/di, b - 5/di): ligne-(c - 10/di, b): ligne-(c + 10/di, b): ligne-(c + 15/di, b - 5/di)
LIGNE 321-(c + 20/di, b - 5/di): ligne-(c + 10/di, b): ligne-(c + 15/di, b - 5/di)
LIGNE-(c + 5/di, b - 30/di): ligne-(c + 10/di, b - 40/di): ligne-(c + 3/di + 499 LW, b - 35/di)
LIGNE-(c - 3/di + 499 LW, b - 35/di): ligne-(c - 10/di, b - 40/di): ligne-(c - 5/di, b - 30/di)
LIGNE 322 (c - 5 / di, b - 33 / di)-(c - 3/di + 499 LW, b - 30/di): ligne (c + 5 / di, b - 33 / di)-(c + 3/di + 499 LW, b - 30/di): ligne (c - 5 / di, b - 20 / di)-(c - 5/di, b - 15/di)
LIGNE 323 (c + 5 / di, b - 20 / di)-(c + 5/di, b - 15/di): ligne (c - 7 / di, b - 20 / di)-(c - 7/di, b - 15/di): ligne (c + 7 / di, b - 20 / di)-(c + 7/di, b - 15/di)
GOTO 329 490
LIGNE 330 (c, b)-(c - 15/di, b): ligne-(c - 8/di, b - 8/di): ligne-(c - 8/di, b - 15/di): ligne-(c - 15/di, b - 23/di): ligne-(c - 15/di, b - 15/di): ligne-(c - 23/di, b - 23/di)
LIGNE 331-(c - 23/di, b - 45/di): ligne-(c - 15/di, b - 53/di): ligne-(c - 8/di, b - 53/di): ligne-(c - 15/di, b - 68/di): ligne-(c - 8/di, b - 75/di): ligne-(c, b - 75/di)
LIGNE 332 (c, b)-(c + 15/di, b): ligne-(c + 8/di, b - 8/di): ligne-(c + 8/di, b - 15/di): ligne-(c + 15/di, b - 23/di): ligne-(c + 15/di, b - 15/di): ligne-(c + 23/di, b - 23/di)
LIGNE 333-(c + 23/di, b - 45/di): ligne-(c + 15/di, b - 53/di): ligne-(c + 8/di, b - 53/di): ligne-(c + 15/di, b - 68/di): ligne-(c + 8/di, b - 75/di): ligne-(c, b - 75/di)
LIGNE 334 (c - 15 / di, b - 68 / di)-(c + 15/di, b - 68/di): ligne (c - 8 / di, b - 53 / di)-(c + 8/di, b - 53/di): ligne (c - 23 / di, b - 15 / di)-(c + 8/di, b - 45/di)
LIGNE 335 (c - 8 / di, b - 68 / di)-(c, b - 60/di): ligne-(c + 8/di, b - 68/di): ligne-(c + 8/di, b - 60/di): ligne-(c - 8/di, b - 60/di): ligne-(c - 8/di, b - 68/di)
LIGNE 336 (c, b - 38 / di)-(c - 8/di, b - 38/di): ligne-(c + 8/di, b - 53/di): ligne-(c + 8/di, b - 45/di): ligne-(c + 15/di, b - 45/di): ligne-(c, b - 30/di): ligne-(c, b - 38/di)
GOTO 339 490
LIGNE 340 (c - 10 / di, b - 15 / di)-(c - 10/di, b - 30/di): ligne-(c - 15/di, b - 20/di): ligne-(c - 15/di, b - 15/di): ligne-(c - 15/di, b): ligne-(c + 15/di, b): ligne-(c + 15/di, b - 15/di): ligne-(c - 15/di, b - 15/di)
LIGNE 341 (c - 15 / di, b - 10 / di)-(c + 15/di, b - 10/di): ligne (c - 15 / di, b - 5 / di)-(c + 15/di, b - 5/di)
LIGNE 342 (c, b - 15 / di)-(c - 5/di, b - 20/di): ligne-(c - 5/di, b - 35/di): ligne-(c + 5/di, b - 35/di): ligne-(c + 5/di, b - 20/di): ligne-(c + 10/di, b - 15/di)
LIGNE de 343 (c - 5 / di, b - 20 / di)-(c + 5/di, b - 20/di): ligne (c - 5 / di, b - 25 / di)-(c + 5/di, b - 25/di): ligne (c - 5 / di, b - 30 / di)-(c + 5/di, b - 30/di)
LIGNE 344 (c - 10 / di, b - 35 / di)-(c - 10/di, b - 40/di): ligne-(c - 5/di, b - 45/di): ligne-(c + 5/di, b - 45/di): ligne-(c + 10/di, b - 40/di): ligne-(c + 10/di, b - 35/di)
La ligne 345 (c - 10 / di, b - 40 / di)-(c, b - 45/di): ligne-(c + 10/di, b - 40/di)
LIGNE 346 (c - 5 / di, b - 40 / di)-(c + 5/di, b - 40/di): ligne-(c + 15/di, b - 30/di): ligne-(c, b - 40/di): ligne-(c - 15/di, b - 30/di): ligne-(c - 5/di + 499 LW, b - 40/di)
GOTO 349 490
LIGNE 350 (c - 20 / di, 79 - yy%(di))-(c - 20/di, b - 88/di): ligne-(c - 10/di, b - 83/di): ligne-(c + 10/di, b - 83/di): ligne-(c + 20/di, b - 88/di): ligne-(c + 20 / di, 79 - yy%(di)) : LINE-(c - 20/di, 79 - yy %(di))
LIGNE 351 (c - 20 / di, b - 88 / di)-(c - 30/di, b - 83/di): ligne-(c - 30/di, b - 78/di): ligne (c + 20 / di, b - 88 / di)-(c + 30/di, b - 83/di): ligne-(c + 40/di, b - 83/di)
LIGNE 352 (c - 15 / di, b - 86 / di)-(c - 20/di, b - 83/di): ligne-(c - 20/di, b - 78/di): ligne-(c - 30/di, b - 73/di): ligne-(c - 30/di, b - 68/di): ligne-(c - 20/di, b - 63/di)
LIGNE de 353 (c - 10 / di, b - 83 / di)-(c - 10/di, b - 58/di): ligne-(c, b - 50/di): ligne (c + 10 / di, b - 83 / di)-(c + 10/di, b - 78/di): ligne-(c + 20/di, b - 73/di): ligne-(c + 20/di, b - 40/di)
LIGNE 354 (c + 15 / di, b - 85 / di)-(c + 20/di, b - 78/di): ligne-(c + 30/di, b - 76/di): ligne-(c + 30/di, b - 60/di)
LIGNE 355 (c, b - 83 / di)-(b, c - 73/di): ligne-(c + 10/di, b - 68/di): ligne-(c + 10/di, b - 63/di): ligne-(c, b - 58/di)
GOTO 359 490
La ligne 360 (c + 5 / di + 499 LW, b - 10 / di)-(c - 5/di + 499 LW, b - 10/di): ligne-(c, b - 15/di): ligne-(c + 10/di, b - 20/di): ligne-(c + 5/di + 499 LW, b - 15/di): ligne-(c + 5/di + 499 LW, b - 10/di)
LIGNE 361-(c + 7/di + 499 LW, b - 6/di): ligne-(c + 5/di + 499 LW, b - 3/di): ligne-(c - 5/di + 499 LW, b - 3/di): ligne-(c - 7/di + 499 LW, b - 6/di): ligne-(c - 5/di + 499 LW, b - 10/di)
La ligne 362 (c + 2 / di + 499 LW, b - 3 / di)-(c + 5/di + 499 LW, b): ligne-(c + 8/di, b)
LIGNE (c - 2 / di + 499 LW, b - 3 / di)-(c - 5/di + 499 LW, b): ligne-(c - 8/di, b): PSET (c + 3 / di + 499 LW, b - 8 / di)
PSET (c - 3 / di + 499 LW, b - 8 / di): ligne (c + 3 / di + 499 LW, b - 5 / di)-(c - 3/di + 499 LW, b - 5/di)
363 GOTO 490
LIGNE 370 (139-10 / di, pe % (di, 3))-(139-10 / di, pe % (di, 3) - 10 / di): ligne-(139 + 10 / di, pe % (di, 3) - 10 / di): ligne-(139 + 10 / di, pe % (di, 3)): ligne-(139-10 / di, pe % (di, 3))
LIGNE 371 (139-10 / di, pe % (di, 3) - 10 / di)-(139-5 / di, pe % (di, 3) - 15 / di): ligne-(139 + 15 / di, pe % (di, 3) - 15 / di): ligne-(139 + 15 / di, pe % (di, 3) - 5 / di): ligne-(139 + 10 / di, pe % (di, 3))
LIGNE 372 (139 + 10 / di, pe % (di, 3) - 10 / di)-(139 + 15 / di, pe % (di, 3) - 15 / di)
GOTO 373 490
LIGNE 380 (c - 14 / di, b - 46 / di)-(c - 12/di, b - 37/di): ligne-(c - 20/di, b - 32/di): ligne-(c - 30/di, b - 32/di)
LIGNE-(c - 22/di, b - 24/di): ligne-(c - 40/di, b - 17/di): ligne-(c - 40/di, b - 7/di): ligne-(c - 38/di, b - 5/di)
LIGNE-(c - 40/di, b - 3/di): ligne-(c - 40/di, b)
LIGNE 381-(c - 36/di, b): ligne-(c - 34/di, b - 2/di): ligne-(c - 32/di, b): ligne-(c - 28/di, b)
LIGNE-(c - 28/di, b - 3/di): ligne-(c - 30/di, b - 5/di): ligne-(c - 28/di, b - 7/di)
LIGNE-(c - 28/di, b - 15/di): ligne-(c, b - 27/di)
LIGNE de 382 (c + 14 / di, b - 46 / di)-(c + 12/di, b - 37/di): ligne-(c + 20/di, b - 32/di)
LIGNE-(c + 30/di, b - 32/di): ligne-(c + 22/di, b - 24/di): ligne-(c + 40/di, b - 17/di)
LIGNE-(c + 40/di, b - 7/di): ligne-(c + 38/di, b - 5/di): ligne-(c + 40/di, b - 3/di): ligne-(c + 40/di, b)
LIGNE de 383-(c + 36/di, b): ligne-(c + 34/di, b - 2/di): ligne-(c + 32/di, b): ligne-(c + 28/di, b)
LIGNE-(c + 28/di, b - 3/di): ligne-(c + 30/di, b - 5/di): ligne-(c + 28/di, b - 7/di)
LIGNE-(c + 28/di, b - 15/di): ligne-(c, b - 27/di)
LIGNE 384 (c + 6 / di, b - 48 / di)-(c + 38/di, b - 41/di): ligne-(c + 40/di, b - 42/di): ligne-(c + 18/di, b - 56/di)
LIGNE-(c + 12/di, b - 56/di): ligne-(c + 10/di, b - 57/di): ligne-(c + 8/di, b - 56/di): ligne-(c - 8/di, b - 56/di)
LIGNE-(c - 10/di, b - 58/di): ligne-(c + 14/di, b - 58/di): ligne-(c + 16/di, b - 59/di)
La ligne 385-(c + 8/di, b - 63/di): ligne-(c + 6/di, b - 63/di): ligne-(c + 2/di + 499 LW, b - 70/di)
LIGNE-(c + 2/di + 499 LW, b - 63/di): ligne-(c - 2/di + 499 LW, b - 63/di): ligne-(c - 2/di + 499 LW, b - 70/di)
LIGNE-(c - 6/di, b - 63/di): ligne-(c - 8/di, b - 63/di): ligne-(c - 16/di, b - 59/di): ligne-(c - 14/di, b - 58/di)
LIGNE 386-(c - 10/di, b - 57/di): ligne-(c - 12/di, b - 56/di): ligne-(c - 18/di, b - 56/di): ligne-(c - 36/di, b - 47/di)
LIGNE-(c - 36/di, b - 39/di): ligne-(c - 28/di, b - 41/di): ligne-(c - 28/di, b - 46/di): ligne-(c - 20/di, b - 50/di)
LIGNE-(c - 18/di, b - 50/di): ligne-(c - 14/di, b - 46/di)
387 GOTO 3087
LIGNE 390 (c + 6 / di, b - 60 / di)-(c + 30/di, b - 90/di): ligne-(c + 60/di, b - 30/di): ligne-(c + 60/di, b - 10/di): ligne-(c + 30/di, b - 40/di): ligne-(c + 15/di, b - 40/di)
LIGNE 391 (c - 6 / di, b - 60 / di)-(c - 30/di, b - 90/di): ligne-(c - 60/di, b - 30/di): ligne-(c - 60/di, b - 10/di): ligne-(c - 30/di, b - 40/di): ligne-(c - 15/di, b - 40/di)
La ligne 392 (c, b - 25 / di)-(c + 6/di, b - 25/di): ligne-(c + 10/di, b - 20/di): ligne-(c + 12/di, b - 10/di): ligne-(c + 10/di, b - 6/di)
LIGNE-(c + 10/di, b): ligne-(c + 14/di, b): ligne-(c + 15/di, b - 5/di): ligne-(c + 16/di, b): ligne-(c + 20/di, b)
LIGNE 393-(c + 20/di, b - 6/di): ligne-(c + 18/di, b - 10/di): ligne-(c + 18/di, b - 20/di): ligne-(c + 15/di, b - 30/di): ligne-(c + 15/di, b - 45/di): ligne-(c + 40/di, b - 60/di): ligne-(c + 40/di, b - 70/di)
LIGNE 394-(c + 10/di, b - 55/di): ligne-(c + 6/di, b - 60/di): ligne-(c + 10/di, b - 74/di): ligne-(c + 6/di, b - 80/di)
LIGNE-(c + 4/di + 499 LW, b - 80/di): ligne-(c + 3/di + 499 LW, b - 82/di): ligne-(c + 2/di + 499 LW, b - 80/di): ligne-(c, b - 80/di)
LIGNE 395 (c, b - 25 / di)-(c - 6/di, b - 25/di): ligne-(c - 10/di, b - 20/di): ligne-(c - 12/di, b - 10/di): ligne-(c - 10/di, b - 6/di)
LIGNE-(c - 10/di, b): ligne-(c - 14/di, b): ligne-(c - 15/di, b - 5/di): ligne-(c - 16/di, b): ligne-(c - 20/di, b)
LIGNE 396-(c - 20/di, b - 6/di): ligne-(c - 18/di, b - 10/di): ligne-(c - 18/di, b - 20/di): ligne-(c - 15/di, b - 30/di): ligne-(c - 15/di, b - 45/di): ligne-(c - 40/di, b - 60/di): ligne-(c - 40/di, b - 70/di)
LIGNE de 397-(c - 10/di, b - 55/di): ligne-(c - 6/di, b - 60/di): ligne-(c - 10/di, b - 74/di): ligne-(c - 6/di, b - 80/di)
LIGNE-(c - 4/di + 499 LW, b - 80/di): ligne-(c - 3/di + 499 LW, b - 82/di): ligne-(c - 2/di + 499 LW, b - 80/di): ligne-(c, b - 80/di)
LIGNE 398 (c - 6 / di, b - 25 / di)-(c, b - 6/di): ligne-(c + 10/di, b): ligne-(c + 4/di + 499 LW, b - 8/di): ligne-(c + 6/di, b - 25/di)
LIGNE (c - 40 / di, b - 64 / di)-(c - 40/di, b - 90/di): ligne-(c - 52/di, b - 80/di): ligne-(c - 52/di, b - 40/di)
LIGNE 399 (c + 40 / di, b - 86 / di)-(c + 38/di, b - 92/di): ligne-(c + 42/di, b - 92/di): ligne-(c + 40/di, b - 86/di): ligne-(c + 40/di, b - 50/di)
LIGNE 400 (c + 4 / di + 499 LW, b - 70 / di)-(c + 6/di, b - 74/di): ligne (c - 4 / di + 499 LW, b - 70 / di)-(c - 6/di, b - 74/di): ligne (c, b - 64 / di)-(c, b - 60/di): 490 GOTO
490 en IF = 1 THEN fr = 0: fenêtre : retour
491 di = di + 1: GOTO 202
500 RANDOMIZE-ABS(ln) - tx * 10 - ty * 1000 + en * 31,4
501 pour x = 1 à 9: pour y = 1 à 9: % de dn (x, y) = 0: prochaine : prochaine
510 x = 0 à 10: % de dn (x, 0) = 1: % de dn (x, 10) = 1: dn % (0, x) = 1: dn % (x 10) = 1: prochaine
520 x = 2 à 8 étape 2: pour y = 1 à 9: % de dn (x, y) = 1: prochaine : prochaine
530 x = 2 à 8 étape 2: pour y = 1 à 9 Etape 2
540 IF RND(1) > 95 % puis de dn (x, y) = 2
541 IF RND(1) > 95 % puis de dn (y, x) = 2
542 IF RND(1) >.6 % puis de dn (y, x) = 3
543 IF RND(1) >.6 % puis de dn (x, y) = 3
544 IF RND(1) >.6 % puis de dn (x, y) = 4
545 IF RND(1) >.6 % puis de dn (y, x) = 4
546 IF RND(1) > 97 % de dn puis (y, x) = 9
547 IF RND(1) > 97 % puis de dn (x, y) = 9
548 IF RND(1) >.94 puis % de dn (x, y) = 5
549 IF RND(1) >.94 puis % de dn (y, x) = 5
568 SUIVANT : PROCHAINE
569 dn % (2, 1) = 0: dans le cas de / 2 = INT(in / 2) puis dn % (7, 3) = 7: dn % (3, 7) = 8
570 en cas de / 2 <> INT(in / 2) puis dn % (7, 3) = 8: dn % (3, 7) = 7
580 si in = 1 puis dn % (1, 1) = 8: dn % (7, 3) = 0
GOSUB 585 2000
RETOUR DE 590
1000 : BOUCLE JUSQU'À INKEY$ = "": VOIR IMPRIMER 22 À 25 : LOCALISER 25, 1: "COMMANDE D’IMPRESSION ? «;: RECHERCHEZ CSRLIN, 10
1001 x$ = INKEY$: si x$ = "" alors 1001
1002 IF ASC(x$) = 0 THEN xq = ASC (MID$ (x$, 2)) ELSE xq = 0
1010 REM poke-16368, 0
1030 xq IF = 72 puis sur SGN(in) + 1 GOTO 1100, 1150
1040 xq IF = 77 puis sur SGN(in) + 1 GOTO 1200, 1250
1050 xq IF = 75 puis sur SGN(in) + 1 GOTO 1300, 1350
1060 xq IF = 80 puis sur SGN(in) + 1 GOTO 1400, 1450
1070 si x$ = « g » ou x$ = CHR$(13) ou x$ = « e » ou x$ = « k » ou x$ = « d » puis ON SGN(in) + 1 GOTO 1500, 1550
1080 si x$ = « a » ou x$ = « u » ou x$ = « c » puis ON SGN(in) + 1 GOTO 1600, 1650
1081 si x$ = "" THEN PRINT « PASS »: GOTO 1090
1085 si x$ = « i » ou x$ = « z » ou x$ = « o » puis 1700
1086 si x$ = « p » puis IF pa = 1 THEN pa = 0: PRINT « PAUSE OFF »: GOTO 1000
1087 si x$ = « p » puis IF pa = 0 THEN pa = 1: PRINT « PAUSE ON »: GOTO 1000
1089 IMPRIMER « HEIN? »: GOTO 1000
1090 pw(0) = pw(0) - 1 + SGN(in) *. 9: IF pw(0) < 0 puis c(0) = 0: PRINT : PRINT « Vous avez faim!!! »: GOTO 1093
1091 jj = 0 à 2: 22 localiser + jj, 30 : PRINT "«;: prochaine
LOCALISER 22, 30 : PRINT "NOURRITURE =" ; LTRIM$(STR$(PW(0))) ; : RECHERCHEZ 23, 30 : IMPRESSION DE « H.P.= » ; LTRIM$(STR$(c(0))) ;
LOCALISER 24, 30 : PRINT "OR =" ; LTRIM$(STR$(c(5))) ; : Recherchez 24, 1: appel de REM-868
1092 pw(0) = INT(pw(0) * 10) / 10
1093 IF c(0) < = 0 THEN dormir 3: GOTO 6000
1095 IF > 0 alors GOSUB 4000 : IF c(0) < = 0 puis 1093
1096 pour jj = 0 à 3: 22 localiser + jj, 30 : PRINT "";: prochaine : localiser 22, 30 : PRINT "nourriture =" ; LTRIM$(STR$(PW(0))) ; : RECHERCHEZ 23, 30 : IMPRESSION DE « H.P.= » ; LTRIM$(STR$(c(0))) ; : RECHERCHEZ 24, 30 : PRINT "OR =" ; LTRIM$(STR$(c(5))) ; : RECHERCHEZ 24, 1
1097 si in = 0 THEN GOSUB 100 : GOTO 1000
1098 IF > 0 alors GOSUB 200 : GOTO 1000
1100 imprimer « Nord »: IF te % (tx, ty - 1) = 1 THEN PRINT « vous ne peut pas passer les montagnes »: GOTO 1090
1110 ty = ty - 1: GOTO 1090
1150 IF dn % (dx, py, px + dy) <> 1 et dn % (dx, py, px + dy) < 10 puis px = px + dx : py = py + dy
1155 PRINT « AVANT »
1160 IF dn % (px, py) = 2 THEN PRINT "AAARRRGGGHHH!!! Un piège! ": c(0) = c(0) - INT(RND(1) * à + 3): M. = 1: in = in + 1: imprimer"FALLING TO LEVEL"; dans : sommeil 2: 500 GOSUB : GOTO 1090
1165 z = 0
1170 dn IF % (px, py) = 5 alors dn % (px, py) = 0: PRINT "Or!!!": z = INT(RND(1) * 5 * en + en): PRINT z ; «-PIECES OF EIGHT ": c (5) = c (5) + z
1175 IF z > 0 alors z = INT(RND(1) * 6): PRINT "Et A" ; w$(z) : pw(z) = pw(z) + 1: 1 de dormir : GOTO 1090
1190 GOTO 1090
1200 imprimer « EAST »: IF te % (tx + 1, ty) = 1 THEN PRINT « vous ne peut pas passer les montagnes »: GOTO 1090
1210 tx = tx + 1: GOTO 1090
1250 PRINT « TOURNER À DROITE »
1255 IF dx <> 0 puis dy = dx : dx = 0: GOTO 1090
1260 dx = -dy: dy = 0: GOTO 1090
1300 imprimer « Ouest »: IF te % (tx - 1, ty) = 1 THEN PRINT « vous ne peut pas passer les montagnes »: GOTO 1090
1310 tx = tx - 1: GOTO 1090
1350 PRINT « À GAUCHE »
1355 IF dx <> 0 puis dy = - dx : dx = 0: GOTO 1090
1360 dx = dy: dy = 0: GOTO 1090
1400 imprimer « Sud »: IF te % (tx, ty + 1) = 1 THEN PRINT « vous ne peut pas passer les montagnes »: GOTO 1090
1410 ty = ty + 1: GOTO 1090
1450 PRINT « TURN AROUND »: dx = - dx: dy = -dy: GOTO 1090
1500 IF te % (tx, ty) = 3 THEN GOSUB 60080 : GOSUB 60200 : CLS : GOTO 1090
1510 IF te % (tx, ty) = 4 et en = 0 THEN PRINT « donjon aller »: PRINT « PLEASE WAIT »: SLEEP 1: in = 1: 500 GOSUB : dx = 1: dy = 0: px = 1: py = 1: CLS : GOTO 1090
1515 IF te % (tx, ty) = 5 puis 7000
1520 IMPRIMER « HEIN? »: GOTO 1000
1550 IF dn % (px, py) <> 7 et dn % (px, py) <> 9 puis 1580
1555 IMPRESSION « DESCENDRE DE NIVEAU » ; en + 1
1560 en = in + 1: 500 GOSUB : Monsieur = 1: GOTO 1090
1580 IF dn % (px, py) <> 8 puis PRINT "Hein?": GOTO 1090
1581 si in = 1 THEN PRINT « donjon quitter »: en = 0: GOTO 1586
1584 IMPRESSION « ALLER VERS LE HAUT AU NIVEAU » ; en - 1
1585, in = in French - 1: 500 GOSUB : Monsieur = 1
1586 si in = 0 THEN PRINT « THOU HAST acquise »: PRINT lk ; « POINTS de vie »: SLEEP 2: c(0) = c(0) + lk: lk = 0
1587 CLS : GOTO 1090
1600 GOTO 1090
1650 mn = 0: da = 0: PRINT « ATTACK »: PRINT « Quelle arme »;:: q$ = INKEY$: LOOP WHILE q$ = ""
1651 IF q$ = « o » puis da = 10 : PRINT « RAPIÈRE »: IF pw(1) < 1 puis imprimez « N'APPARTIENT pas »: GOTO 1650
1652 IF q$ = « a » puis da = 5: PRINT « Hache »: IF pw(2) < 1 puis imprimez « N'APPARTIENT pas »: GOTO 1650
1653 IF q$ = « s » puis da = 1: PRINT « Bouclier »: IF pw(3) < 1 puis imprimez « N'APPARTIENT pas »: GOTO 1650
1654 IF q$ = « b » puis da = 4: PRINT « BOW »: IF pw(4) < 1 puis imprimez « N'APPARTIENT pas »: GOTO 1650
1655 IF q$ = « m » THEN PRINT « Amulette magique »: GOTO 1680
1656 IF q$ = « b » et pt$ = « m » puis imprimer « MAGES ne peuvent pas utiliser des arcs! »: GOTO 1650
1657 IF q$ = « o » et pt$ = « m » puis imprimer « Les MAGES ne peuvent pas utiliser RAPIÈRES! »: GOTO 1650
1659 da IF = 0 THEN PRINT « HANDS »
1660 da IF = 5 OR da = 4 puis 1670
1661 mn = dn % (dx, py, px + dy) / 10 : mn = INT(mn)
1662 IF mn < 1 OR c-RND(1) (2) * 25 < mn + dans THEN PRINT « Vous avez manqué »: GOTO 1668
1663 PRINT « HIT »!!!: da = (RND(1) * da + c (1) / 5): mz % (mn, 1) = INT (mz % (mn, 1) - da)
M$(mn) impression de 1664 ; "'S HIT POINTS =" ; MZ % (mn, 1)
1665 IF de mz % (mn, 1) < 1 THEN PRINT « THOU HAST tué A » ; m$(mn) : PRINT « Tu RECEVRAS »: da = INT(mn + in) : da PRINT ; « PIECES OF EIGHT »
1666 IF mz % (mn, 1) < 1 puis 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 = LC + INT (mn * en/2): IF mn = ta, ta = - ta
1668 pa de IF = 1 THEN PRINT "-CR - à suite";: entrée q$
1669 DORMIR 1: GOTO 1090
1670 da IF = 5 THEN PRINT "TO THROW ou SWING: «;:: q$ = INKEY$: LOOP WHILE q$ =" ": si q$ <>"t"imprimer"SWING": GOTO 1661
1671 da IF = 5 THEN PRINT « THROW »: pw(2) = pw(2) - 1
1672 pour y = 1 à 5: IF px + dx * y < 1 OR px + dx * y > 9 OR py + dy * y > 9 OR py + dy * y < 0 puis 1662
1673 mn = dn % (px + dx * y, py + dy * y): mn = INT(mn / 10) : IF mn > 0 puis 1662
1674 SUIVANT : GOTO 1662
1680 si pw(5) < 1 puis imprimez « Aucun détenu »: GOTO 1650
1681 IF pt$ = "f" puis q = INT(RND(1) * 4 + 1): 1685 GOTO
1682 PRINT "1-LADDER-UP", "2-LADDER-DN": imprimer "tuer 3", « 4-BAD?? »: imprimer « CHOICE »;:: q$ = INKEY$: LOOP WHILE q$ = "": q = VAL(q$) : impression q: si q < 1 OR q > 4 puis 1682
1683 IF RND(1) >.75 puis PRINT « LAST ON CHARGE Cette amulette! »: pw(5) = pw(5) - 1
1685 ON q GOTO 1686, 1690, 1691, 1692
1686 imprimer « LADDER UP »: dn % (px, py) = 8: SLEEP 1: GOTO 1090
1690 PRINT « LADDER DOWN »: dn % (px, py) = 7: SLEEP 1: GOTO 1090
1691 PRINT « Attaque magique »: da = 10 + en : GOTO 1672
1692 SUR INT(RND(1) * 3 + 1) GOTO 1693, 1695, 1697
1693 IMPRIMER « VOUS AVEZ ÉTÉ ACTIVÉ »: PRINT "EN CRAPAUD!"
1694 pour z2 = 1 à 4: c(z2) = 3: z2 suivant : SLEEP 3: GOTO 1090
1695 imprimer "Vous avez été activé": PRINT "En A LIZARD MAN": pour y = 0 à 4: c(y) = INT(c(y) * 2,5): suivant : SLEEP 3: GOTO 1090
1697 PRINT « BACKFIRE »: c(0) = c(0) / 2: 2 dormir : GOTO 1090
GOSUB 1700 60080 : LOCALISER 1, 1: PRINT "PRESSE - CR - CONTINUER" ; : Q entrée $: écran 1: CLS : GOTO 1090
2000 nm = 0: pour x = 1 à 10
mz 2005 % (x, 0) = 0: mz % (x, 1) = x + 3 + en
2010 si x - 2 > en ou RND(1).4 > puis 2090
2020 ml % (x, 0) = INT(RND(1) * 9 + 1): ml % (x, 1) = INT(RND(1) * 9 + 1)
2030 IF dn <> de % (% ml (x, 0), ml % (x, 1)) 0 alors 2020
2040 IF ml % (x, 0) = px et ml % (x, 1) = py puis 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 + en * 2 * lp
2090 ENSUITE : RETOUR
LIGNE 3087 (c - 28 / di, b - 41 / di)-(c + 30/di, b - 55/di): ligne (c + 28 / di, b - 58 / di)-(c + 22/di, b - 56/di): ligne-(c + 22/di, b - 53/di)
LIGNE-(c + 28/di, les b - 52/di): ligne-(c + 34/di, b - 54/di): ligne (c + 20 / di, b - 50 / di)-(c + 26/di, b - 47/di)
LIGNE de 3088 (c + 10 / di, b - 58 / di)-(c + 10/di, b - 61/di): ligne-(c + 4/di, b - 58/di): ligne (c - 10 / di, b - 58 / di)-(c - 10/di, b - 61/di)
LIGNE-(c - 4/di, b - 58/di): ligne (c + 40 / di, b - 9 / di)-(c + 50/di, b - 12/di): ligne-(c + 40/di, b - 7/di)
LIGNE 3089 (c - 8 / di, b - 25 / di)-(c + 6/di, b - 7/di): ligne-(c + 28/di, b - 7/di): ligne-(c + 28/di, b - 9/di): ligne-(c + 20/di, b - 9/di): ligne-(c + 6/di, b - 25/di): 490 GOTO
4000 pour mm = 1 à 10 : IF mz % (mm, 0) = 0 alors 4999
4010 ra = SQR ((px - ml % (mm, 0)) ^ 2 + (py - ml % (mm, 1)) ^ 2).
4011 IF mz % (mm, 1) < dans * lp puis 4030
4020 IF ra < 1.3 puis 4500
4025 si mm = 8 et ra < 3 puis 4999
4030 x1 = SGN (px - ml % (mm, 0)): y1 = SGN (py - ml % (mm, 1))
4031 IF mz % (mm, 1) < dans * lp alors x1 = - x 1: y1 = - y1
4035 IF y1 = 0 puis 4045
4040 d = dn % (ml % (mm, 0), (ml % (1 mm) + y1 +. 499)): IF d = 1 ou d > 9 d OR = 2 puis 4045
4042 x1 = 0: GOTO 4050
4045 y1 = 0: IF x1 = 0 puis 4050
4046 d = dn % ((ml % (mm, 0) + x1 + 499 LW), ml % (mm, 1)): IF d = > 9 1 ou d ou d = 2 puis x1 = 0: GOTO 4081
4050 dn % (ml (mm, 0), ml % (mm, 1)) = dn % (ml (mm, 0), ml % (mm, 1)) - 10 * mm
4055 IF ml % (mm, 0) + x1 = px et ml % (1 mm) + y1 = py puis 4999
4060 ml % (mm, 0) = % ml (mm, 0) + x1: ml % (mm, 1) = ml % (1 mm) + y1
4080 dn % (ml (mm, 0), ml % (mm, 1)) = (dn (ml % (mm, 0), ml % (mm, 1)) + 10 * mm + 499 LW)
4081 IF x1 <> 0 OR y1 <> 0 puis 4999
4082 IF mz % (mm, 1) < dans * lp et ra < 1.3 puis 4500
4083 IF mz % (mm, 1) < dans * lp alors mz % (mm, 1) = mz % (1 mm) + mm + en
4499 GOTO 4999
4500 si mm = 2 ou mm = 7 puis 4600
4509 IMPRIMER « VOUS ÊTES ATTAQUÉS »: PRINT "PAR"A"; m$(mm)
4510 IF RND(1) * 20 - SGN(pw(3)) - c (3) + mm + 0 < puis imprimez « Raté »: GOTO 4525
4520 PRINT "HIT": c(0) = c(0) - INT(RND(1) * mm + en)
4525 pa de IF = 1 THEN PRINT "-CR - à suite";: entrée q$
4530 GOTO 4999
4600 IF RND(1) <.5 puis 4509
4610 si mm = 7 THEN pw(0) = INT(pw(0) / 2): PRINT "A GREMLIN a volé certains aliments": GOTO 4525
4620 zz = INT(RND(1) * 6): IF pw(zz) < 1 puis 4620
4630 IMPRIMER « UN VOLEUR A VOLÉ A » ; w$(ZZ) : pw(zz) = pw(zz) - 1: 4525 GOTO
4999 ENSUITE : RETOUR
6000 VOIR IMPRIMER : CLS : PRINT : PRINT : IMPRIMER « NOUS REGRETTONS LE DÉCÈS DE »
6005 IF LEN(pn$) > 22 puis pn$ = ""
6010 IF pn$ = "" puis pn$ = « Le paysan »
6020 pn$ = $ pn + « Et son ordinateur »
ONGLET impression 6030 (20 - INT(LEN(pn$)/2)) ; : Imprimer pn$
6035 PRINT « D’INVOQUER UN MIRACLE DE LA RÉSURRECTION »
6040 PRINT « < HIT touche ESC > » ;
6050 : BOUCLE JUSQU'À INKEY$ = CHR$(27)
6060 GOTO 1
7000 ÉCRAN 1: VOIR IMPRIMER : CLS
7001 REM
7010 IF pn$ <> "" puis 7500
7020 PRINT : PRINT : IMPRIMER « PAYSAN BIENVENUE DANS LES SALLES DU »: PRINT "LE PUISSANT SEIGNEUR BRITANNIQUE. ICI TU MAYCHOOSE À OSER LA BATAILLE CONTRE LE MAL ": IMPRESSION"CRÉATURES DES PROFONDEURS, POUR LES GRANDS": IMPRESSION"RÉCOMPENSE"!
7030 PRINT : PRINT « Ce qui est ton nom paysan »;: entrée pn$: pn$ = UCASE$(pn$)
7040 PRINT « FAIS TU TIENS POUR LA GRANDE AVENTURE? » ; : DO: q$ = INKEY$: LOOP WHILE q$ = ""
SI q$ <> « y » puis imprimer : imprimer "Puis congé et va-T'EN!": pn$ = "": PRINT : imprimer "PRESS - espace - à la suite";:: q$ = INKEY$: boucle jusqu'à ce que q$ = "": CLS : GOTO 1090
7045 PRINT
7050 PRINT : PRINT "GOOD ! THOU SHALT essayer de devenir A ": PRINT « KNIGHT! »: PRINT : imprimer « Ta première tâche est de GO INTO THE »: PRINT « Donjons et à revenir seulement après »: PRINT" tuer un (e) ";: ta = INT(c(4)/3): PRINT m$(ta)
7060 PRINT : PRINT « ALLER MAINTENANT SUR CETTE QUÊTE ET DE MAI »: IMPRIMER « DAME CHANCE ÊTRE JUSTE TE... »: IMPRESSION "... AUSSI, J’AI, BRITANNIQUE, AI AUGMENTÉ": PRINT"CHACUN DE TES ATTRIBUTS UN!"
7070 PRINT : PRINT "PRESS - ESPACE - TO CONT." ; : DO: q$ = INKEY$: LOOP WHILE q$ = "": pour x = 0 à 5: décroît = décroît + 1: prochaine : CLS : GOTO 1090
7500 si ta > 0 puis imprimez : PRINT : PRINT pn$ ; « POURQUOI AS TU RENVOYÉ? »: PRINT « TU DOIT TUER UN (E) » ; m$(TA)
IMPRESSION « ALLEZ MAINTENANT ET TERMINER TA QUÊTE! »: PRINT : PRINT "PRESS - ESPACE - TO CONT." ; : DO: q$ = INKEY$: LOOP WHILE q$ = "": CLS : GOTO 1090
7510 PRINT : PRINT : PRINT : PRINT "AAHH!! ....."; PN$: PRINT : PRINT « Tu as accompli ta quête! »: IF ABS(ta) = 10 puis 7900
7520 imprimer « Malheureusement, cela ne suffit pas à »: impression de « Devenir un chevalier. »: ta = ABS(ta) + 1: PRINT : PRINT « Maintenant tu doit tuer un (e) » ; m$(TA)
7530 GOTO 7060
7900 écran 1: voir imprimer : CLS : PRINT : PRINT : PRINT : pn$ = « Seigneur » + pn$: PRINT "" ; PN$ ; ","
7910 PRINT « TU AS PROUVÉ TOI-MÊME DIGNE »: PRINT "DE CHEVALERIE, CONTINUER À JOUER SI TU": IMPRIMER « DOTH SOUHAIT, MAIS TU AS ACCOMPLI »: PRINT « L’OBJECTIF PRINCIPAL DE CE JEU... »
7920 IF lp = 10 puis 7950
7930 PRINT : IMPRIMER « MAINTENANT, PEUT-ÊTRE QUE TU ES FOOLHEARTY": PRINT « ASSEZ NIVEAU DE DIFFICULTÉ DE TOTRY » ; LP + 1
7940 GOTO 7070
7950 PRINT : PRINT "... APPELEZ CALIFORNIA PACIFIC COMPUTER": IMPRIMER « À 415-569-9126 SIGNALER": IMPRESSION "EXPLOIT INCROYABLE!"
7990 GOTO 7070
60000 ÉCRAN 1: VOIR IMPRIMER : CLS : LOCALISER 5, 1: ENTRÉE « TAPEZ TON CHIFFRE PORTE-BONHEUR... » ; q$: ln = VAL(q$)
60005 LOCALISER 7, 1: ENTRÉE « NIVEAU DE JEU (1-10)... » ; q$: lp = INT(VAL(q$))
60006 IF lp < 1 lp OR > 10 puis 60005
60010 RANDOMIZE ln
60020 DONNÉES « HIT POINTS... », « FORCE... », « DEXTÉRITÉ... », « STAMINA... », « LA SAGESSE... », « OR... »
60025 REM
C$(5) DIM 60030 : pour x = 0 à 5: lire c$(x) : prochaine
60040 REM
60041 REM
60042 DONNÉES « SQUELETTE », « VOLEUR », « RAT GÉANT », « ORC », « VIPER », « CRAWLER DE CHAROGNE », « GREMLIN », « MIMIC », « DÉMON », « BALROG »
60043 pour x = 1 à 10 : m$(x) de lecture : prochaine
60050 pour x = 0 à 5: décroît = INT(SQR(RND(1)) * 21 + 4): prochaine x
60060 CLS : localiser 8, 1: pour x = 0 à 5: impression c$(x) ; décroît : prochaine : PRINT : PRINT « Tu vas jouer avec ces qualités? »: PRINT TAB(20) ; : DO: q$ = INKEY$: boucle tandis que q$ = "": IF q$ <> « y » puis 60050
60061 LOCALISER 15, 1: PRINT : PRINT « ET TU SERAS UN COMBATTANT OU UN MAGE? »: IMPRESSION TAB(20) ; : DO: pt$ = INKEY$: LOOP WHILE pt$ = ""
60062 IF pt$ = « m » OR pt$ = « f » puis 60070
GOTO 60063 60061
60070 données « FOOD », « RAPIÈRE », « AXE », « Bouclier », « ARC et flèches », « Amulette magique »: pour x = 0 à 5: lire w$(x) : prochaine
GOSUB 60075 60080 : GOSUB 60200 : RETOUR
60080 écran 1: voir imprimer : CLS : PRINT : PRINT : PRINT « STAT armes »: PRINT : pour x = 0 à 5: impression c$(x) ; décroît ; TAB(24) ; "0-"; w$(x) : prochain : localiser 1, 1
60081 LOCALISER 11, 18 : IMPRIMER « Q-QUIT »
60082 REM IF pw(0) > 0 THEN CALL REM 62450
60085 pour z = 0 à 5: localiser 5 + z, 25 - LEN(STR$(pw(z))) : impression STR$(pw(z)) ; : ENSUITE
60090 LOCALISER 17, 5: IMPRESSION DE « PRIX » ; : TAB(15) IMPRESSION ; : IMPRIMER « DOMMAGE » ; : TAB(25) IMPRESSION ; : IMPRIMER « ITEM »
60100 pour x = 0 à 5: 19 localiser + x, 25 : PRINT w$(x) ; : ENSUITE
60110 LOCALISER 19, 5: PRINT « 1 POUR 10 » ; : TAB(15) IMPRESSION ; : IMPRESSION « S.O. »: LOCALISER 20, 5: PRINT « 8 » ; : TAB(15) IMPRESSION ; : IMPRESSION "1-10": LOCALISER 21, 5: PRINT « 5 » ; : TAB(15) IMPRESSION ; : IMPRESSION "1-5"
60120 LOCALISER 22, 5: PRINT « 6 » ; : TAB(15) IMPRESSION ; : IMPRESSION « 1 »: LOCALISER 23, 5: PRINT « 3 » ; : TAB(15) IMPRESSION ; : IMPRESSION "1-4" ; : RECHERCHEZ 24, 5: IMPRESSION « 15 » ; : TAB(15) IMPRESSION ; : IMPRESSION "???" ; : RECHERCHEZ 1, 1
RETOUR 60130
60200 LOCALISER 1, 1: IMPRESSION « BIENVENUE DANS LA BOUTIQUE DE L’AVENTURE »
60210 localiser 13, 1: jj = 0 à 1: PRINT "": prochaine
LOCATE 12, 1: Imprimer « Quel élément seras tu acheter »;: LOCATE 12, 27 :: q$ = INKEY$: LOOP WHILE q$ = ""
IF q$ = « q » THEN PRINT : PRINT : PRINT « BYE »: SLEEP 1: écran 1: CLS : retour
60215 z = -1
60220 IF q$ = « f » THEN PRINT « FOOD »: z = 0: p = 1
60221 IF q$ = « o » THEN PRINT « RAPIÈRE »: z = 1: p = 8
60222 IF q$ = « a » THEN PRINT « Hache »: z = 2: p = 5
60223 IF q$ = « s » THEN PRINT « Bouclier »: z = 3: p = 6
60224 IF q$ = « b » THEN PRINT « BOW »: z = 4: p = 3
60225 IF q$ = « m » THEN PRINT « Amulette »: z = 5: p = 15
60226 IF z = -1 THEN PRINT UCASE$(q$) : impression "I ' m SORRY, nous n’avons pas THAT.": SLEEP 2: GOTO 60210
60227 IF q$ = « o » et pt$ = « m » THEN PRINT « Je suis désolé MAGES »: PRINT « impossible d’utiliser que! »: SLEEP 2: GOTO 60210
60228 IF q$ = « b » et pt$ = « m » THEN PRINT « Je suis désolé MAGES »: PRINT « impossible d’utiliser que! »: SLEEP 2: GOTO 60210
60230 si c (5) - p < 0 puis imprimez « Corsaires tu ne peut pas se permettre ce point. »: SLEEP 2: GOTO 60210
60235 IF z = 0 THEN pw(z) = pw(z) + 9
60236 pw(z) = pw(z) + 1: c (5) = c (5) - p
60237 localiser 10 à 16 : PRINT c (5) ; " "
60240 localiser 5 + z, 25 - LEN(STR$(pw(z))) : impression pw(z) ; : RECHERCHEZ 14, 1: IMPRESSION
60250 GOTO 60210