MySilicium

Forum de discussions sur les vieux micros, pockets & consoles
Cliquez ici pour rejoindre le CHAT irc (canal #silicium)
Nous sommes actuellement le Ven Sep 03, 2010 11:51 am

Heures au format UTC + 1 heure [ Heure d’été ]




Publier un nouveau sujet Répondre au sujet  [ 31 messages ]  Aller à la page 1, 2, 3  Suivant
Auteur Message
 Sujet du message: Puissance 4 sur pocket (adaptation)
MessagePublié: Mar Mar 17, 2009 15:07 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
l'dée de base faire un puissance 4 sur nos machine graphique.
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
Image
LOAD "P4"
LIST
juste 1 seule ligne
1 CALL ...
ZUT
aller
RUN"P4"
je teste
Image
[ESC][ESC]
mode 2
list
nickel j'ai le source en basic
Image

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 :wink: )

Code:
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


plus qu'a le comprendre

_________________
Moi j'aime Pô les CASIO !!!!


Dernière édition par charognard le Jeu Mar 19, 2009 23:43 pm, édité 5 fois au total.

Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:20 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
Une premiere analyse du code me donne la chose suivante
en ORANGE le code à remplacer ou à supprimer
en NOIR en noyau du programme
les autres couleurs correspondent aux sous programmes (calcul, déplacement, dessin, vérification ...)


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




Je me lance dans la création des fonctions d'affichage sur le PC 1600
de façon à couvrir (en partie) les parties ORANGE

Affichage de la grille (au vu de la taille de l'écran une matrice de 7 par 6 en 5 points de haut avec des jeton de 3 pixel semble envisageable)
Code:
990 "-------------------
1000 "GRILLE"FOR NU=0TO 6
1010 LINE (DE+NU*5,0)-(DE+NU*5,30)
1020 LINE (DE,NU*5)-(DE+35,NU*5)
1030 NEXT NU
1040 LINE -(DE+35,0)
1050 RETURN


Gestion du curseur de selection (j'utilisarai un curseur pour selectionner la colonne et [ENTER] pour poser mon pion
Code:
1100 "SAISIE"GOSUB "CURAFFI"
1110 FE$=INKEY$ :IF ASC FE$<>8AND ASC FE$<>12AND ASC FE$<>13THEN 1110
1120 IF ASC FE$=12THEN GOSUB "CURCACH":CU=CU+1:IF CU>6LET CU=0
1130 IF ASC FE$=8THEN GOSUB "CURCACH":CU=CU-1:IF CU<0LET CU=6
1140 GOSUB "CURAFFI
1150 IF ASC FE$=13THEN RETURN
1160 GOTO 1110
1190 "------------------
1200 "CURAFFI"LINE (CU*5+DE,31)-(CU*5+DE+5,31):RETURN
1210 "CURCACH"LINE (CU*5+DE,31)-(CU*5+DE+5,31),R:RETURN


L'animation de la descente du PION
Code:
1300 "PION"
1310 GOSUB "CURCACH"
1320 CU=J-1:GOSUB "CURAFFI"
1350 FOR NU=0TO I-1
1360 GOSUB 1400+Z
1370 GOSUB 1402+Z
1380 NEXT NU
1390 RETURN
1400 LINE (DE+CU*5+1,NU*5+1)-(DE+CU*5+4,NU*5+4),,,B:RETURN
1401 LINE (DE+CU*5+1,NU*5+1)-(DE+CU*5+4,NU*5+4),,,BF:RETURN
1402 LINE (DE+CU*5+1,(NU-1)*5+1)-(DE+CU*5+4,(NU-1)*5+4),R,,B:RETURN
1403 LINE (DE+CU*5+1,(NU-1)*5+1)-(DE+CU*5+4,(NU-1)*5+4),R,,BF:RETURN

_________________
Moi j'aime Pô les CASIO !!!!


Dernière édition par charognard le Mar Mar 17, 2009 16:27 pm, édité 3 fois au total.

Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:24 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
Ceci étant fait et testé je connecte mon 1600 sur mon Portable pour récupérer ma source

Hyperterminal sous VISTA avec USB <-> RS232

OK je fusionne avec la source AMSTRAD en agençant le programme différenment.

Retour d la source sur le 1600, débogage (léger) puis retransmission de la source sur PC pour SILICIUM

Code:
10 CLS :WAIT 0
20 DIM A(200):SP=0:SJ=0:A=0:CU=0:DE=80
30 GR=140:E=RND 3:IF E=3LET E=0.5
40 GOSUB "GRILLE"
60 Q=42:G=0:FOR J=1TO 7:A(J+90)=6:NEXT J:FOR I=1TO 6:A(I+100)=7:NEXT I
70 FOR I=1TO 6:FOR J=1TO 7:A(I*9+J)=-1:NEXT J:NEXT I:FOR I=0TO 7:A(I*9)=-2:A(I*9+8)=-2:NEXT I
80 FOR J=0TO 8:A(J)=-2:A(63+J)=-2:NEXT J
90 IF FL=0LET ZJ=RND 2-1
100 IF FL=0LET FL=1ELSE ZJ=(ZJ=1)+1
110 IF ZJ=1LET Z=1:GOTO 130ELSE IF Z=0LET Z=2
120 J=4:GOTO 180
130 GOSUB "SAISIE"
140 J=CU+1
150 IF A(J+90)=0THEN 130
160 A=J:Z=1:GOSUB "VERIF":IF G=1THEN PRINT "VOUS AVEZ GAGNE !!":END
170 GOSUB "PC"
180 Z=0:GOSUB "VERIF":IF G=1THEN PRINT "J'AI GAGNE LA PARTIE":END
310 IF Q<>0THEN 130
320 PRINT "EGALITE ...":END
990 "-------------------
1000 "GRILLE"FOR NU=0TO 6
1010 LINE (DE+NU*5,0)-(DE+NU*5,30)
1020 LINE (DE,NU*5)-(DE+35,NU*5)
1030 NEXT NU
1040 LINE -(DE+35,0)
1050 RETURN
1090 "------------------
1100 "SAISIE"GOSUB "CURAFFI"
1110 FE$=INKEY$ :IF ASC FE$<>8AND ASC FE$<>12AND ASC FE$<>13THEN 1110
1120 IF ASC FE$=12THEN GOSUB "CURCACH":CU=CU+1:IF CU>6LET CU=0
1130 IF ASC FE$=8THEN GOSUB "CURCACH":CU=CU-1:IF CU<0LET CU=6
1140 GOSUB "CURAFFI
1150 IF ASC FE$=13THEN RETURN
1160 GOTO 1110
1190 "------------------
1200 "CURAFFI"LINE (CU*5+DE,31)-(CU*5+DE+5,31):RETURN
1210 "CURCACH"LINE (CU*5+DE,31)-(CU*5+DE+5,31),R:RETURN
1290 "------------------
1300 "PION"
1310 GOSUB "CURCACH"
1320 CU=J-1:GOSUB "CURAFFI"
1350 FOR NU=0TO I-1
1360 GOSUB 1400+Z
1370 GOSUB 1402+Z
1380 NEXT NU
1390 RETURN
1400 LINE (DE+CU*5+1,NU*5+1)-(DE+CU*5+4,NU*5+4),,,B:RETURN
1401 LINE (DE+CU*5+1,NU*5+1)-(DE+CU*5+4,NU*5+4),,,BF:RETURN
1402 LINE (DE+CU*5+1,(NU-1)*5+1)-(DE+CU*5+4,(NU-1)*5+4),R,,B:RETURN
1403 LINE (DE+CU*5+1,(NU-1)*5+1)-(DE+CU*5+4,(NU-1)*5+4),R,,BF:RETURN
1490 "------------------
1500 "VERIF"I=A(J+90):GOSUB "PION":A(A(J+90)*9+J)=Z
1510 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
1520 IF Z=0THEN RETURN
1530 M=0:O=0:N=4:GOSUB "CALCUL":IF D=0LET G=0:RETURN
1540 G=1:RETURN
1590 "------------------
1600 "PC"N=4:S=1:O=2:M=45
1610 R=A(S+90):IF R=0THEN 1640
1620 A(R*9+S)=0:GOSUB "CALCUL":IF D=0LET A(R*9+S)=-1:GOTO 1640
1630 J=S:G=1:RETURN
1640 S=S+1:IF S<8THEN 1610
1650 N=4:S=1
1660 R=A(S+90):IF R=0THEN 1690
1670 A(R*9+S)=1:GOSUB "CALCUL":IF D=0LET A(R*9+S)=-1:GOTO 1690
1680 J=S:G=0:RETURN
1690 S=S+1:IF S<8THEN 1660
1700 FOR J=111TO 117:A(J)=0:NEXT J:N=3:S=1
1710 R=A(S+90):IF R=0THEN 1730
1720 A(R*9+S)=0:GOSUB "CALCUL":A(S+110)=D/E:A(R*9+S)=-1
1730 S=S+1:IF S<8THEN 1710
1740 N=3:S=1
1750 R=A(S+90):IF R=0THEN 1770
1760 A(R*9+S)=1:GOSUB "CALCUL":A(S+110)=A(S+110)+D*E:A(R*9+S)=-1
1770 S=S+1:IF S<8THEN 1750
1780 N=3:S=1
1790 R=A(S+90):IF R<2THEN 1840
1800 A(R*9+S)=0:R=R-1:A(R*9+S)=1:GOSUB "CALCUL":IF D=0THEN 1830
1810 A(S+110)=-D
1830 A(R*9+S)=-1:R=R+1:A(R*9+S)=-1
1840 S=S+1:IF S<8THEN 1790
1850 K=-50:L=0:FOR J=111TO 117:IF A(J)>KLET K=A(J):L=J-110
1860 NEXT J:IF A(L+90)=0LET A(L+110)=-60:GOTO 1850
1870 J=RND 7:IF A(J+90)=0THEN 1870
1880 IF A(J+110)=KTHEN RETURN
1890 J=L:RETURN
1990 "------------------
2000 "CALCUL"Z=A(R*9+S):IF A(S+90)>=5LET D=0:GOTO 2050
2010 I=R+1:J=S:P=1
2020 IF A(I*9+J)=ZLET P=P+1:I=I+1:GOTO 2020
2030 IF P<NLET D=0:GOTO 2050
2040 D=1
2050 IF A(R+100)>=6THEN 2120
2060 I=R:V=1
2070 J=V+S:P=1
2080 IF A(I*9+J)=ZLET P=P+1:J=J+V:GOTO 2080
2090 IF V<>-1LET V=-1:U=P:GOTO 2070
2100 P=P+U-1:IF P<NTHEN 2120
2110 D=D+1
2120 V=1:W=1
2130 I=R+W:J=S+V:P=1
2140 IF A(I*9+J)=ZLET P=P+1:J=J+V:I=I+W:GOTO 2140
2150 IF V<>-1LET V=-1:W=-W:U=P:GOTO 2130
2160 P=P+U-1:IF P<NTHEN 2180
2170 D=D+1
2180 IF W<>1LET V=1:GOTO 2130
2190 RETURN

_________________
Moi j'aime Pô les CASIO !!!!


Dernière édition par charognard le Lun Mar 23, 2009 13:22 pm, édité 1 fois au total.

Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:30 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
ça marche par mal, le PC 1600 n'est pas trop lent mais il faut bien 15 à 20 secondes entre les coups je n'ose imaginer sur 1360 (ou sur CASIO :wink: )

le programme utilisé est plutot assez fort et je remercie son auteur, hebdogiciel et le site http://www.hebdogiciel.fr/ pour la mise à dispo de ce programme.

pour l'instant l'écran n'a que la grille et est totalement jouable reste à faire quelques graphisme et à ajouter quelques fonctions pour parfaire la chose

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:41 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
une photo pas terrible il est vrai on ne voie pas non plus l'animation des jetons (NOIR et BLANC) mais ça donne une idée
Image

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:45 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
Prochaine étape migration sur X07 pour voir la rapidité (à la paluche car pas de RS 232 :cry: ) à moins qu'un TXT2WAV existe ???!!!

ensuite suivant demande ajout de possibilités dans le programme mais là il y a moins d'interet.

Ah oui j'aurais bien fait une adaptation sur CASIO mais sur la 7000G (la seule que j'ai) je n'ai pas assez de mémoire et elle risque d'êtr très très lente. En plus les écrans en 1 seule matrice ça ne court pas les rues

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:53 pm 
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Avatar de l’utilisateur

Inscrit le: Sam Avr 10, 2004 22:23 pm
Messages: 417
Localisation: Terrasson (Périgord)
Ouf ! Je ne connais pas ce jeu :(
Peux-tu en donner le principe ?
...
Principe qui pourrait nous donner envie de le faire, ce jeu !

;)

_________________
HP-75C, HP-41C, Casio FX-602P, FX-702P et d'autres trucs
[ http://www.panophoto.org/forums/ | http://www.trombinewtscope.free.fr/ ]


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 15:55 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
WIKI EST TON AMI
ICI

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 16:37 pm 
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Avatar de l’utilisateur

Inscrit le: Sam Avr 10, 2004 22:23 pm
Messages: 417
Localisation: Terrasson (Périgord)
charognard a écrit:
http://www.hebdogiciel.fr/ pour la mise à dispo de ce programme.


Pfff... Il n'y a pas mon listing de mon Jack-Pot fait avec un Casio FX-702P !
C'est toi l'administrateur du site, donc :(

_________________
HP-75C, HP-41C, Casio FX-602P, FX-702P et d'autres trucs
[ http://www.panophoto.org/forums/ | http://www.trombinewtscope.free.fr/ ]


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 18:02 pm 
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Avatar de l’utilisateur

Inscrit le: Jeu Avr 20, 2006 13:48 pm
Messages: 451
Localisation: Wehrheim, Allemagne
charognard a écrit:
Prochaine étape migration sur X07 pour voir la rapidité (à la paluche car pas de RS 232 :cry: ) à moins qu'un TXT2WAV existe ???!!

Un câble X-07/USB est vite fait à laide de câble TTL-232R-5.0V de FTDI. Vois mon post ici. J'ai modifié mon post pour inclusion du câblage.

_________________
Marcus von Cube
Wehrheim, Allemagne
http://www.mvcsys.de
Casio utilities
BASIC comparison sheet


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 18:50 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
j'ai pas le cable, et puis la frappe de 2 ou 3Ko ne me rebute pas
merci marcus

je mettrais l'adaptation en WAV ICI pour le CANON

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 22:07 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
une petite video
LA

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 22:14 pm 
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Avatar de l’utilisateur

Inscrit le: Sam Avr 10, 2004 22:23 pm
Messages: 417
Localisation: Terrasson (Périgord)
charognard a écrit:
ça marche par mal, le PC 1600 n'est pas trop lent mais il faut bien 15 à 20 secondes entre les coups je n'ose imaginer sur 1360 (ou sur CASIO :wink: )

Hum, ça doit pouvoir être OPtimisé, non ?

:arrow:

_________________
HP-75C, HP-41C, Casio FX-602P, FX-702P et d'autres trucs
[ http://www.panophoto.org/forums/ | http://www.trombinewtscope.free.fr/ ]


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 22:19 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Avatar de l’utilisateur

Inscrit le: Mer Juin 06, 2007 19:28 pm
Messages: 3585
Localisation: Indre et loire
Thierry Loiseau a écrit:
charognard a écrit:
ça marche par mal, le PC 1600 n'est pas trop lent mais il faut bien 15 à 20 secondes entre les coups je n'ose imaginer sur 1360 (ou sur CASIO :wink: )

Hum, ça doit pouvoir être OPtimisé, non ?

:arrow:

vas y te prive pas !!!

sur le X07 avec ses variables entieres à mon avis faut s'attendre à une belle perf

_________________
Moi j'aime Pô les CASIO !!!!


Haut
 Profil Envoyer un e-mail  
 
 Sujet du message:
MessagePublié: Mar Mar 17, 2009 22:28 pm 
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds

Inscrit le: Sam Aoû 09, 2008 17:46 pm
Messages: 2464
Localisation: Bures sur Yvette (91)
sympa la petite conversion
Quand j'aurai le temps (...), c'est que je voulais faire avec des prg en basic sur mes thomson. les reprendre, en essayant d'améliorer u peu niveau graphes. Ce n'est plus une conversion ensuite, je l'admet

_________________
Rech toute pub de catalogue soft Thomson + jeux QDD et D7
Cable ASCI pour HD Atari - Adaptateurs DC pour Xarcade (MAJ 18/08/10)

YTHUNDER, Chevalier du Zodiaque (3ème DAN)


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 31 messages ]  Aller à la page 1, 2, 3  Suivant

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Google [Bot] et 0 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Rechercher pour:
Sauter vers:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction réalisée par Maël Soucaze © 2009 phpBB.fr