Poster un nouveau sujet Poster une réponse Page: 1,      >>
Morpion-3D
Auteur Message
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Ven 13 Avr 2012, 17:13   Citer 

Voilà, je vous poste le code de mon dernier morpion de 3000 octets environ, qui a récement remporté la deuxième place au TI-Concours 2012 happy.gif


Ce programme était fait à la base pour TI 83+, j'ai donc du un peu modifier le code pour qu'il fonctionne sur TI-82 Stats (fr). (l'image animée est celle de 83+, le programme est légèrement différent (au niveau du titre et au niveau de la vitesse de chargement des cercles en 3D)



lien de téléchargement version 83+

(pour transformer la version 83+ en 82 stats, remplacez les minuscules par des majuscules, et supprimez les {i , comme dans le code ci-dessous: )


Ce code est plutôt compliqué a recopier, (en code anglais en plus), si vous ne trouvez pas une fonction ou une lettre, n'hésitez pas a demander.



Code

:FnOff
:AxesOff
:0->Xmin:94->Xmax
:0->Ymin:62->Ymax
:ClrDraw
:Horizontal 0
:Vertical 0
:Horizontal 62
:Vertical 94
:Vertical 1
:Vertical 93
:Line(0,60,20,60
:Line(74,35,94,35
:"        M o r p i o n->Str1
:For(A,1,94,2
:Pt-Off(A,60
:Pt-Off(A+1,60
:Pt-Off(94-A,35
:Pt-Off(95-A,35
:Pt-On(A+20,60
:Pt-On(A+21,60
:Pt-On(74-A,35
:Pt-On(75-A,35
:If A<8:Then
:For(B,0,2
:Text(4,4A+25+B,sub(Str1,A,1
:End
:End
:If A>7 and A<23:Then
:For(B,0,2
:Text(14,4A+B-18,sub(Str1,A,1
:End
:End
:If A=75:Text(54,20,"(c) persa1teas
:End
:Horizontal 60
:Horizontal 35
:Horizontal 34
:Line(8,9,86,9
:Line(8,28,86,28:Line(86,9,86,28
:Line(8,9,8,28
:Pt-On(20,14,2
:Pt-On(20,23,2
:Text(36,26,"JOUEUR / JOUEUR
:Text(44,26,"JOUEUR / TI
:23->C
:Repeat K=105
:getKey->K
:Pt-Off(20,C
:C+9(K=25 and C=14)-9(K=34 and C=23->C
:Pt-On(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
:ClrDraw
:If not(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(Ans)-3,2
:Line(Ans(D),Ans(D+1),Ans(D+2),Ans(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-On(Ans(D),Ans(D+1
:End
:{67,9,67,52,69,54,93,54,93,11,91,9,91,52,92,53
:For(C,1,13,2
:Line(Ans(C),Ans(C+1),Ans(C+2),Ans(C+3
:End
:{52,37,27,23,13,9
:For(C,1,6
:Line(67,Ans(C),91,Ans(C
:End
:Text(11,69,"Partie
:Text(26,69,"J1.
:If not(W:Text(40,69,"J2.
:If W:Text(40,69,"TI.
:StorePic 6
:1->V
:Else
:RecallPic 6
:End
:Text(17,75,P
:Text(27,80,S
:Text(41,80,R
:1->C:1->D
:2->A:2->B
:0->T
:If fPart(P.5:1->T
:{3,3->dim([A]
:Fill(0,[A]
:Repeat 0
:getKey->K
:A->C
:B->D
:If T or not(W:Then
:B-(K=24)+(K=26->B
:A-(K=34)+(K=25->A
:End
:If not(A:3->A
:If A=4:1->A
:If not(B:3->B
:If B=4:1->B
:Line(69,29,77,29,T
:Line(69,15,77,15,not(T
:Pt-Off(20D-7,20C-9,3
:If T or not(W:Pt-On(20B-7,20A-9,3
:If Wnot(T:Then
:Matr>list([A],L1,L2,L3                    // L1, L2 etc... sont les listes
:Matr>list([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
:Ans->L1
:abs(sum(DeltaList(L1->L
:If (sum(L1)=4 and L=2) or (sum(L1)=2 and (L=1 or not(L:Then
:For(J,1,3
:If not(L1(J:J->N
:End
:1->M
:If K<4:Then
:K->B
:N->A
:Else
:K-3->A
:N->B
:End
:End
:If sum(L1)=4 and L=2:7->K
:End
:If not(M:Then
:Lbl V
:randInt(1,3->A
:randInt(1,3->B
:If [A](A,B:Goto V
:End
:105->K
:End
:If K=45:Goto Q
:If K=105 and [A](A,B:0->K
:If K=105 and 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(Ans)-3,2
:Line(D+Ans(L),C+Ans(L+1),D+Ans(L+2),C+Ans(L+3
:End:End
:Line(D+9,C+5,D+13,C+1
:Line(D+10,C+10,D+13,C+10
:End
:If K=105 and not(T:Then
:20A-15->C
:20B-14->D
:Circle(D+7,C+7,5
:Circle(D+6,C+6,5
:Circle(D+6,C+6,3
:Line(D+7,C+2,D+5,C+2,0
:Line(D+2,C+5,D+2,C+8,0
:2->[A](A,B
:End
:If K=105:not(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 or MEF=1 or GHI=1 or JMG=1 or KEH=1 or LFI=1 or JEI=1 or LEG=1:Then
:Line(0,11,94,11
:For(K,12,50
:Line(0,K,94,K,0
:End
:Line(0,50,94,50
:Text(28,20,"JOUEUR 1 GAGNE!
:P+1->P
:S+1->S
:1->Y
:Pause
:End
:If JKL=8 or MEF=8 or GHI=8 or JMG=8 or KEH=8 or LFI=8 or JEI=8 or LEG=8:Then
:Line(0,11,94,11
:For(K,12,50
:Line(0,K,94,K,0
:End
:Line(0,50,94,50
:If not(W:Text(28,20,"JOUEUR 2 GAGNE !
:If W:Then
:Text(24,15,"COMME QUOI UNE TI
:Text(31,11,"VAUT BIEN UN CERVEAU
:Text(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 and not(Y:Then
:Line(0,11,94,11
:For(K,12,50
:Line(0,K,94,K,0
:End
:Line(0,50,94,50
:Text(28,32,"Fai1ed  =P
:P+1->P
:1->Y
:Pause
:End
:If Y:Goto Z
:End
:Lbl Q
:ClrDraw
:ClrHome
:ZStandard
:AxesOn
:DelVar [A]DelVar Pic6DelVar L1DelVar L2DelVar L3DelVar L4DelVar L5DelVar L6
:Output(1,1,"   MOrpiOn-3D   by persa1teas.



Encore une fois, ce code est difficile a recopier puisqu'il est en anglais. N'hésitez pas a poser des questions.

je rappelle à tout hasard que mon catalogue du TI Basic est très utile pour traduire et trouver les fonctions. glasses.gif

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Sam 14 Avr 2012, 11:01   Citer 

Bah mon coco ...j'te dis bravo xD
Déja que moi je peine a faire un morpion tout simple alors la ... j'serai toujours bluffé x')

(ah euh aussi le code que tu as posté ne marche pas sur TI-82/82-stats etc ... j'ai vu notamment un "Text(-1,..." et ça je crois pas que ça marche si ?)

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 14 Avr 2012, 11:59   Citer 

EXACT j'ai oublié de l'enlever.

J'édite mon message. Il faut enlever le "-1,"

Est-ce qu'un Sandro/Linka/Sangohan (ou un autre ^^ ) trouve quelque chose a optimiser, par hasard ?

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 14 Avr 2012, 12:43   Citer 

Je suis blousé par ton usage de Ans en tant que liste.
Aussi loin que je me souvienne, mes essais n'étaient pas concluants. cry.gif
C'est déjà un bon point pour toi. happy.gif persi= glasses.gif

J'aime bien ton usage de la transposition de matrice, même si je n'ai pas encore saisi toutes les subtilités.

J'ai oublié à quoi sert DeltaList mais je sais qu'on a déjà discuté de ça avec sandro pour les recherches de valeurs.

L'usage des listes et des For pour les tests sont bien fichus mais personnellement je préfère le test barbare en argument d'un Repeat. (cela me paraît plus léger mais ça reste à vérifier)

J'aime bien le commentaire de victoire de la TI. laugh.gif

Je ne voie pas par où commencer pour une hypothétique optimisation car c'est déjà dense. Je pense que c'est déjà très bien comme c'est maintenant.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 14 Avr 2012, 15:18   Citer 


Citer
L'usage des listes et des For pour les tests sont bien fichus mais personnellement je préfère le test barbare en argument d'un Repeat. (cela me paraît plus léger mais ça reste à vérifier)



ça, c'est mon IA, c'est pas le test de victoire... Personnellement c'est le seul moyen a peu près léger que j'ai trouvé... Comment tu ferais ? (si t'as la flemme de répondre, j'irai voir ton morpion a toi...)

Et sinon DeltaList c'est toi qui m'a appris a quoi elle sert happy.gif

ça ressort l'intervalle entre chaque valeur. C'est donc une liste avec une dimension de 1 de moins.

exemple:

DeltaList({0,2,6,1,-4,-2} = {2,4,-5,-5,2}

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 14 Avr 2012, 17:44   Citer 

Je n'ai pas écrit de bonne IA et je n'en ai pas mis dans mon morpion.
Je ne l'ai même pas finit.
Ce que j'avais bidouillé contenait des For pour passer en revue chaque ligne et chaque colonne, et les positions dans chaque ligne/colonne étaient gérées de façon barbare dans des If.
Ainsi chaque If teste une ligne, une colonne ou une diagonale et les For passent tout en revue.
Et un For autour du tout pour tester d'abord les positions qui complètent des lignes puis celles qui bloquent l'adeversaire.
J'ai commencé à m'embrouiller lorsque j'ai voulu que la calculatrice choisisse en priorité les positions qui font d'une pierre deux coup.
Quelques cas de figure supplémentaires seraient la cerise sur le gateau.

Et ce qui m'a manqué est la transposition de matrice, que toi tu as utilisé.

J'ai bien dit que mon goût pour la barbarie de If m'est personnelle, et ce n'est pas forcément la meilleure méthode.
Et puis chaque programmeur a sa façon de faire, c'est ce qui rend la programmation originale. winkle.gif

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Sam 14 Avr 2012, 18:01   Citer 


Citer

Code
Text(36,26,"JOUEUR / JOUEUR
:Text(44,26,"JOUEUR / TI
:23->C
:Repeat K=105
:getKey->            //il manquerait pas une variable ici???
:Pt-Off(20,C





Code
:If sum(L1)=4 and L=2:7->K

peut devenir
Code
:If L=2 and 4=sum(L1
:7->K



Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 14 Avr 2012, 21:29   Citer 

Waw, alors là Sandro, je suis épaté beer.gif

Je ne m'attendais sérieusement pas à un oubli ridicule de ce genre, pourquoi n'y ai-je pas pensé...

et sinon, la variable manquante, c'est un K, bien sur.

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Sam 14 Avr 2012, 21:35   Citer 


Code
:If Wnot(T:Then



C'est pas une coquille ça ?

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 14 Avr 2012, 21:37   Citer 

Qu'est-ce que tu entends par une coquille ?

en tout cas cette ligne est telle que je la voulais, c'est un calcul avec des booléens.

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Sam 14 Avr 2012, 21:41   Citer 

Ah très bien.

*s'enfonce encore un peu plus*

Non je pensais que c'était peut-être un If W et non(T:Then j'ai pensé après coup à la multiplication. minied.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Sam 14 Avr 2012, 22:27   Citer 

autre optimisation : remplace :69!:69!:69! par rand(N ou N est un entier : ça te tire une liste de N nombres rand et ça ralentit donc aussi.

EDIT : encore une :

Code
:0->T
:If fPart(P.5:1->T


devient

Code
:DelVar TIf fPart(P.5:1->T



EDIT2 :

Code
:DelVar [A]DelVar Pic6DelVar L1DelVar L2DelVar L3DelVar L4DelVar L5DelVar L6
:Output(1,1,"   MOrpiOn-3D   by persa1teas.


Devient

Code
:DelVar [A]DelVar Pic6DelVar L1DelVar L2DelVar L3DelVar L4DelVar L5DelVar L6Output(1,1,"   MOrpiOn-3D   by persa1teas.



----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 14 Avr 2012, 22:46   Citer 

En effet, j'avais essayé les delvar (parce que sourcecoder me l'avait dit), mais la TI me donnait des erreurs "invalide", alors je les ai retirés.

Et puis ça tue la lisibilité.

sinon, faudrait que je teste rand(N, j'ai jamais essayé, ça peut être utile.


pas grave, the K happy.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 15 Avr 2012, 0:15   Citer 

Un DelVar pour les listes L1 à L6 est pour moi une bêtise car cela perturbe le menu stat>edit, et que les listes L1 à L6 sont incontournables.
Je préfère largement écrire " ClrList L1,L2,L3,L4,L5,L6 " plutôt que la série de DelVar.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
tapenad



Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
Posté le : Dim 15 Avr 2012, 0:16   Citer 

la classe le morpion ( ça doit presque pouvoir çe vendre des jeux comme ça godgrace.gif )

----------------------
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.

je suis premier!!!

je m'aime.
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 15:01   Citer 

pas sur, TI essaye bien pour certaines applications pour la TI83+, mais la concurence de la communotée est tout simplement trop forte. Donc de là à vendre un morpion ...
A la limite, il y en a qui vendent des livres et/ou CDs avec des programmes, mais là il y en a des dizzaines, et généralement bien expliqués.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
tapenad



Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
Posté le : Dim 15 Avr 2012, 15:06   Citer 

je pensais plutôt à pigeonner un kikoo de ma classe qui s'ennuie en cours de math

----------------------
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.

je suis premier!!!

je m'aime.
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Dim 15 Avr 2012, 18:24   Citer 

Eh ben tu peux.

Je me suis fait 122,30 euros en 4 ans avec des programmes (et j'ai perdu 44 amis tongue.gif )

80 euros en seconde (principalement avec Herssahe), 12 euros 30 en première avec de divers trucs, et la fin en vendant des programmes a ceux qui flippaient au moment des bacs de physique/maths, ce sont des clients faciles godgrace.gif

(j'espère au moins les avoir aidés ^^ )

Je t'autorise a vendre mon programme a condition que ce soit hors de Rhône-Alpes, et que ce soit de TI à TI, pas en passant par internet, et que tu ne dises pas que c'est toi qui l'a fait, bien sur winkle.gif

 Adresse email Haut de page Bas de page 
 
tapenad



Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
Posté le : Dim 15 Avr 2012, 18:28   Citer 

pourquoi hors Rhone-Alpes!!! j'habite dans cette région! et comment tu vas vérifier si je le fais sur internet ou en disant que c'est moi qui l'a crée! godgrace.gif

----------------------
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.

je suis premier!!!

je m'aime.
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Dim 15 Avr 2012, 21:19   Citer 

Comme si j'allais te dire comment je vais vérifier...

Il suffirait que je te le dise pour que tu trouves le moyen de passer outre mes yeux-de-Sauron.

Eh ben désolé, tu ne les vends pas en Rhone-Alpes, c'est MOI qui assure le commerce de mes programmes dans cette région tongue.gif
Ou sinon, je veux 20% de tes recettes. winkle.gif
A prendre ou à laisser.

(en plus je suis bête tu me l'avais dit par mail ou tu habitais... j'aurais du m'en douter.)

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Dim 15 Avr 2012, 22:12   Citer 

C'est un peu frauduleux vot' truc. Ça se fait pas moi j'dis ... notgood.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 22:50   Citer 

d'un autre coté, vu l'effort pour programmer un tel programme, si quelcun qu'on aime pas trop le veux, ça ne me semble pas forcément si "frauduleux" que ça : c'est un petit service comme les autres non?
Je pense donc que c'est tout aussi "frauduleux" que de faire du baby-siting ou de tendre la pelouse chez un voisin sans le déclarer au fisc.

Après, il y a un autre cas, celui ou on vend des programmes venant du net (et fait par quelcun d'autre). Là je pense que pour les programmes en basic, ce n'est pas vraiment justifié, par contre pour les programmes compillés où le cable est indispensable pour les transferts, on peut se poser la question : n'est-il pas juste de demander une petite contribution au cable qu'on a payé 40€? Au pire, la personne peut l'achetter elle-même, mais ça lui coutera bien plus cher.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
tapenad



Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
Posté le : Dim 15 Avr 2012, 22:57   Citer 

ensuite persie je pense pas que si je le vend tu aurais pu faire des affaires au fin fond de ma Drôme et enfin je pense que je ne vais pas sérieusement les vendre car se serait un peu dégueulasse si je n'ai pas fait le prgm moi-même.

----------------------
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.

je suis premier!!!

je m'aime.
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 16 Avr 2012, 0:07   Citer 

Boh la drôme ça va encore tongue.gif

Tu m'aurais dit l'Ain, je ne dis pas, mais la Drôme... :troll:

 Adresse email Haut de page Bas de page 
 
tapenad



Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
Posté le : Lun 16 Avr 2012, 1:20   Citer 

que veut tu dire par
Citer
mais la Drôme... :troll:

???
il vaut sans doute mieux ne pas chercher à comprendre...


explications persalteasiques qui ne va pas poster pour ça:

le troll, c'était pour l'Ain, pas pour la Drôme tongue.gif
C'est un département que je déteste copieusement angry.gif


le :troll: ça veut dire --->


----------------------
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.

je suis premier!!!

je m'aime.
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Sam 13 Oct 2012, 12:13   Citer 

J'ai codé le morpion mais sa fait err:Dim invalide

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Sam 13 Oct 2012, 14:46   Citer 

Dit nous ou s'arrête le curseur quand tu fais "voir"

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Sam 13 Oct 2012, 16:12   Citer 

C'est la ligne Text(14,4A+B-18,sub(Str1,A,1

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Sam 13 Oct 2012, 18:49   Citer 

vérifie la ligne

Code
:"        M o r p i o n->Str1



----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Pb
Invité
Posté le : Sam 13 Oct 2012, 19:10   Citer 

J'ai vérifier j'ai pas fait de faute

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Sam 13 Oct 2012, 20:30   Citer 

T'as compté le nombre d'espace ?
( 8 espaces avant le M et 1 entre chaque lettre)

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 1:50   Citer 

Oups j avais pas vu mais maintenant sa fait err type donne à la ligne for(D,1,dim(Ans)-3,2

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Dim 14 Oct 2012, 7:46   Citer 

Dans ce cas, il y a probablement une erreur ici (pas dans les chiffres, mais dans les accolades, tu as du en oublier une)


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



Si ce n'est pas ça, dis nous la valeur de C après l'erreur (tape C sur l'écran et fait [entrer], il t'affiche la valeur )

 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 10:26   Citer 

C=23

  Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 11:54   Citer 

J'ai trouver mon erreur mais maintenant sa fait err: Argument
Ligne : ligne(67,Ans(C),Ans(C

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Dim 14 Oct 2012, 15:59   Citer 

c'est pas "ligne(67,Ans(C),Ans(C" mais "ligne(67,Ans(C),91,Ans(C"

err:argument veut dire qu'il te manque une valeur (en l’occurrence 91)

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 16:23   Citer 

Maintenant sa fait err type donnée à la ligne : {3,3->dim(A

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Dim 14 Oct 2012, 18:09   Citer 

c'est pas A mais [A]
[A] est une matrice, elle se trouve dans [matrice]

Bonne chance pour le remplacer par tout beer.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 18:24   Citer 

C'est bon mais maintenant on joue comment

  Haut de page Bas de page 
 
Pb
Invité
Posté le : Dim 14 Oct 2012, 19:12   Citer 

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

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 15 Oct 2012, 13:05   Citer 

Tu as du oublier un ou plusieurs "End" dans le code.

 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Lun 15 Oct 2012, 13:31   Citer 

Oui mais maintenant sa fait err syntaxe à la ligne: Else et au End qui suis

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 15 Oct 2012, 16:10   Citer 

C'est que t'as oublié de mettre un then après le if

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Lun 15 Oct 2012, 16:38   Citer 

Où???

  Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 15 Oct 2012, 21:05   Citer 

Ben au If dont dépendent le "Else" et le "End", je pense (le dernier quoi). happy.gif

 Adresse email Haut de page Bas de page 
 
Pb
Invité
Posté le : Lun 15 Oct 2012, 21:18   Citer 

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

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Pb
Invité
Posté le : Lun 15 Oct 2012, 22:12   Citer 

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.

  Haut de page Bas de page 
 
Mathérible



Autorisation : Membre
Nb de messages : 12
Inscrit le : Mar 20 Nov 2012, 21:24
Posté le : Lun 14 Jan 2013, 12:54   Citer 

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.



 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 17 Jan 2013, 13:24   Citer 

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.)

 Adresse email Haut de page Bas de page 
 
Mathérible



Autorisation : Membre
Nb de messages : 12
Inscrit le : Mar 20 Nov 2012, 21:24
Posté le : Jeu 17 Jan 2013, 17:48   Citer 

De toute façon, j'ai fait un copi-colle de ton prog pour ensuite traduire

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Page générée en 6 requêtes