Posté le 18/11/2016 17:38
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 143 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 18/11/2016 17:39 | #
Malheureusement, non. La seule méthode existante pour faire ça est de coder une boucle qui se met en pause à chaque itération.
// événements de chaque seconde
For 1→N To 1000:Next
WhileEnd
Ajuster la borne supérieure de la boucle For permet de faire varier le délai. Ce n'est pas une solution très satisfaisante mais on ne peut pas vraiment faire mieux !
Xanto Invité
Citer : Posté le 18/11/2016 17:42 | #
Merci bcp je vais tester ça rapidement
Citer : Posté le 18/11/2016 17:43 | #
Pour gérer des timers en plus de ton code principal, tu peux la jouer fine.
Tu as une boucle :
// ton code normal, interaction avec l'utilisateur
WhileEnd
L'idée est d'avoir une variable que tu incrémentes à chaque tour :
While 1
// ...
N+1->N
If N=<une valeur qui te convient>:Then
// évènements de ton timer
0->N
IfEnd
WhileEnd
Ainsi, tous les <valeur> tours de boucles, une action sera exécutée.
Mon blog ⋅ Mes autres projets
Citer : Posté le 18/11/2016 17:45 | #
Je précise qu'une telle boucle (que ce soit pour ma solution ou celle de Cake) doit être ton programme principal... en fait, la technique normale (sur un ordinateur par exemple) est de programmer un timer qui expire au bout du délai voulu en appelant du code spécifié :
... faire des choses
Programmer le timer
// le programme sera interrompu régulièrement par le timer
... continuer
Code de réaction au timer
... effectuer les tâches régulières
// le programme revient automatiquement dans le corps principal
Et donc, le code qui répond au timer est détaché du reste. Ici, ce n'est pas possible. Le code régulier est donc dans la boucle, et tu n'as pas d'autre choix que de mettre à peu près tout le programme dans la boucle.
Citer : Posté le 18/11/2016 19:31 | #
Dans mon ancien projet Starcraft, j'avais créé un sous-programme qui gérait le "temps réel", je l'appelais dans chaque menu. Malgré les nombreuses vérifications faites, le résultat était convaincant :
A titre d'information, le moteur du jeu pour lequel j'en suis trèèèèès fier ne fait que 370 octets
Il gère :
- les ressources
- l'affichage/rafraichissement du minerai, gaz, population et le temps
- les touches (getkey)
- l'activation des évènements et du menu de pause
- et surtout, il simule le temps réel !
Le Getkey est très réactif : vérifié 40 fois par seconde sur la G100+ et 68 fois sur la G85 !
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<