Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 17 Nov 2011, 19:21
Bonsoir !
je vous présente mon premier programme que je poste sur le site : un morpion ! Je sais, c'est très original, mais il est certifié débuggé, et, dans l'ensemble, plutot rapide, et avec interface graphique !
Il fait entre 1000 et 1100 octets voila
Voila ... si vous avez donc, une question, une remarque, une suggestion ... n'hésitez pas
Voici le programme : KMORPION :
Code
SauveBDG 1
Fonct
AxesOff
FnOff
0üXmin
94üXmax
0üYmin
62üYmax
Lbl M
Menu(" KMORPION ","JOUER !",J,"QUITTER",Q
Lbl J
39üA:23üB:1üC:EffVar KEffVar F:1üG
EffVar [E]
{3,3üdim([E]
EffDessin
Ligne(17,1,17,61
Ligne(37,1,37,61
Ligne(57,1,57,61
Ligne(77,1,77,61
Ligne(17,1,77,1
Ligne(17,21,77,21
Ligne(17,41,77,41
Ligne(17,61,77,61
While G
EffVar D
If C=3:1üC
Texte(28,5,"J",C
Ligne(A,B,A+16,B
Ligne(A,B,A,B+16
Ligne(A,B+16,A+16,B+16
Ligne(A+16,B,A+16,B+16
Repeat K
CodeToucheüK
If K=45:Goto Q
If K=24 ou K=25 ou K=26 ou K=34:Then
Ligne(A,B,A,B+16,0
Ligne(A,B,A+16,B,0
Ligne(A,B+16,A+16,B+16,0
Ligne(A+16,B,A+16,B+16,0
If K=24:Then
A-20üA
If A=ú1:59üA
End
If K=25:Then
B+20üB
If B=63:3üB
End
If K=26:Then
A+20üA
If A=79:19üA
End
If K=34:Then
B-20üB
If B=ú17:43üB
End
End
If K=105:Then
If A=19:1üJ
If A=39:2üJ
If A=59:3üJ
If B=43:1üH
If B=23:2üH
If B=3:3üH
If non([E](H,J
Cü[E](H,J
If C=1:Cercle(A+8,B+8,7
If C=2:Then
Ligne(A+1,B+1,A+15,B+15
Ligne(A+1,B+15,A+15,B+1
End
1üD
End
For(E,1,2
For(J,1,3
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 [E](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
Ombre(0,94
69!:69!
EffDessin
Texte(28,20,"JOUEUR ",C," A GAGNE !
Pause
EffVar G
End
End
End
If D:C+1üC
If D:F+1üF
If F=9 et G:Then
Ombre(0,94
69!:69!
EffDessin
Texte(28,30,"EGALITE ...
Pause
EffVar G
End
End
End
End
Goto M
Lbl Q
EffDessin
Text(28,24,"MADE BY THE K :)
Pause
RappelBDG 1
EffVar BDG1EffVar [E]
EffEcr
Output(1,1,"
Et voila ... bon recopiage à présent
EDIT : plus de routine et un pgrm allégé après le K=105 ^^
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 17 Nov 2011, 22:45
C'est sur que le tien est bien moins compliqué a recopier ... Le mien parait lourd en comparaison
Mais honnêtement je pense qu'il y a moyen de simplifier les 9 boucles qui présentent la routine ! Mais je ne bois pas comment ... Une liste peut être ? Avec une boucle for ?
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 04 Jan 2012, 12:27
Func se traduit par Fonct et se trouve dans le menu mode et dans le catalogue.
Ma signature contient un lien vers un article pour trouver des traductions et des fonctions.
---------------------- 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)
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 04 Jan 2012, 13:44
Woops merci de signaler ça je corrige ^^ et j'en profite pour voir si je n'avais pas laissé autre chose de british ^^
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 34
Inscrit le : Mar 03 Jan 2012, 23:40
Posté le : Mer 04 Jan 2012, 14:46
Je me suis inscris!!
Merci beaucoup je vais commencer à le recopier
Bon boulot en tout cas
---------------------- La programmation aujourd’hui est une course entre les développeurs tâchant de concevoir des programmes de plus en plus nombreux et efficaces, convenant même aux imbéciles, et l’univers essayant de produire des imbéciles de plus en plus nombreux et efficaces.
Jusqu’à présent, c’est l’univers qui gagne.
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Mer 04 Jan 2012, 16:12
Personnellement j'ai fait un morpion en graphique (avec vérification de victoire) de moins de 400 octets donc c'est possible de faire un morpion léger en graphique! Bon il n'est peut être pas super beau mais je l'ai fait en 5-10 min alors...
Petite astuce, pour les tests de cases, j'utilise une matrice et des boucles for( avec les coordonnées. Je le poste si vous voulez même si j'ai pas beaucoup de temps
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 04 Jan 2012, 17:39
J'édite mon morpion et simplifie une grosse partie avec la routine - que je supprime.
Ne t'inquiète pas je me charge de simplifier les conditions de win
Voila c'est un peu mieux non ?
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Mer 04 Jan 2012, 18:50
c'est pas mal du tout je posterai le mien pour que tu compares car la structure n'est pas tout à fait la même sinon ça me paraît bien quoiqu'un peu long pour un morpion
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 34
Inscrit le : Mar 03 Jan 2012, 23:40
Posté le : Mer 04 Jan 2012, 18:53
Bien joué
j'avais copié/collé le code, pour ensuite tout recopier, ça marchait et maintenant que vois-je? Qu'il y a une version améliorée... Ô malheur! Bon je mange et je recopie tout ça
---------------------- La programmation aujourd’hui est une course entre les développeurs tâchant de concevoir des programmes de plus en plus nombreux et efficaces, convenant même aux imbéciles, et l’univers essayant de produire des imbéciles de plus en plus nombreux et efficaces.
Jusqu’à présent, c’est l’univers qui gagne.
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 04 Jan 2012, 19:47
Il n'y a que deux passages modifiés Après le "If K=105" et "For(E,1,2" ne recommence pas tout
Citer
sinon ça me paraît bien quoiqu'un peu long pour un morpion
T'as pas vu le vieux morpion de Sango toi xD
Citer
Tu pourrais m'expliquer s'il te plait à quoi sert la ligne {1,1 -> dim([E] presque tout à la fin?
A susciter des commentaires *sifflote* (bon ok j'édite xD)
Na en réalité j'ai rajouté le EffVar [E] après et j'ai du oublier d'effacer la ligne ... enfin un truc du genre merci de me le signaler ^^
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 04 Jan 2012, 21:12
De rien,
d'ailleurs, ne pourrait-on pas remplacer
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
Par
Code
If [E](J,1)[E](J,2)[E](J,3)=E [^3] ou [E](1,J[E](2,J)[3,J]=E [^3] ou [E](1,1)[E](2,2)[E](3,3)=E [^3] ou [E](1,3)[E](2,2)[E](3,1)=E [^3]
avec [^3] étant le symbôle cube.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 05 Jan 2012, 22:29
Les booléens n'ont jamais été ma spécialité ... Vu comme je le comprend la il n'y aurait même pas besoin du cube ... (si les trois conditions sont vraies alors 1*1*1=1)
Peux-tu m'expliquer comment ce petit bout de code marcherait-il ? Micii
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 06 Jan 2012, 1:06
E représente le joueur par 1 ou 2. [E] contient des triplets de 0,1 ou 2.
Quand trois variables vallent E alors le produit de ces variable vaut E^3.
De plus :
0*x*x=0
1*1*1=1=1^3
1*1*2=2
1*2*2=4
2*2*2=8=2^3
Donc réciproquement le produit de ces variables vaut E^3 si chacune vaut E, ce qui est recherché.
==
Ce programme est joli pour un poids raisonnable. C'est sympa.
==
HS:
Mon morpion ne possède aucun graphisme mais est probablement le plus léger de tous les morpions avec tests. Téléchargez le via ma signature s'il vous intéresse. (pour ne pas trop encombrer ici)
Je l'ai écrit pour un concours d'optimisation dans lequel je me suis surpassé.
EDIT : 445 octets
---------------------- 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)
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 06 Jan 2012, 6:41
Combien d'octets ton morpion le plus optimisé?
J'arrive à 450 pour mon plus optimisé avec pour seul inconvénient de pouvoir remplacer une croix par un rond.
Et mon premier morpion ... no comment, on a tous fait des premiers programmes hyper lourds.
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 06 Jan 2012, 9:02
Il occupe 445 octets avec des tests mais aucun graphisme digne de ce nom. (sans blague, on a pratiquement le même poids )
Citer : Sangohan38
Et mon premier morpion ... no comment, on a tous fait des premiers programmes hyper lourds.
Je confirme !!! plusieurs milliers pour mon premier.
---------------------- 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)