Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 6072
Réponses : 63
Type : discussion
Etat : réponses autorisées

Morpion-3D - Page 3 / 4

Persalteas le 15/10/2012 à 13:05
Tu as du oublier un ou plusieurs "End" dans le code.
Pb le 15/10/2012 à 13:31
Oui mais maintenant sa fait err syntaxe à la ligne: Else et au End qui suis
Cytropus le 15/10/2012 à 16:10
C'est que t'as oublié de mettre un then après le if
Pb le 15/10/2012 à 16:38
Où???
blg_flg le 15/10/2012 à 21:05
Ben au If dont dépendent le "Else" et le "End", je pense (le dernier quoi). happy.gif
Pb le 15/10/2012 à 21:18
Moi sa ne marche pas quand lance le morpion il y a l'écran avec le titre qui s'affiche puis je fais entrer sa met un petit écran à droit (toujours sur l'écran titre) puis sa met joueur 2 gagne et j'ai vérifier je n'est pas oublier de End
Pb le 15/10/2012 à 22:12
Enfaite sa fait un temps d'attente où l'écran est blanc puis sa revien sur le titre puis sa superpose le pavé de droite l'écran titre et joueur 2 gagne.
Mathérible le 14/01/2013 à 12:54
Salut, je vais traduire en français ton prog pour que tout le monde puisse profiter.

Code
:FonctNaff
:AxesNaff
:0->Xmin:94->Xmax
:0->Ymin:62->Ymax
:EffDessin
:Horizontale 0
:Verticale 0
:Horizontale 62
:Verticale 94
:Verticale 1
:Verticale 93
:Ligne(0,60,20,60
:Ligne(74,35,94,35
:"        M o r p i o n->Chaîne1
:For(A,1,94,2
:Pt-Naff(A,60
:Pt-Naff(A+1,60
:Pt-Naff(94-A,35
:Pt-Naff(95-A,35
:Pt-Aff(A+20,60
:Pt-Aff(A+21,60
:Pt-Aff(74-A,35
:Pt-Aff(75-A,35
:If A<8:Then
:For(B,0,2
:Texte(4,4A+25+B,sous-Chaîne(Chaîne1,A,1
:End
:End
:If A>7 et A<23:Then
:For(B,0,2
:Texte(14,4A+B-18,sous-Chaîne(Chaîne1,A,1
:End
:End
:If A=75:Texte(54,20,"(c) persa1teas
:End
:Horizontale 60
:Horizontale 35
:Horizontale 34
:Ligne(8,9,86,9
:Ligne(8,28,86,28:Line(86,9,86,28
:Ligne(8,9,8,28
:Pt-Aff(20,14,2
:Pt-Aff(20,23,2
:Texte(36,26,"JOUEUR / JOUEUR
:Texte(44,26,"JOUEUR / TI
:23->C
:Repeat K=105
:codeTouch(->K
:Pt-Naff(20,C
:C+9(K=25 et C=14)-9(K=34 et C=23->C
:Pt-Aff(20,C
:69!:69!:69!
:End
:If C=14:1->W
:If C=23:0->W
:0->S:0->R
:1->P:0->V
:Lbl Z
:0->Y
:EffDessin
:If non(V:Then
:For(C,1,12
:If C=1:{3,42,21,42,21,58,24,58,24,42,41,42,41,58,44,58,44,42,62,42
:If C=2:{62,42,62,39,44,39,44,22,62,22,62,19,44,19,44,2,41,2,41,19,24,19
:If C=3:{24,19,24,2,21,2,21,19,3,19,3,22,21,22,21,39,3,39,3,42
:If C=4:{24,39,41,39,41,22,24,22,24,39
:If C=5:{3,42,5,44,21,44
:If C=6:{3,22,5,24,20,24
:If C=7:{24,2,26,4,26,19
:If C=8:{44,2,46,4,46,18
:If C=9:{26,39,26,24,41,24
:If C=10:{46,39,46,24,64,24,64,21,62,19
:If C=11:{41,58,43,60,46,60,46,44,64,44,64,41,62,39
:If C=12:{21,58,23,60,26,60,26,44,40,44
:For(D,1,dim(Rep)-3,2
:Ligne(Rep(D),Rep(D+1),Rep(D+2),Rep(D+3
:End
:End
:{25,59,45,59,25,43,45,43,63,43,25,23,45,23,63,23
:For(D,1,16,2
:Pt-Aff(Rep(D),Rep(D+1
:End
:{67,9,67,52,69,54,93,54,93,11,91,9,91,52,92,53
:For(C,1,13,2
:Ligne(Rep(C),Rep(C+1),Rep(C+2),Rep(C+3
:End
:{52,37,27,23,13,9
:For(C,1,6
:Ligne(67,Rep(C),91,Rep(C
:End
:Texte(11,69,"Partie
:Texte(26,69,"J1.
:If non(W:Texte(40,69,"J2.
:If W:Texte(40,69,"TI.
:SauveImage 6
:1->V
:Else
:RappelImage 6
:End
:Texte(17,75,P
:Texte(27,80,S
:Texte(41,80,R
:1->C:1->D
:2->A:2->B
:0->T
:If partDéc(P.5:1->T
:{3,3->dim([A]
:Remplir(0,[A]
:Repeat 0
:codeTouche->K
:A->C
:B->D
:If T ou non(W:Then
:B-(K=24)+(K=26->B
:A-(K=34)+(K=25->A
:End
:If non(A:3->A
:If A=4:1->A
:If non(B:3->B
:If B=4:1->B
:Ligne(69,29,77,29,T
:Ligne(69,15,77,15,non(T
:Pt-Naff(20D-7,20C-9,3
:If T ou non(W:Pt-Aff(20B-7,20A-9,3
:If Wnon(T:Then
:Matr>liste([A],L1,L2,L3                    // L1, L2 etc... sont les listes
:Matr>liste([A]{^T},L4,L5,L6                // le {^T} est le petit T du menu [matrice]
:0->M:0->N
:For(K,1,6
:If K=1:L1
:If K=2:L2
:If K=3:L3
:If K=4:L4
:If K=5:L5
:If K=6:L6
:Rep->L1
:abs(somme([Delta]Liste(L1->L
:If (somme(L1)=4 et L=2) ou (somme(L1)=2 et (L=1 ou non(L:Then
:For(J,1,3
:If non(L1(J:J->N
:End
:1->M
:If K<4:Then
:K->B
:N->A
:Else
:K-3->A
:N->B
:End
:End
:If somme(L1)=4 et L=2:7->K
:End
:If non(M:Then
:Lbl V
:entAléat(1,3->A
:entAléat(1,3->B
:If [A](A,B:Goto V
:End
:105->K
:End
:If K=45:Goto Q
:If K=105 et [A](A,B:0->K
:If K=105 et T:Then
:1->[A](A,B
:20A-13->C
:20B-13->D
:For(J,1,4
:If J=1:{4,4,0,0,3,0,6,3,9,0,12,0,8,4
:If J=2:{4,5,0,9,3,9,6,6,9,9,12,9,8,5
:If J=3:{1,10,4,10,6,8
:For(L,1,dim(Rep)-3,2
:Ligne(D+Rep(L),C+Rep(L+1),D+Rep(L+2),C+Rep(L+3
:End:End
:Ligne(D+9,C+5,D+13,C+1
:Ligne(D+10,C+10,D+13,C+10
:End
:If K=105 et non(T:Then
:20A-15->C
:20B-14->D
:Cercle(D+7,C+7,5
:Cercle(D+6,C+6,5
:Cercle(D+6,C+6,3
:Ligne(D+7,C+2,D+5,C+2,0
:Ligne(D+2,C+5,D+2,C+8,0
:2->[A](A,B
:End
:If K=105:non(T->T
:[A](1,1->J
:[A](1,2->K
:[A](1,3->L
:[A](2,1->M
:[A](2,2->E
:[A](2,3->F
:[A](3,1->G
:[A](3,2->H
:[A](3,3->I
:If JKL=1 ou MEF=1 ou GHI=1 ou JMG=1 ou KEH=1 ou LFI=1 ou JEI=1 ou LEG=1:Then
:Ligne(0,11,94,11
:For(K,12,50
:Ligne(0,K,94,K,0
:End
:Ligne(0,50,94,50
:Texte(28,20,"JOUEUR 1 GAGNE!
:P+1->P
:S+1->S
:1->Y
:Pause
:End
:If JKL=8 ou MEF=8 ou GHI=8 ou JMG=8 ou KEH=8 ou LFI=8 ou JEI=8 ou LEG=8:Then
:Ligne(0,11,94,11
:For(K,12,50
:Ligne(0,K,94,K,0
:End
:Ligne(0,50,94,50
:If non(W:Texte(28,20,"JOUEUR 2 GAGNE !
:If W:Then
:Texte(24,15,"COMME QUOI UNE TI
:Texte(31,11,"VAUT BIEN UN CERVEAU
:Texte(38,30,"HUMAIN !
:End
:P+1->P
:R+1->R
:1->Y
:Pause
:End
:If J+K+L+M+E+F+G+H+I>=13 et non(Y:Then
:Ligne(0,11,94,11
:For(K,12,50
:Ligne(0,K,94,K,0
:End
:Ligne(0,50,94,50
:Texte(28,32,"Fai1ed  =P
:P+1->P
:1->Y
:Pause
:End
:If Y:Goto Z
:End
:Lbl Q
:EffDessin
:EffEcr
:ZStandard
:AxesAff
:EffVar [A]EffVar Img6EffVar L1EffVar L2EffVar L3EffVar L4EffVar L5EffVar L6
:Output(1,1,"   MOrpiOn-3D   by persa1teas.
Persalteas le 17/01/2013 à 13:24
Merci de ton dévouement ! winkle.gif

(A propos je remarque que j'ai laissé dans le code des "O" minuscules, qui n'existent pas sur 82 stats... il faut les remplacer par des O majuscules.)
Mathérible le 17/01/2013 à 17:48
De toute façon, j'ai fait un copi-colle de ton prog pour ensuite traduire
MaximeDeprince le 10/10/2013 à 19:32
BONJOUR JE SUIS NOUVEAU DANS LA MATIERE

Mais j'ai un soucis avec ce programme les ronds au lieu de l'ai faire dans les cases ils se font décaler pourquoi (j'ai tout verifier en plus) frozen.gif
linkakro le 10/10/2013 à 22:17
Décalé dans quelle direction et longueur ?
Vérifie déjà les lignes avec C ou D.
MaximeDeprince le 11/10/2013 à 07:33
verticale
MaximeDeprince le 11/10/2013 à 13:10
PROBLEME RESOLUUUUUUUUUU !!!

Merci (j'ai confondu un - avec un +) --'

Merci beaucoup bigmouth.gif
Wistaro le 18/10/2013 à 13:17
Pas mal!
Calculator le 22/10/2014 à 23:12
Bonjour j'ai un souci j'ai dim invalide après le horizontale 0 ? C'est quoi le souci car tout est correct au dessus
Calculator le 22/10/2014 à 23:34
Alors j'ai mis le prog sur une autre ti 82 stats.fr et j'ai un autre problème a la ligne if k=105 et [a] (A, B:0-> k j'ai dim invalide sur les 2 points. De plus le menu ne s' affiche pas en entier et je ne vois pas la grille du morpion en jeu. Merci de l'aide
linkakro le 23/10/2014 à 22:17
Ton message dim_invalid sur Horizontale 0 est causé par les graphes statistiques, statsplot en anglais. Désactive les statsplot avec les icones en haut du menu y= ou bien avec GraphOff/PlotsOff.
Ton message dim_invalid sur la matrice [A] vient d'une mauvaise initialisation de la matrice, qui n'a pas les bonnes dimensions.
La fenêtre de ton graphique n'est certainement pas bien initialisé, et les coordonnées ne correspondent pas à ce que l'auteur a prévu. L'initialisation du graphique est ici :
Code
:FonctNaff
:AxesNaff
:0->Xmin:94->Xmax
:0->Ymin:62->Ymax
:EffDessin
Calculator le 24/10/2014 à 11:39
Merci quelles sont les bonnes dimensions de la matrice ? Moi elles sont a 3x3
linkakro le 24/10/2014 à 17:37
Ces dimensions sont normales. Le programme initialise ainsi.
Code
:{3,3->dim([A]
:Remplir(0,[A]
Ce sont donc les variables A ou B dont les valeurs sont fausses. Une erreur se trouve donc au niveau d'une des affectations de A ou B. Commence par consulter les deux dans l'écran de calcul avec "{A,B}". Celle qui n'est ni 1, ni 2, ni 3 est fausse.
Voici un exemple de fragment concerné par A et B.
Code
:If K<4:Then
:K->B
:N->A
:Else
:K-3->A
:N->B
:End