Hebdogiciel n°94 à 97


10 !******************!
20 !                  !
30 !   EXEL MISSIL    !
40 !  BRETON PIERRE   !
50 !                  !
60 !******************!
70 CALL HROFF:CLS ("YBb"):GOSUB 1970:GOSUB 2050:CLS "CBB":CALL COLOR("1CB")
80 GOSUB 1490:GOSUB 1550
90 VAG=5:VAC=15:C$="W":D$="B":K$(1)="R":K$(2)="b":K$(3)="M":NB=30:NT=6:RED=8
100 X=150:Y=100:E=.4:Z=.2:NVI=4
110 CLS "GbB":GRAD:CALL HRON("B",3,18)
120 CLS "GRB"
130 GOTO 940
140 GOSUB 440
150 GOSUB 710
160 GOSUB 880
170 IF VAG<9 THEN VAG=VAG+1:VAC=VAC-1 ELSE VAG=8:VAC=7
180 CALL KEY1(A,B)
190 IF A=HA THEN Y=Y-16:IF Y<0 THEN Y=0
200 IF A=BA THEN Y=Y+15:IF Y>178 THEN Y=178
210 IF A=DR THEN X=X+16:IF X>319 THEN X=1
220 IF A=GA THEN X=X-17:IF X<1 THEN X=319
230 IF A=TI AND R(1)<>0 AND R(2)<>0 AND R(3)<>0 THEN 260
240 IF AD=4 THEN AD=0
250 IF A=TI AND NB>0 THEN AD=AD+1:R(AD)=X:S(AD)=Y:T(AD)=.8:NB=NB-1:GOSUB 1250
260 FOR P=1 TO 3
270 T(P)=T(P)-.05
280 CALL PLOT(K$(P),R(P),S(P))
290 IF T(P)>0 THEN 500 ELSE CALL PLOT(D$,R(P),S(P)):R(P)=0:S(P)=0:AD=P-1
300 NEXT
310 IF N>170 THEN 510
320 IF F>170 THEN 610
330 IF L>170 THEN 780
340 IF CC<>1 THEN CALL LINE("G",M,N,M,N+VAG):N=N+VAG:M=M+(P+Q)/VAC
350 IF DD<>1 THEN CALL LINE("Y",G,F,G,F+VAG):F=F+VAG:G=G+(E+Z)/VAC
360 IF EE<>1 THEN CALL LINE("b",I,L,I,L+VAG):L=L+VAG:I=I+(K+J)/VAC
370 CALL PLOT(C$,X-1,Y)
380 CALL PLOT(C$,X,Y+1)
390 CALL PLOT(D$,X-1,Y)
400 CALL PLOT(D$,X,Y+1)
410 GOTO 180
420 GOSUB 440
430 GOTO 310
440 O=INTRND(26)*10+20:N=0:M=O
450 IF INTRND(6)>2 AND O<60 THEN P=0 ELSE P=.5
460 IF INTRND(7)>3 AND O>60 THEN Q=-.7 ELSE Q=0
470 IF O>240 THEN P=-1.3
480 IF INTRND(4)>2 THEN Q=.7
490 RETURN
500 IF R(P)>M-9 AND R(P)<M+9 AND S(P)>N-9 AND S(P)<N+9 THEN PT=PT+30 ELSE 600
510 FOR V=-3 TO 3
520 CALL LINE("B",M+V,N,O+V,0)
530 NEXT
540 CALL SPEECH("L,"&S$)
550 IF N>170 THEN XX=M:GOSUB 1060
560 NOMB=NOMB+1
570 IF NOMB=NT THEN CC=1 ELSE CC=0
580 IF CC=1 AND DD=1 AND EE=1 THEN GOSUB 1410:GOTO 140
590 GOTO 420
600 IF R(P)>G-9 AND R(P)<G+9 AND S(P)>F-9 AND S(P)<F+9 THEN PT=PT+30 ELSE 770
610 FOR V=-3 TO 3
620 CALL LINE("B",H+V,0,G+V,F)
630 NEXT V
640 CALL SPEECH("L,"&S$)
650 IF F>170 THEN XX=G:GOSUB 1060
660 NO1=NO1+1
670 IF NO1=NT THEN DD=1 ELSE DD=0
680 IF CC=1 AND DD=1 AND EE=1 THEN GOSUB 1410:GOTO 140
690 GOSUB 710
700 GOTO 310
710 H=INTRND(26)*10+20:F=0:G=H
720 IF INTRND(6)>2 AND H<60 THEN Z=0 ELSE Z=1.5
730 IF INTRND(7)>3 AND H>60 THEN E=-1.7 ELSE E=0
740 IF H>200 THEN Z=-1.3
750 IF INTRND(4)>2 THEN E=.7
760 RETURN
770 IF R(P)>I-9 AND R(P)<I+9 AND S(P)>L-9 AND S(P)<L+9 THEN PT=PT+30 ELSE 300
780 FOR V=-3 TO 3
790 CALL LINE("B",I+V,L,U+V,0)
800 NEXT
810 CALL SPEECH("L,"&S$)
820 IF L>170 THEN XX=I:GOSUB 1060
830 NO2=NO2+1
840 IF NO2=NT THEN EE=1 ELSE EE=0
850 IF CC=1 AND DD=1 AND EE=1 THEN GOSUB 1410:GOTO 140
860 GOSUB 880
870 GOTO 310
880 U=INTRND(26)*10+20:L=0:I=U
890 IF INTRND(6)>2 AND U<60 THEN K=0 ELSE K=1.5
900 IF INTRND(7)>3 AND U>60 THEN J=-1.7 ELSE J=0
910 IF U>200 THEN K=-1.3
920 IF INTRND(4)>2 THEN J=.7
930 RETURN
940 CALL COLOR("1MB")
950 LOCATE (19,1)
960 PRINT "      ";CHR$(6);CHR$(6);"    ";CHR$(6);CHR$(6);"     ";
970 CALL COLOR("1GB")
980 PRINT CHR$(8);CHR$(8);"     ";
990 CALL COLOR("1MB")
1000 PRINT CHR$(6);CHR$(6);"    ";CHR$(6);CHR$(6);"     ";
1010 FOR K=1 TO 5
1020 VI(K)=7
1030 NEXT
1040 VI(3)=0
1050 GOSUB 1250:GOTO 140
1060 !
1070 IF 255<XX AND XX<275 AND VI(5)<>0 THEN VI(5)=0:NVI=NVI-1:YY=33:GOSUB 1140
1080 IF 205<XX AND XX<255 AND VI(4)<>0 THEN VI(4)=0:NVI=NVI-1:YY=27:GOSUB 1140
1090 IF 148<XX AND XX<170 THEN GOSUB 1180
1100 IF 92<XX AND XX<118 AND VI(2)<>0 THEN VI(2)=0:NVI=NVI-1:YY=13:GOSUB 1140
1110 IF 48<XX AND XX<68 AND VI(1)<>0 THEN VI(1)=0:NVI=NVI-1:YY=7:GOSUB 1140
1120 IF NVI=0 THEN PAUSE 2:CALL HROFF:END
1130 RETURN
1140 LOCATE (19,YY)
1150 CALL COLOR("1YB")
1160 PRINT CHR$(7);CHR$(7)
1170 RETURN
1180 RED=RED+4
1190 NB=NB-12
1200 LOCATE (19,20)
1210 CALL COLOR("1GB")
1220 IF RED>18 THEN RED=18
1230 PRINT CHR$(RED);CHR$(RED)
1240 RETURN
1250 RR=RR+1
1260 IF RR=3 THEN RED=RED+1:RR=0:GOSUB 1200
1270 IF NB<0 THEN RED=20:GOSUB 1200
1280 CALL SPEECH("L,0D7C91AFEADB02FC")
1290 RETURN
1300 FOR TP=TP TO PT STEP 3
1310 LOCATE (1,19)
1320 CALL COLOR("0MRH")
1330 PRINT TP
1340 LOCATE (2,19)
1350 CALL COLOR("0GRH")
1360 PRINT TP
1370 CALL SPEECH("L,ADCBE23123")
1380 NEXT
1390 IF NB<>0 THEN PT=PT+5*NB:NB=0:GOTO 1250
1400 RETURN
1410 NOMB=0:NO1=0:NO2=0
1420 CC=0:DD=0:EE=0
1430 GOSUB 1300
1440 NB=30
1450 RED=8
1460 VAG=VAG+1:VAC=VAC-1
1470 GOSUB 1200
1480 RETURN
1490 !
1500 S1$="0BA02163031B18008D1E1398400731108100F0901E82080480478F0844200020570C"
1510 S2$="EBD02110840704E118840043CE0010F"
1520 S3$="78C00316B080052C20010948800214A0000528"
1530 S$=S1$&S2$
1540 RETURN
1550 LOCATE (7,1)
1560 PRINT "       Choisissez les touches que";
1570 PRINT "           vous desirez pour:";
1580 PRINT:PRINT:PRINT:CALL COLOR("0MB"):PAUSE .5
1590 PRINT "           MONTER...........:";
1600 GOSUB 1770
1610 HA=A
1620 HA=A
1630 PRINT "           DESCENDRE........:";
1640 GOSUB 1770
1650 BA=A
1660 PRINT "           ALLER a DROITE...:";
1670 GOSUB 1770
1680 DR=A
1690 PRINT "           ALLER a GAUCHE...:";
1700 GOSUB 1770
1710 GA=A
1720 PRINT "           TIRER............:";
1730 GOSUB 1770
1740 TI=A
1750 PAUSE 3
1760 RETURN
1770 CALL KEY1(A,B)
1780 IF A=255 THEN 1770
1790 IF A=128 THEN CALL COLOR("1YB"):PRINT CHR$(1):GOTO 1860
1800 IF A=129 THEN CALL COLOR("1YB"):PRINT CHR$(2):GOTO 1860
1810 IF A=130 THEN CALL COLOR("1YB"):PRINT CHR$(3):GOTO 1860
1820 IF A=131 THEN CALL COLOR("1YB"):PRINT CHR$(4):GOTO 1860
1830 IF A=32 THEN CALL COLOR("1YB"):PRINT CHR$(5):GOTO 1860
1835 IF A=27 THEN CALL DOS("LOADRUN RSMENU")
1840 CALL COLOR("0YB")
1850 PRINT CHR$(A)
1860 PAUSE .5
1870 CALL COLOR("0MB")
1880 PRINT
1890 RETURN
1900 CALL COLOR("0Yb")
1910 LOCATE (18,10)
1920 PRINT "APPUYEZ SUR UNE TOUCHE"
1930 CALL KEY1(RA,WA)
1940 RANDOMIZE
1950 IF RA=255 THEN 1930
1960 RETURN
1970 CALL COLOR("1CBLHF")
1980 LOCATE (10,10)
1990 PRINT "EEXXEELL  MMIISSSSIILL"
2000 LOCATE (11,10)
2010 PRINT "EEXXEELL  MMIISSSSIILL"
2020 CALL COLOR("1MB")
2030 GOSUB 1900
2040 RETURN
2050 RESTORE 2070:FOR II=1 TO 18
2060 READ H$:CALL CHAR(II,H$):NEXT
2070 DATA 081C3E7F080808080800,00080C0EFF0E0C080000
2080 DATA 08080808087F3E1C0800,00103070FF7030100000
2090 DATA 007F415D5159515D417F,183C7EFF00FFB9F98F8F
2100 DATA 000000000010386EBDFF,00000000000008142A55,00000000000000142A55
2110 DATA 00000000000000042A55,00000000000000002A55,00000000000000002855
2120 DATA 00000000000000002854,00000000000000000854,00000000000000000054
2130 DATA 00000000000000000014,00000000000000000004,00000000000000000000
2140 RETURN

Ce listing est uniquement proposé pour un usage privé.
Sans accord écrit préalable, vous n'êtes pas autorisé à le distribuer, le transmettre ou le rediffuser.