Poster un nouveau sujet Poster une réponse
Programme : Morpion
Auteur Message
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Lun 10 Déc 2012, 19:25   Citer 

J'ai allégé ce programme en perm.Il est (toujours) pas graphique et il devine (toujours) pas quand on a gagné. Le programme fait 400 octet, mais il doit pouvoir être (encore) optimisé.

Notons le léger bug qui fait que lorsque Y est plus petit que 2, c'est "Err:Domain". J'y travaille !

Code
: Lbl A
: ClrHome
: Disp "+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+"
: Output (1,11,"MORPIO
: Output (3,14, "J-X
: Output (5,14, "J-O
: Output (3,13, ">
: 1->J
: Lbl P
: 2->X : 2->Y
: 2->A : 2->B
: Repeat K=105
: Output (A, B, " 
: Output (Y, X, "+
: Y->A : X->B
: getKey->K
: X-3(K=24)+3(K=26->X
: Y-2(K=25)+2(K=34->Y
: If X=11 : 2->X
: If X<2 : 8->X
: If Y=8 : 2->Y
: If Y=1 : 6->Y
: End
: If K=45
: Then
: Goto A
: End
: 3-J->J
: If J=2
: Then
: Output (3,13,"
: Output (5,13,">
: Output (A,B," 
: Output (A,B+1,"X
: Goto P
: End
: If J=1
: Then
: Output (3,13,">
: Output (5,13,"
: Output (A,B," 
: Output (A,B+1,"O
: Goto P
: End



-> flèche sto
> plus grand que
< plus petit que
Clear = recommencer la partie

Bonne chance !

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 661
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 10 Déc 2012, 19:31   Citer 

Pour ces corrections, tu peux éditer ton message précédent (le bouton est en haut à gauche de ton post). winkle.gif

 Adresse email Haut de page Bas de page 
 
geeky-TI
Invité
Posté le : Mer 12 Déc 2012, 17:29   Citer 

bien, c'est fonctionnel, mais comment on fait pour mettre des O?

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 12 Déc 2012, 19:17   Citer 

La structure de If/Then/End est fausse.
Tu as mis un Then là où il n'en faut pas et tu as laissé deux vides là où il en faut.

Tu peux remplacer l'incrément de J et sa remise à 1 par "3-J->J".

Tu peux remplacer les lignes du type
: If X=7 and K=24 : 5->X
Par des incréments de X ou Y et des tests de la zone de déplacement en plus des tests de K.

Tu peux aussi associer une touche à chaque case, le pavé numérique par exemple.
(à la place du curseur)

----------------------
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 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Jeu 13 Déc 2012, 20:50   Citer 

@geeky-TI
Comme je l'ai dit, ce programe ne vérifie pas la victoire. Donc il faut s'attendre à des bugs du genre remplacement des cases, etc... Toujours est il, si j'ai bien compris ta question : placer c'est ENTER. Bonne chance.

@linkakro
Comme tu peux le remarquer en lisant le code, je ne suis pas un bon programmateur, donc j'ai "bricolé". Merci de tes conseils ! happy.gif J'espère les avoir bien interprétés. Pour le pavé numérique, j'ai un autre morpion en utilisant un, mais c'est plus esthétique avec un curseur (ou pas ?).

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Sam 15 Déc 2012, 19:30   Citer 

Mon programme morpion utilisant le pavé numérique, et optimisable sans aucun doute. Il fait environ 400 octets. Bonne chance !

Code
: Lbl A
: ClrHome
: Disp "+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+"
: Output (1,11,"MORPIO
: Output (3,14, "J-O
: Output (5,14, "J-X
: Output (3,13, ">
: 1->J
: Lbl P
: Repeat K>71 and K<95
: getKey->K
: If K=72 : Output(2,2,Str1
: If K=73 : Output(2,5,Str1
: If K=74 : Output(2,8,Str1
: If K=82 : Output(4,2,Str1
: If K=83 : Output(4,5,Str1
: If K=84 : Output(4,8,Str1
: If K=92 : Output(6,2,Str1
: If K=93 : Output(6,5,Str1
: If K=94 : Output(6,8,Str1
: End
: If K=45
: Goto A
: End
: 3-J->J
: If J=2
: Then
: "XX"->Str1
: Output (3,13,"
: Output (5,13,">
: Goto P
: End
: If J=1
: Then
: "OO"->Str1
: Output (3,13,">
: Output (5,13,"
: Goto P
: End



Notes : -> flèche sto
< plus petit que
> plus grand que

Bonne chance !

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 15 Déc 2012, 23:56   Citer 

C'est probablement dû aux goto à l'intérieur des If/then/end
http://tout82.free.fr/forum/sujet.php?sujet=2757
D'ailleurs le second End ne correspond à rien.

Voici qui devrait régler le problème.
Code
: Lbl A
: ClrHome
: Disp "+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+","!  !  !  !","+--+--+--+"
: Output (1,11,"MORPIO
: Output (3,14, "J-O
: Output (5,14, "J-X
: Output (3,13, ">
: 1->J
: Lbl P
: Repeat K
: getKey->K
: End
: If K=72 : Output(2,2,Str1
: If K=73 : Output(2,5,Str1
: If K=74 : Output(2,8,Str1
: If K=82 : Output(4,2,Str1
: If K=83 : Output(4,5,Str1
: If K=84 : Output(4,8,Str1
: If K=92 : Output(6,2,Str1
: If K=93 : Output(6,5,Str1
: If K=94 : Output(6,8,Str1
: If K=45
: Goto A
: 3-J->J
: If J=2
: Then
: "XX"->Str1
: Output(3,13,"
: Output(5,13,">
: Else
: "OO"->Str1
: Output(3,13,">
: Output(5,13,"
: End
: Goto P



----------------------
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 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 16 Déc 2012, 9:05   Citer 

En effet le problème se situait ici. Merci beaucoup !

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink