0 REM ---> LABYCODE - J&S NUMERO 23 <--- 10 DIM P(20,40),CB(40) 11 DIM A(7),S(7),B(4),R(4) 20 GR : COLOR= 1 30 FOR I = 1 TO 5 40 PRINT "CODE ";I;: INPUT A(I) 50 S(I) = A(I) 60 NEXT I 70 REM ---> BASE 2 <--- 80 FOR N = 1 TO 3 90 FOR G = 1 TO 3 STEP .5 100 FOR I = 1 TO 7 110 D = 16 120 FOR T = 1 TO 4 130 IF T = 3 THEN CB(T) = A(I) 140 D = D / 2 150 B(T) = INT (A(I) / D) 160 CB(T) = B(T) 170 R(T) = A(I) - (B(T) * D) 180 A(I) = R(T) 190 REM ---> CONSTRUCTION <--- 200 X = X + 1: IF X = 20 THEN X = 0:Y = Y + 1 210 IF Y = 38 THEN 290 220 IF CB(T) = 1 THEN P(X,Y) = 1 230 IF CB(T) = 1 THEN COLOR= 1: GOTO 260 240 IF CB(T) > 2 THEN P(X,Y) = 3: GOTO 260 250 COLOR= 0 260 PLOT X,Y: NEXT T 270 NEXT I: PRINT 280 FOR I = 1 TO 5:A(I) = S(I) + G + N: NEXT I 285 NEXT G: NEXT N 286 GOTO 70 290 PX = A(1) * A(3):PY = A(2) * A(4) 300 IF PX > 19 THEN PX = INT (PX - 10): GOTO 300 310 IF PY > 35 THEN PY = INT (PY - 10): GOTO 310 320 P(PX,PY) = 2: REM SORTIE 330 COLOR= 9: PLOT PX,PY 340 FOR Y = 0 TO 39 STEP 39 350 FOR X = 0 TO 20 360 COLOR= 1: PLOT X,Y 370 P(X,Y) = 1: NEXT X: NEXT Y 380 FOR X = 0 TO 20 STEP 20: FOR Y = 0 TO 39 390 P(X,Y) = 1 400 COLOR= 1: PLOT X,Y: NEXT Y: NEXT X 410 D = 1:A = 1 420 X = 10:Y = 17 430 IF P(X,Y) = 1 AND P(X,Y + 1) = 1 THEN X = X - 1: GOTO 430 440 REM ---> MOUVEMENT JOUEUR <--- 450 PRINT "(G)AUCHE,(D)ROITE,EN (A)VANT /'RETURN'" 460 GET D$ 470 IF D$ = "A" THEN 530 480 IF D$ = "G" THEN D = D + 1 490 IF D > 4 THEN D = 1 500 IF D$ = "D" THEN D = D - 1 510 IF D < 1 THEN D = 4 520 GOTO 450 530 IF D = 1 AND (P(X,Y - 1) = 0 OR P(X,Y - 1) > = 2) THEN Y = Y - 1: GOTO 580 540 IF D = 3 AND (P(X,Y + 1) = 0 OR P(X,Y + 1) > = 2) THEN Y = Y + 1: GOTO 580 550 IF D = 2 AND (P(X - 1,Y) = 0 OR P(X - 1,Y) > = 2) THEN X = X - 1: GOTO 580 560 IF D = 4 AND (P(X + 1,Y) = 0 OR P(X + 1,Y) > = 2) THEN X = X + 1: GOTO 580 570 PRINT "OUILLE !" 580 IF (X = PX) AND (Y = PY) THEN COLOR= 2: PLOT X,Y: PRINT "BRAVO, VOUS ETES SORTIS !!": END 590 IF P(X,Y) > 2 THEN SF = 1:AL = 5: PRINT "DES ALLUMETTES !!!" 600 IF SF = 1 THEN PRINT "VOUS LISEZ SUR LE MUR X";X;"/Y";Y:AL = AL - 1 610 IF AL < = 0 THEN SF = 0 620 GOTO 450