if K+34 => if K=34
pour la position ton effecr n'est pas dans le boucle, donc soit met le, soit après chaque changement, efface le + de la vieille position au préalable
et la le mec il le pécho par le bras et il lui dit '
J'ai trouver le problème! Le code fonctionne parfaitement en réalité, il y avait une erreur domaine parce que je sortait de l'écran, le "+" n'était donc lus dans le domaine définie et engendrait une erreur ^^
:- )
par contre je te conseille de ne pas mettre ta calto en français, le code sera incompatible pour le reste du monde si tu release ton prog
et surtout, les autres prog basic seront incompatible sur ta machine
et la le mec il le pécho par le bras et il lui dit '
ca n'a rien à voir avec les limite de l'affichage de fonction
déjà, fait afficher sur ton écran la position courante du +
ensuite déplace le + et regarde toi même les valeurs à ne pas dépasser
ensuite, dans ton code, au moment de modifier les variables de la position, teste les avec les limites minimale ou maximale
tu devrais faire le output du + après le changement, pas avant, et avant le changement, effacer le + en affichant un espace au même endroit, ca évitera le coûteux clear screen
aussi tu peu mettre en place un système pour mettre a jour l’écran seulement quant c'est nécessaire, du style :
if(une touche bonne enfoncé)
{ 1->mise_a_jour;
modification positions
}
if(mise_a_jour)
{ clrScr;
affiche +
0->mise_a_jour
}
et la le mec il le pécho par le bras et il lui dit '
C'est un peu compliquer je n'ai pas tout suivis ^^', pourrais tu me montrer un exemple du code pour que je comprenne mieux?
en gros qq chose comme ca :
1->X
1->Y
1->maj
0->K
42->maxx
10->maxy
Repeat
getKey()->K
If K=24 and x>0
X-1->X
1->maj
endif
If K=26 and x<maxx
X+1->X
1->maj
endif
If K=25 and y<maxy
Y+1->Y
1->maj
endif
If K+34 and k>0
Y-1->Y
1->maj
endif
if maj=1
clrScr()
Output (Y,X,"+")
trucmachin->textepositioncourante // remplace truc machin par le nécessaire pour convertir en chaîne de char ton X et ton Y, afin de voir leur valeur en "live", ça te permettra de trouver les bonnes valeurs pour maxx et maxy
Output (1,1,textepositioncourante)
0->maj
endif
End
et la le mec il le pécho par le bras et il lui dit '
Je ne suis pas très loin du résultat merci beaucoup en revanche je ne comprends pas a quoi correspond le “maj”
(dsl pour le double post mais je n'arrive pas à éditer =/ )
j'ai compris tout seul que le fameux maj était en faite une simple variable ^^
donc voilà le code que j'ai modifié légèrement :
10->X
5->Y
1->A
94->Xmax
62->Ymax
0->Xmin
0->Ymin
Repeat K=105
GetKey->K
If K=24
X-1->X
1->A
If K=26
X+1->X
1->A
If k=25
Y-1->Y
1->A
If K=34
Y+1->Y
1->A
If A=1
ClrHome
OutPut(Y,X,"+")
End
Des erreur? Quelque chose a améliorer?
en fait,
94->Xmax
62->Ymax
0->Xmin
0->Ymin
n’empêchera en rien ton affichage de sortir de l'écran,
tu doit, avant d’incrémenter ou décrémenter ton x et ton y, t'assurer que celui ci restera dans les limites,
limites qui sont le nombre de colonnes et lignes de textes possible à l'écran (ou pixel, suivant ce que fait la fonction output)
si tu regarde mon code j'ai mis sur tes if une seconde condition qui fait cette vérification, la syntaxe est à adapter au ti basic, mais en gros c'est SI ( telle touche ET pas à la limite )
la syntaxe du 1->A aussi devrais être dans un "vrai" bloc if, donc if ... endif ou assimilé, sinon le if contiendra seulement l'instruction suivante
la ti83 n'autorise pas de nom de variable en dehors de a-z ?
et la le mec il le pécho par le bras et il lui dit '