plutot que de me faire chier à faire ce qui est déjà fait je cherche dans les anciens hebdo un code ...
bingo j'en ai un sur l'AMSTRAD CPC je le télécharge, merde une image Disque.
j'ai CAPRICE le fameux émulateur, je charge le Disk
CAT

LOAD "P4"
LIST
juste 1 seule ligne
1 CALL ...
ZUT
aller
RUN"P4"
je teste

[ESC][ESC]
mode 2
list
nickel j'ai le source en basic

Après parametrage de CAPRICE pour sortir le port imprimante vers un fichier windows et résolu mon problème de Buffer j'en tire le listing suivant
Commande : LIST#8 (merci fabrice
Code : Tout sélectionner
1 ' &17D
10 SYMBOL AFTER 91:DEFINT A-D,F-Z:SYMBOL 93,24,24,24,24,24,24,24,24:SYMBOL 95,0,0,0,255,255,0,0,0:SYMBOL 252,24,24,36,36,66,90,161,1
61:SYMBOL 253,161,153,66,66,36,36,24,24:SYMBOL 254,126,126,129,129,129,157,137,137
20 SYMBOL 255,137,137,169,145,129,129,126,126:SYMBOL 91,24,24,24,255,255,24,24,24:DIM A(200):INK O,1:DATA 199,106,95,89,80,71:'
30 '
40 SCP=0:SJO=0:BORDER 0:MODE 1:PAPER 0:PEN 3:PRINT" ** PUISSANCE **":PRINT:INK 3,6,24:FOR I=100 TO 120 STEP 1.5:ORIGIN I+
55,200:DRAW I,110:NEXT:FOR I=200 TO 205:ORIGIN 170,I:DRAW 130,0:NEXT I:FOR I=250 TO 255:ORIGIN I,220:DRAW-15,-30:NEXT:PEN 1
50 LOCATE 4,23:PRINT STRING$(40,"_"):LOCATE 4,25:PRINT"APPUYER SUR <ENTER> POUR COMMENCER":GOSUB 1050:ENV 1,100,3,1:ENT 1,100,2,2:A=
0
60 IF A=0 THEN A=120:SOUND 1,200,110,1,1,1 ELSE A=A-1
70 R$=INKEY$:IF R$=""OR R$>=" "THEN 60
80 '
90 INK 3,1:CLS:B$="":LOCATE 1,10:PRINT"QUEL EST TON PRENOM ?? ":LOCATE 13,12:PRINT CHR$(143):LOCATE 1,12:GR=140
100 R$=INKEY$:GR=GR XOR 15:PRINT CHR$(GR);CHR$(8);:IF R$=""THEN 100
110 R$=UPPER$(R$):IF(R$<" "AND ASC(R$)<>13)THEN 100 ELSE IF ASC(R$)=13 THEN 130 ELSE IF(R$>"Z"AND ASC(R$)<>127)THEN 100 ELSE IF ASC(
R$)=127 AND LEN(B$)>0 THEN B$=LEFT$(B$,LEN(B$)-1):PRINT CHR$(8);" ";CHR$(8);CHR$(8);:GOTO 100
120 IF LEN(B$)>10 THEN PRINT CHR$(7);:GOTO 100 ELSE B$=B$+R$:PRINT RIGHT$(B$,1);:GOTO 100
130 CLS:BORDER 0:INK 3,1:PAPER 3:CLS:LOCATE 1,5:PRINT"> VOICI MES PIONS : "CHR$(252):PRINT TAB(23);CHR$(253):PRINT:PRINT"> VOICI L
ES VOTRES : ";CHR$(254):PRINT TAB(23);CHR$(255):PRINT:PRINT STRING$(40,210):E=0:PRINT"** NIVEAU (1 a 3)":PEN 1:PRINT
140 PRINT" 1 = JEU MODERE":PRINT" 2 = JEU DEFENSIF":PRINT" 3 = JEU D'ATTAQUE":PRINT:PRINT STRING$(40,210):PRINT"SCORE : CPC
|";B$:PRINT TAB(18);SCP;TAB(24);"|";TAB(30);SJO
150 A$=INKEY$:IF A$=""OR A$<"1"OR A$>"3"THEN 150 ELSE E=VAL(A$):IF E=3 THEN E=0.5
160 INK 3,6:MODE 0:INK 15,9:PAPER 15:WINDOW#1,1,20,22,25:PAPER#1,5:BORDER 15:'
170 'CADRE
180 '
190 CLS:CLS#1:PEN 0:FOR N=1 TO 18 STEP 3:LOCATE 2,N:PRINT" [_[_[_[_[_[_[_[ ";:FOR I=1 TO 2:PRINT" ]_]_]_]_]_]_]_] ";:NEXT I,N:FOR I
=1 TO 2:PRINT STRING$(17,"_"):NEXT I:PRINT TAB(4);"1 2 3 4 5 6 7":Q=42:G=0:FOR J=1 TO 7:A(J+90)=6:NEXT J:FOR I=1 TO 6
200 A(I+100)=7:NEXT I:FOR I=1 TO 6:FOR J=1 TO 7:A(I*9+J)=-1:NEXT J,I:FOR I=0 TO 7:A(I*9)=-2:A(I*9+8)=-2:NEXT I:FOR J=0 TO 8:A(J)=-2:
A(63+J)=-2:NEXT J
210 IF FLG=0 THEN ZJ2=INT(RND*2):IF ZJ2>1 THEN 210
220 IF FLG=0 THEN FLG=1 ELSE ZJ2=(ZJ2=1)+1
230 IF ZJ2=1 THEN Z=1:GOTO 250 ELSE IF Z=0 THEN Z=2:GOTO 240
240 J=4:GOTO 300
250 CLS#1:PRINT#1,"EN QUELLE COLONNE JOUEZ-VOUS ? ";:GOSUB 1050
260 R$=INKEY$:IF R$=""OR R$<"1"OR R$>"7"THEN 260 ELSE J=VAL(R$)
270 IF A(J+90)=0 THEN 250
280 CLS#1:A=J:Z=1:GOSUB 420:IF G=1 THEN PRINT#1," BRAVO ! VOUS AVEZ GAGNE !!":GOSUB 980:SJO=SJO+1:GOTO 330
290 GOSUB 470
300 Z=0:GOSUB 420:IF G=1 THEN PRINT#1," AH AH AH !! J'AI GAGNE LA PARTIE":GOSUB 980:FOR J=1 TO 200:NEXT J:SCP=SCP+1:PRINT#1,"JE V
OUS DONNE VOTRE REVANCHE, OK ... ? ":GOTO 340
310 IF Q<>0 THEN 250
320 PRINT#1," BIEN JOUE !! NOUS SOMME A EGALITE ...":ENT 1,20,3,5:FOR J=1 TO 4:SOUND 1,50,50,10,0,1:NEXT J:FOR J=1 TO 2000:NEXT J
330 PRINT#1,"UNE AUTRE PARTIE ? "
340 R$=INKEY$:IF R$=""OR(UPPER$(R$)<>"O"AND UPPER$(R$)<>"N")THEN 340
350 MODE 1:IF UPPER$(R$)="O"THEN GOTO 130
360 GOTO 40
370 RESTORE:FOR NUL=1 TO I:K=(2*J)+2:L=(NUL*2)+(NUL-1):LOCATE K,L:IF Z=0 THEN INK 14,3:PEN 14:PRINT CHR$(252);:LOCATE K,L+1:PRINT CH
R$(253);:GOTO 390
380 INK 8,5:PEN 8:PRINT CHR$(254);:LOCATE K,L+1:PRINT CHR$(255);:GOTO 390
390 '
400 READ MUS:SOUND 1,MUS,10:FOR XY=1 TO 150:NEXT XY:IF NUL<I THEN LOCATE K,L:PRINT" ";:LOCATE K,L+1:PRINT" ";
410 NEXT NUL:RETURN
420 'CALCULS
430 I=A(J+90):GOSUB 370:A(A(J+90)*9+J)=Z:R=A(J+90):S=J:A(A(J+90)+100)=A(A(J+90)+100)-1:A(J+90)=A(J+90)-1:Q=Q-1:IF Z=0 THEN RETURN
440 '
450 M=0:O=0:N=4:GOSUB 760:IF D=0 THEN G=0:RETURN
460 G=1:RETURN
470 N=4:S=1:O=2:M=45
480 R=A(S+90):IF R=0 THEN 510
490 A(R*9+S)=0:GOSUB 760:IF D=0 THEN A(R*9+S)=-1:GOTO 510
500 J=S:G=1:RETURN
510 S=S+1:IF S<8 THEN 480
520 N=4:S=1
530 R=A(S+90):IF R=0 THEN 560
540 A(R*9+S)=1:GOSUB 760:IF D=0 THEN A(R*9+S)=-1:GOTO 560
550 J=S:G=0:RETURN
560 S=S+1:IF S<8 THEN 530
570 FOR J=111 TO 117:A(J)=0:NEXT J:N=3:S=1
580 R=A(S+90):IF R=0 THEN 600
590 A(R*9+S)=0:GOSUB 760:A(S+110)=D/E:A(R*9+S)=-1
600 S=S+1:IF S<8 THEN 580
610 N=3:S=1
620 R=A(S+90):IF R=0 THEN 640
630 A(R*9+S)=1:GOSUB 760:A(S+110)=A(S+110)+D*E:A(R*9+S)=-1
640 S=S+1:IF S<8 THEN 620
650 N=3:S=1
660 R=A(S+90):IF R<2 THEN 700
670 A(R*9+S)=0:R=R-1:A(R*9+S)=1:GOSUB 760:IF D=0 THEN 690
680 A(S+110)=-D
690 A(R*9+S)=-1:R=R+1:A(R*9+S)=-1
700 S=S+1:IF S<8 THEN 660
710 K=-50:L=0:FOR J=111 TO 117:IF A(J)>K THEN K=A(J):L=J-110
720 NEXT J:IF A(L+90)=0 THEN A(L+110)=-60:GOTO 710
730 J=INT(RND*7)+1:IF A(J+90)=0 THEN 730
740 IF A(J+110)=K THEN RETURN
750 J=L:RETURN
760 Z=A(R*9+S):IF A(S+90)>=5 THEN D=0:GOTO 810
770 I=R+1:J=S:P=1
780 IF A(I*9+J)=Z THEN P=P+1:I=I+1:GOTO 780
790 IF P<N THEN D=0:GOTO 810
800 D=1
810 IF A(R+100)>=6 THEN 880
820 I=R:V=1
830 J=V+S:P=1
840 IF A(I*9+J)=Z THEN P=P+1:J=J+V:GOTO 840
850 IF V<>-1 THEN V=-1:U=P:GOTO 830
860 P=P+U-1:IF P<N THEN 880
870 D=D+1
880 V=1:W=1
890 I=R+W:J=S+V:P=1
900 IF A(I*9+J)=Z THEN P=P+1:J=J+V:I=I+W:GOTO 900
910 IF V<>-1 THEN V=-1:W=-W:U=P:GOTO 890
920 P=P+U-1:IF P<N THEN 940
930 D=D+1
940 IF W<>1 THEN V=1:GOTO 890
950 RETURN:'
960 '
970 MODE 2:PAPER 0:PEN 1:BORDER 0:GOTO 1080
980 '
990 '
1000 '
1010 RESTORE 1010:DATA 478,426,379,358,319,284,0,284,0,284,0,284,358,0,358,239,239,239,0,239,284,-1
1020 READ MU:IF MU=-1 THEN 1040 ELSE SOUND 1,MU,10,12:FOR I=1 TO 70:NEXT I
1030 GOTO 1020
1040 RESTORE 1010:RETURN
1050 FOR I=1 TO 20:R$=INKEY$:NEXT I:RETURN:'
1060 '
1070 '
1080 ON BREAK STOP:END



