[ASTUCE] codetouche(getkey) |
Auteur |
Message |
Mégaforce22
Autorisation : Membre
Nb de messages : 11
Inscrit le : Mer 09 Nov 2011, 18:49
|
Posté le : Mar 22 Nov 2011, 23:08
|
|
|
J'écris ici car je n'ai pas vu d'articles semblables.
Comme l'indique le titre, j'ai un moyen de raccourcir(légèrement) les progs avec des codetouche(ou getkey).
Code | codetouche ->K
If K=24 |
devient
Cela libère une variable et accélère légèrement le prog
ATTENTION à ne pas utiliser pour des valeurs continues : si aucune touche n'est pressée, codetouche=0. Si vous voulez que la valeur reste (et que le déplacement continue, comme pour un snake par exemple), il est préférable d'utiliser les variable.
Je me sers aussi de cette technique pour les nombreuses animations et autres fonds d'écrans bouffeurs de batteries:
Code | While non(codetouche
...
End |
le prog se termine dès que l'on appuie sur une touche (sauf On, qui fait autre chose)
J'espère en aider quelques-uns. Toute ressemblance avec un article précédemment publié est fortuite et non désirée.
---------------------- "Alors Dieu voulut créer l'homme parfait. Puis il se rappela qu'il m'avait déjà créé." L'Évangile selon Saint-Moi,1,1. |
|
|
|
tilo1996
Autorisation : Membre
Nb de messages : 129
Inscrit le : Sam 23 Avr 2011, 10:47
|
Posté le : Mer 23 Nov 2011, 7:24
|
|
|
Ah, oui, je suis d'accord mais pas pour le dernier. Au lieu d'ecrire
Ecrit
---------------------- http://tchat-tout82.webuda.com/ |
|
|
|
Persalteas
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Mer 23 Nov 2011, 8:33
|
|
|
exact.
|
|
|
|
Mégaforce22
Autorisation : Membre
Nb de messages : 11
Inscrit le : Mer 09 Nov 2011, 18:49
|
Posté le : Mer 23 Nov 2011, 18:29
|
|
|
J'ai jamais réussi à me servir de Repeat (je crois que c'est pareil que while sauf pour tester la condition) et je vois pas l'interêt de mettre Repeat
---------------------- "Alors Dieu voulut créer l'homme parfait. Puis il se rappela qu'il m'avait déjà créé." L'Évangile selon Saint-Moi,1,1. |
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mer 23 Nov 2011, 19:05
|
|
|
la différence est que Réapeat est toujours exécuté une ois, puis reexecuté tant que la condition est fausse.
Tu as donc:
Code | Repeat Condition1
Instruction1
End |
est équivalent à
Code | Instruction1
While non(Condition1)
Instruction1
End |
Dans certains cas, ça permet donc de gagner pas mal de place en mémoire.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|
Persalteas
Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Mer 23 Nov 2011, 20:55
|
|
|
Moi j'utilise toujours Repeat et jamais While...
ça change pas grand chose, sauf dans le cas particulier donné par Sandro: si tu as besoin que l'instruction soit exécutée au moins une fois.
Dans un jeu, tu t'en fiches si le prog fait un tour de boucle de plus ou de moins si tu appuies sur "quitter". A la vitesse ou ça va, on le sent pas.
Et la condition est rarement vérifiée du premier coup dans les jeux, donc
Repeat getkey=45
va aussi bien que
While getkey=/=45
|
|
|
|
Mégaforce22
Invité
|
Posté le : Mer 23 Nov 2011, 23:53
|
|
|
mouais...c'est pas bête et ça explique pourquoi j'arrivais pas à m'en servir.Soit.Mais je vois toujours pas le gros interêt(par rapport au codetouche).
|
|
|
|
sandro
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Jeu 24 Nov 2011, 20:44
|
|
|
De gagner 1 octé et une pointe de vitesse (le non( prend, comme toute fonction, une certaine durée pour êre executée).
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
|
|
|