Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Morpion, by The K ! - Page 2 / 4
The K le 06/01/2012 à 16:19
Vous voulez dire un programme dans l'écran graphique ou pas ?

linkakro le 06/01/2012 à 20:08
Sango : Je préfère poster mon morpion dans un autre sujet, tu y posteras aussi le tiens, cela limitera notre HS.
K : non, mon morpion optimisé n'est pas dans le graphique.

The K le 18/06/2012 à 15:03
Up : et depuis tout ce temps j'avais oublié de mettre les liens
C'est désormais réparé ^^
F-BVXT le 21/06/2012 à 10:57
Un peu lent mais super ton morpion !
Sinon, je crois que tu as fait une petite erreur dans ton code :
Code
If [E](J,1)=E et [E](J,2)=E et [E](J,3)=E ou [E](1,J)=E et [E](2,J)=E et [3,J]=E ou [E](1,1)=E et [E](2,2)=E et [E](3,3)=E ou [E](1,3)=E et [E](2,2)=E et [E](3,1)=E:Then
Ce n'est pas [3,J]=E mais [E](3,J)=E. Ou alors je n'ai rien compris

The K le 21/06/2012 à 11:21
Euuuuh oui faute de frappe désolé ! Merci de l'avoir remarqué ^^
(ps : c'est juste les cercles qui sont lents ... mais ça j'y peux rien !)
En tous cas mici de le regarder ^^The K le 21/06/2012 à 11:29
Oulala mais je viens de m'apercevoir qu'en effet il est beaucoup plus lent que sur ma calculatrice (testé sous emu) et truffé de qqes bugs. Je corrige ça.
Edit : je ferai ça cet apremF-BVXT le 21/06/2012 à 11:43
Oui, les cercles c'est vraiment long à tracer... Je sais pas s'il n'y aurai pas une astuce pour les tracer plus vite parce que dans mon morpion c'est aussi long.blg_flg le 21/06/2012 à 12:03
A part l'ASM, je crois qu'il n'y a pas, malheureusement, de solution pour tracer plus vite les cercles.F-BVXT le 21/06/2012 à 12:08
Je viens de découvrir quelque chose de surprenant.
Si tu trace un cercle avec la fonction Cercle(, tu vois tous le tracé du cercle, alors que quand tu trace une ligne c'est quasi instantané.
J'ai donc essayé de découper un cercle en plusieurs ligne et devinez quoi, bien que beaucoup plus long, ça trace nettement plus rapidement qu'avec la fonction Cercle(.
Par exemple, pour un Cercle(50,30,6, il faut faire ça :
Code
Ligne(52,36,48,36
Ligne(52,24,48,24
Ligne(52,25,54,25
Ligne(46,25,48,25
Ligne(54,26,55,26
Ligne(45,26,46,26
Ligne(45,27,45,28
Ligne(55,27,55,28
Ligne(56,28,56,32
Ligne(44,28,44,32
Ligne(45,32,45,34
Ligne(55,32,55,34
Ligne(54,34,54,35
Ligne(46,34,46,35
Ligne(47,35,48,35
Ligne(52,35,53,35
blg_flg le 21/06/2012 à 12:10
C'est surtout bcp plus lourd et long à écrire, pour un résultat moins précis!F-BVXT le 21/06/2012 à 12:16
C'est effectivement beaucoup plus lourd. Pour ce qui est de la précision, je ne vois pas de différence à l'oeil nu mais il faut se casser la tête avec des calculs...
La question c'est est-ce que dans un morpion où il y a 9 possibilités de positionnement de cercle, le poids ralentirait plus le programme que cette "astuce" ne l’accélérerait ?blg_flg le 21/06/2012 à 12:20
Il faudrait tester, mais le nombre d'octets économisés avec la fonction Cerle( est considérable par rapport à tes lignes.F-BVXT le 21/06/2012 à 12:24
Oui mais il doit y avoir un moyen de réduire tout ça avec un "For(" je pense.

blg_flg le 21/06/2012 à 12:31
J'ai testé et les lignes se dessinent les unes après les autres, certes plus vite qu'avec un cercle, mais ce n'est pas exceptionnel non plus.

F-BVXT le 21/06/2012 à 12:45
Ah bon, parce que moi c'est plus rapide de 2 secondes sur ma calculette (82 stats.fr) : 2s78 pour un cercle normal contre 0s76 avec les lignes.blg_flg le 21/06/2012 à 13:11
Je voulais dire que le rapport rapidité/mémoire doit être plus intéressant avec Cercle( dans de nombreuses configurations. Même avec un For( , on utilise bcp d'octets. Après tout dépend de sa priorité: mémoire ou rapidité.
Et je pense que la différence de rapidité entre les deux dépend aussi de la RAM.F-BVXT le 21/06/2012 à 13:17
Dans l'état actuel, c'est vrai que +1800 octets dans un programme pour des cercles c'est trop. Mais en simplifiant, ça pourrait devenir tolérable, à voir...The K le 21/06/2012 à 16:10
C'est vrai que c'est plus rapide avec des lignes mais tu t'en fiches 2,76 secondes c'est le temps que tu mets pour passer ta calculatrice à l’adversaire
D'ailleurs mon programme ne fait qu'à peine plus de 1000 octets

(1001 sur ma calto)
blg_flg le 22/06/2012 à 15:00
Sur la Ti 83+ (je ne sais pas si ça marche sur les autres modèles, vu que j'ai testé sur wabbitemu) écrire Cercle(20,30,10,{i} au lieu de Cercle(20,30,10 permet de tracer le cercle à partir de 4pts au lieu d'un.

Cela divise donc le temps par 4!
The K le 22/06/2012 à 21:05
Intéressant ... Bah dans l'immédiat désolé j'ai pas encore corrige mon post en fait je fais ça quand je peux mais la je révise (oral de français) donc voilà ! Mais merci

Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.