10 REM *************
20 REM * MICROPEDE *
30 REM *************
40 DIM TB(40,25)
50 GOSUB 610
60 X$=INKEY$
70 JY=JOY(0)
80 DX=(X$=F1$)-(X$=F2$)
90 DX=DX+(JY=4)-(JY=8)
100 DY=(X$=F3$)-(X$=F4$)
110 DY=DY+(JY=1)-(JY=2)
120 IF DX<>0 THEN X1=DX:Y1=0
130 IF DY<>0 THEN Y1=DY:X1=0
140 IF FL=1 THEN FL=0:GOTO 220
150 LOCATE A(1,X),A(1,Y)
160 PRINT N$;
170 TB(A(1,X),A(1,Y))=0
180 FOR I=1 TO L
190 A(I,Y)=A(I+1,Y)
200 A(I,X)=A(I+1,X)
210 NEXT I
220 A(L,Y)=A(L-1,Y)+Y1
230 A(L,X)=A(L-1,X)+X1
240 G=TB(A(L,X),A(L,Y))
250 IF G=B THEN 310
260 IF G<>N THEN 380
270 LOCATE A(L,X),A(L,Y)
280 PRINT M$;
290 TB(A(L,X),A(L,Y))=M
300 GOTO 60
310 GOSUB 1310
320 LOCATE A(L,X),A(L,Y)
330 PRINT M$;
340 TB(A(L,X),A(L,Y))=M
350 L=L+1
360 FL=1
370 GOTO 60
380 GOSUB 500
390 LOCATE 11,10
400 PRINT "SCORE :";L*10-70;
410 LOCATE 11,15
420 PRINT "UNE AUTRE ?";
430 X$=INKEY$
440 IF X$<>"" THEN 430
450 X$=INKEY$
460 IF X$="" THEN 450
470 IF X$<>"N" AND X$<>"n" THEN RUN
480 CLS
490 END
500 PEN 1
510 FOR I=1 TO 6
520 LOCATE A(L,X),A(L,Y)
530 PRINT N$;
540 PRINT CHR$(7);
550 LOCATE A(L,X),A(L,Y)
560 PRINT "*";
570 TB(A(L,X),A(L,Y))=M
580 NEXT I
590 PEN 3
600 RETURN
610 INK 0,26
620 INK 1,16
630 INK 2,22
640 INK 3,2
650 BORDER 8
660 CLS
670 GOSUB 730
680 GOSUB 940
690 GOSUB 1030
700 GOSUB 1270
710 GOSUB 1310
720 RETURN
730 N$=CHR$(32)
740 N=0
750 H$="#"
760 H=1
770 B$="*"
780 B=2
790 DIM A(70,2)
800 M$="à"
810 M=3
820 L=8
830 D0=1
840 Y=1
850 X=2
860 FL=0
870 X1=1
880 Y1=0
890 F1$=CHR$(242)
900 F2$=CHR$(243)
910 F3$=CHR$(240)
920 F4$=CHR$(241)
930 RETURN
940 PEN 3
950 FOR I=1 TO L
960 A(I,Y)=13
970 A(I,X)=3+I
980 LOCATE A(I,X),A(I,Y)
990 PRINT M$;
1000 TB(A(I,X),A(I,Y))=M
1010 NEXT I
1020 RETURN
1030 PEN 1
1040 FOR I=1 TO 40
1050 LOCATE I,1
1060 PRINT H$;
1070 TB(I,1)=H
1080 LOCATE I,25
1090 PRINT H$;
1100 TB(I,25)=H
1110 NEXT I
1120 FOR I=2 TO 24
1130 LOCATE 1,I
1140 PRINT H$;
1150 TB(1,I)=H
1160 LOCATE 40,I
1170 PRINT H$;
1180 TB(40,I)=H
1190 NEXT I
1200 FOR I=1 TO 80
1210 GOSUB 1270
1220 LOCATE PX,PY
1230 PRINT H$;
1240 TB(PX,PY)=H
1250 NEXT I
1260 RETURN
1270 PX=INT(RND(1)*38+2)
1280 PY=INT(RND(1)*23+2)
1290 IF TB(PX,PY)<>0 THEN 1270
1300 RETURN
1310 GOSUB 1270
1320 PEN 2
1330 LOCATE PX,PY
1340 PRINT B$;
1350 TB(PX,PY)=B
1360 PEN 3
1370 RETURN