J'ai retrouvé ce jeu dans une disquette nanoréseau.
Code : Tout sélectionner
10 'PANIQUE
50 GOTO 5000
98 'DEPART ALEATOIRE SOUCOUPE
100 X=INT(RND*2000)+500:FOR I=1 TO X:NEXT
110 IF RND<.5 THEN XS=0:DX=2:ELSE XS=39:DX=-2
120 YS=INT(RND*6)+1:Y$=RIGHT$(STR$(YS),1)
130 ATTRB0,0:COLOR1:FOR J=1 TO NSV2
140 LOCATEXS,YS:PRINTY$:PLAY"L5P"
150 LOCATEXS,YS:PRINT" ":PLAY"O3L9DO"
160 NEXT:COLOR 3:LOCATE XS,YS:PRINT Y$
170 XS=XS+(DX=2)
298 'DEPLACEMENT D'UNE SOUCOUPE
300 ATTRB 1,0:COLOR 4:FLAG=0
310 XS=XS+DX:LOCATE XS,YS:PRINT GR$(0);
320 FOR J=1 TO NSV1:NEXT
330 IF FLAG THEN 490
340 I$=INKEY$:IF I$=""THEN 490
350 IF VAL(I$)<>YS THEN 490
360 LINE(160,135)-(160,YS*8+8),1
370 PLAY"O5L3DOMISOSI":FLAG=1
380 LINE(160,135)-(160,YS*8+8),-1
390 T=T-1:ATTRB0,0:COLOR1:LOCATE 27,24
400 PRINT T;:ATTRB1,0:IF T=0 THEN 3070
410 FOR J=1 TO 4
420 LOCATE 19,YS:PRINT"X"
430 PLAY "O5L2DOMISO":LOCATE 19,YS
440 PRINT"+":PLAY "O1L2DOMISO"
450 NEXT:LOCATE 19,YS:COLOR4:PRINT" "
460 IF XS=19 THEN 3000
470 IF ABS(XS-19)<>2 THEN 490
480 IF RND<.5 THEN 1000 ELSE 2000
490 IF (XS=15 AND DX=-2) OR (XS=23 AND DX=2) THEN 600
500 COLOR 4:LOCATE XS,YS:PRINT" "
510 GOTO 310
598 'BOMBARDEMENT ......
600 FLAG=0
610 IF FLAG THEN 630
620 IF POINT(8*XS+8,183)=5 THEN 680
630 READ M$:IF M$="O5SI" THEN RESTORE
640 PLAY"L10"+M$
650 LOCATE XS,YS:PRINT" "
660 XS=XS+DX:IF XS=-1 OR XS=39 THEN 100
670 LOCATE XS,YS:PRINTGR$(0):GOTO 610
680 COLOR 1:FOR J=YS+1 TO 22
690 LOCATE XS,J:PRINT GR$(3)
700 READ M$:IF M$="O5SI" THEN RESTORE
710 PLAY"L2"+M$
720 LOCATE XS,J:PRINT" "
730 NEXT:COLOR 4
740 B=B+1:IF B=16 THEN 4000
750 FLAG=1:GOTO 610
760 DATA O4DO,O4DO#,O4RE,O4RE#,O4MI,O4FA,O4FA#,O4SO,O4SO#,O4LA,O4LA#,O4SI
770 DATA O5DO,O5DO#,O5RE,O5RE#,O5MI,O5FA,O5FA#,O5SO,O5SO#,O5LA,O5LA#,O5SI
998 'CHUTE SOUCOUPE (TYPE NO 1)
1000 LOCATE XS,YS:PRINT" ":FOR I=YS TO 17
1010 XS=XS+2*(INT(RND*3)-1)
1020 XS=XS-2*(XS=15)+2*(XS=23)
1030 LOCATE XS,I:PRINTGR$(0):PLAY"L5P"
1050 I$=INKEY$:IF VAL(I$)<>YS THEN 1120
1060 LINE(160,135)-(160,I*8),1
1070 PLAY"O5L3DOMISOSI"
1080 LINE(160,135)-(160,I*8),-1
1090 T=T-1:ATTRB0,0:LOCATE 27,24
1100 PRINT T;:ATTRB 1,0:IF T=0 THEN 3070
1110 IF XS=19 THEN YS=I: GOTO 3000
1120 LOCATE XS,I:PRINT" ":NEXT
1130 ATTRB1,1:COLOR 1
1140 M1$="L1O1DOSIO3DOSIO5DOSI":M2$="O5SIDOO3SIDOO1SIDO"
1150 FOR J=18 TO 22 STEP 2:FOR I=1 TO3
1160 LOCATE 17,J:PRINT"...":PLAY M1$
1170 LOCATE 17,J:PRINT" ":PLAY M2$
1180 NEXT:NEXT:GOTO 4000
1998 'CHUTE SOUCOUPE (TYPE NO 2)
2000 FLAG2=0:FOR I=XS TO 37 STEP 2
2010 LOCATE I,YS:PRINTGR$(0):PLAY "L2P"
2020 LOCATE I,YS:PRINT" ":NEXT
2030 FOR I=YS+1 TO 17:FLAG1=0:FOR J=37 TO 1 STEP-2
2040 GOSUB 2100:IF T=0 THEN 3070
2050 IF FLAG2 THEN 3000
2060 NEXT:I=I+1:FLAG1=0
2070 FOR J=1 TO 37 STEP 2:GOSUB 2100:IF T=0 THEN 3070
2080 IF FLAG2 THEN 3000
2090 NEXT:NEXT:GOTO 1130
2100 LOCATE J,I:PRINTGR$(0)
2110 FOR K=1 TO NSV1:NEXT
2120 IF INKEY$="" OR FLAG1 THEN 2180
2130 LINE(160,135)-(160,YS*8+8),1
2140 PLAY"O5L2DOMISOSOSI":FLAG1=1
2150 LINE(160,135)-(160,YS*8+8),-1
2160 T=T-1:ATTRB0,0:LOCATE 27,24:PRINT T;:ATTRB1,0
2170 IF J=19 THEN FLAG2=1:YS=I:RETURN
2180 LOCATE J,I:PRINT" ":RETURN
2997 '
2998 ' SOUCOUPE DETRUITE
2999 '
3000 FOR I=1 TO 3:LOCATE 19,YS
3010 PRINTGR$(0):PLAY"O5L1DOSIDOSI"
3020 LOCATE 19,YS:PRINT" "
3030 PLAY"O1L2DOSIDOSI":NEXT
3040 S=S+1:ATTRB0,0:COLOR 1
3050 LOCATE 0,24:PRINTS;:IF S<10 THEN 100
3060 ATTRB1,1:LOCATE2,3:PRINT"VOUS AVEZ GAGNE":GOTO 4010
3070 M$="O3L2DOREMIFASOLASI":ATTRB0,0:FOR J=1 TO 8
3080 LOCATE 28,24:PRINT" ";:PLAYM$
3090 LOCATE 28,24:PRINT" 0 MISSILE ";:PLAYM$:NEXT:GOTO 4000
3998 'FIN D'UNE PARTIE
4000 LOCATE2,3:ATTRB1,1:PRINT"VOUS AVEZ PERDU"
4010 ATTRB0,1:COLOR 1:LOCATE5,6:PRINT"UNE AUTRE PARTIE ( O / N )?"
4020 I$=INPUT$(1):IF I$="O" THEN CLS:GOTO5090
4030 IF I$<>"N" THEN 4020
4040 CLS:ATTRB1,1:PRINT:PRINT"AU REVOIR ET MERCI":END
4998 'INITIALISATION
5000 CLEAR,,4:SCREEN1,0,0:CLS
5010 DEFGR$(0)=0,0,60,60,126,126,153,0
5020 DEFGR$(1)=24,24,24,24,24,102,129,129
5030 DEFGR$(2)=255,153,153,255,153,153,255,255
5040 DEFGR$(3)=0,0,40,40,16,16,0,0
5050 ATTRB1,1:LOCATE0,3:PRINT"PANIQUE SUR LA VILLE"
5060 ATTRB0,0:LOCATE0,6:COLOR2:PRINT"VOUS DEVEZ DETRUIRE 10 SOUCOUPES"
5070 PRINT:PRINT"LE TIR EST DECLENCHE PAR LA TOUCHE"
5080 PRINT"QUI CLIGNOTE AU DEPART DES SOUCOUPES"
5090 COLOR0,3:LOCATE0,14:PRINT"CHOISISSEZ VOTRE NIVEAU DE DIFFICULTE "
5100 PRINT"1 : FACILE 2 : MOYEN 3 : DIFFICILE"
5110 I$=INPUT$(1):I=VAL(I$)
5120 IF I<1 OR I>3 THEN 110
5130 NSV1=(3-I)*15:NSV2=17-5*I:COLOR,0:CLS
5140 ATTRB1,0:COLOR5,7: FOR J=1 TO 37 STEP 2
5150 IF J>15 AND J<23 THEN5180
5160 H=INT(RND*4)+1:FOR I=22-H TO 22
5170 LOCATEJ,I,0:PRINTGR$(2):NEXT
5180 NEXT:FOR I=18 TO 22
5190 LOCATE17,I:PRINTGR$(2);GR$(2);GR$(2):NEXT
5200 COLOR3,0:LOCATE 19,17:PRINTGR$(1)
5210 BOXF(0,184)-(319,191),2
5220 ATTRB0,0:LOCATE28,24:PRINT"25 MISSILES";
5230 LOCATE4,24:PRINT"SOUCOUPES DETRUITES";
5240 FOR I=1 TO 6:I$=RIGHT$(STR$(I),1)
5250 LOCATE0,I:PRINTI$:LOCATE39,I:PRINTI$:NEXT
5260 T=25:S=0:B=0:LOCATE27,24:COLOR1:PRINTT;:GOTO 100