30

Ah oui, mais là, tu rends certaines touches plus réactives que d'autres...

31

La différence de temps d'exécution est vraiment minime et quasi imperceptible. De plus, je pense qu'il vaut mieux une différence de temps d'exécution mais une moyenne de temps plus petite, plutôt qu'un temps d'exécution identique mais plus long.

32

Vengeance ! Tiens voici un prog assez sympa où les touches sont toutes aussi réactives.

:{1,1->L1
:ClrHome
:While 1
:{randInt(1,8),randInt(1,16->L2
:Output(L2(1),L2(2),"*
:Repeat min(L1=L2
:Output(L1(1),L1(2),0
:Repeat Ans
:getKey
:End
:Output(L1(1),L1(2)," "
:L1-(Ans={25,24})+(Ans={34,26
:Ans+not(Ans)-(Ans={9,17->L1
:End
:End

33

Baruch (./29) :
J'ai créé un programme meilleur que celui au-dessus (enfin, à vous de juger)

Ouais enfin j'ai pas dit que c'était pas optimisable, bien au contraire cheeky (Sinon dans un autre sujet j'en ai poster un autre simple à comprendre et qui fonctionne bien).

34

Ouaip, Deeph a raison.
Ca ressemble plus trop à un truc compréhensible pour un débutant...

Pour en revenir à la réactivité des touches, là c'est pas dérangeant, mais si tu dois faire un curseur, faut pas qu'il mette 1 secondes à balayer l'écran vers la droite, et 3 vers la gauche...

35

T'inquiètes pas deeph, je sais que tu sais programmer ^^.
Ok, ok c'est pas trop compréhensible, mais je profite du sujet car ce type de programme est je pense assez utilisé.

36

(Nan mais je disais juste que c'est mieux d'avoir un code compréhensible par des débutants ici smile)

37

merci en tout cas pour votre aide (le programme a priori marche)

38

( j'adore le ./32 grin )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

39

Merci, merci. ^^

40

Yo, je vien de comprendre comment faire un programme, et je voudrait juste en faire un pour afficher une image puis un texte.

Donc je voudrait:
Image: RecallPic 0
Attendre qu'on appuis sur entrée: ca je ne sai po (pe etre Pause ¨RecallPic¨mais ca ecrit RecallPic...)
Afficher le texte: Disp ¨...¨
Aidez moi svp vu que ca doit etre bidon pour vous^^

41

C'est assez simple quand on connait les fonctions (tu devrais lire quelques tuto à ce sujet) :

ClrDraw
RecallPic 0
Repeat K=105
getKey→K
End
Text(1,1,"TEST


Voilà, en premier ça efface l'écran, en seconde ça affiche l'image, ensuite c'est une boucle : 'Repeat K=105' signifie ici "jusqu'à ce que la variable K=105", et ensuite on test le clavier voir si une touche est pressée (avec getKey), on stocke la valeur de la touche dans K et la boucle compare avec 105, la valeur de la touche 'ENTER'. Puis ensuite ton texte est affiché au coordonnées 1;1.

42

Slt !

Si tu veux afficher le texte sur l'écran graphique (et donc écrire sur l'image), le programme de deeph marche.

Par contre, pourquoi utiliser une boucle ? On peut juste faire Pause non ? On aurait alors :

:ClrDraw
:RecallPic 0
:Pause
:Text (1,1,"TEST

Ah j'en profite, quelqu'un peut me rappeler les 2 types de coordonnées (logiques et ... ), avec leur différence ?

43

ok, donc pour dire appuyer sur entrer pour passer c'est pause alors? (en simple car avec la boucle ca parait compliqué) ;=

De plus si on met Text(10,20¨..¨
le 10 c'est les y vers le bas et le 20 les x vers la droite?
C'est quoi la valeur max de chacun, car je voudrait faire un tableau de valeur?

44

Ouais tu peux faire avec 'Pause ' mais je sais plus trop si ça reviens sur l'écran principal ou si ça reste sur le graphique.

45

Je sais pas exactement pour les valeurs max (ça dépend du texte que tu rentres), mais ton écran fait à peu près 95x63 pixels.
Donc pour le texte, ça doit être un truc genre Xx56, ou X dépend de la taille du texte.

46

Si tu pars de 0 ça te donne du 94x62 px. Pour le régler :

0→Xmin
0→Ymin
94→Xmax
62→Ymax

47

94x64 nan ?
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

48

Nan il y a des lignes de pixels inutilisable en bas et à droite de l'écran : ça donne du 94x62 normalement.

49

ok, c'est ou les commande →Xmin
→Ymin
→Xmax
→Ymax

???

50

"→" est enfaite le résultat de la touche "STO>" (au dessus de "ON"), ça sert à stocker des informations dans des variables (ici {X|Y}{min|max}, qui sont accessibles en appuyant sur "VARS" puis sur "1" (le menu "Window...")).

51

Ok, et comment faire pour dire au programme de se fermer, car je met ClrDraw mais ensuite fo faire quitte.

52

Il se ferme tout seul quand il n'y a plus rien, là ça te laisse juste sur l'écran graphique, mais si tu veux revenir sur le principal faut juste faire :

Disp

(Quoi qu'en réalité si on veut bien arrêter un programme il faut utiliser la fonction 'Stop')

53

( enfin Stop ça sert surtout pour arrêter dans une branche du programme ou y'a autre chose derrière (genre un autre label ), mais bon moi je l'utilisais même tout à la fin cheeky )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

54

Oula je suis en retard, je confirme, Pause ne quitte pas l'écran graphique.

Bon allez je résume ce qu'on a dit :

0->Xmin
94->Xmax
0->Ymin
62->Ymax
ClrDraw
RecallPic 0 
Pause 
Text (Y,X,"TEST
Pause // Si tu le mets pas, l'écran graphique sera quitté juste après que le texte soit affiché (donc très rapidement...)
Disp


Bon, pour les coordonnées du texte, Y est l'ordonnée, X l'abscisse. Mais attention, l'axe des Y est de haut en bas, et l'axe des X est de gauche à droite (normal).
Pour la commande Text, l'axe des Y est inversé, donc pour afficher un texte en coordonnées normales (y,x), il faut utiliser les coordonnées (Y=62-y , X=x).

A oui, n'oublie pas d'enlever les axes et la grille (grid), menu "FORMAT".

Et donc j'en reviens à la question que j'ai posée plus haut, il y a 2 types de coordonnées :
- Axe des Y normal (bas -> haut) : Line, Horizontal, Pt
- Axe des Y inversé (haut -> bas) : Text, Pxl

55

Re ca fait un baille, je voudrait savoir ou se trouve la commande pour enlever les axes? (axe off je croi)

Et aussi qq'un pourrai m'expliquer comment faire un menu avec des sous menu et tt? Je sais que c'est long mais je vous remercie de me repondre.

56

Slt !

Pour enlever les axes (même lors de l'édition d'un programme), c'est FORMAT (2nd \ ZOOM) \ AxesOff. De toute façon, toutes les commandes se trouvent dans CATALOG.

Pour faire un menu lors de l'édition d'un programme :

PRGM \ (CTL) \ C:Menu(

Avec la syntaxe : Menu("Titre", "Choix 1", Lbl, "Choix 2", Lbl, ...

A la place de Lbl, il faut mettre l'adresse du label où le programme continuera après sélection d'un choix.
La fonction est limitée à 7 choix possibles, 16 caractères pour le titre et 14 pour les choix.

Exemple :

:Lbl 7
:Menu("TEST","REFAIRE",7,"CONTINUER",D) // Ne pas oublier les guillemets !
:Lbl D

Le choix REFAIRE fera continuer le programme à partir du label 7 (et donc relancera le menu), et CONTINUER ira au label D (donc fin du programme).

Enfin pour les sous menus, il suffit que le choix d'un menu 1 mène à un label qui précède la fonction du menu 2. Dans notre exemple, on peut rajouter un deuxième menu juste après le Lbl D.

Voilà !

57

ok merci wink

Et pour retourner sur le menu "TEST" a la fin de "Choix 4", c'est quoi la commande?

Lbl 4
...
...
...
...
retourne menu?

58

Dsl je comprends pas, teste d'abord sur ta TI et donne le code.

59

'GOTO 7', non ? Ça te renvoi au label 7, donc à ton menu.

60

Ouaip, je pense aussi...