Poster un nouveau sujet Poster une réponse
Comment ralentir un programme?
Auteur Message
maxlamenace
Invité
Posté le : Ven 17 Déc 2010, 14:09   Citer 

Salut tout le monde, j'ai créer un jeu de tir dans l'espace pour voir et il marche très bien. Mais voila, mon seul problème est que le programme va trop vite et les vaisseau sur lesquels je doit tirer bouge super vite ce qui rend le programme nul.

Merci d'avance. godgrace.gif

  Haut de page Bas de page 
 
metallica



Autorisation : Membre
Nb de messages : 108
Inscrit le : Lun 28 Jui 2010, 11:14
Posté le : Ven 17 Déc 2010, 14:25   Citer 

Ecrit:

Code
:69!


Autant de fois que tu veux. Plus il y en a plus ça ralentit.
Le "!" se trouve en faisant {math}+{gauche}+{4}

----------------------

Tutoriel sur l'Axe Parser !
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Ven 17 Déc 2010, 14:50   Citer 

si tu veux un temps variable (plus ou moins long selon le niveau de jeu), tu utilise un For(


L est la variable de niveau.

écris:

Code

:For(X,0,100L):End



ainsi, si tu est au niveau 1, le programme fait 100 tours de boucle inutiles (ce qui le ralentit), si tu es au niveau 2, il en fait 200...
etc.

mais là, ça te fait un vaisseau qui va de moins en moins vite au fur et à mesure des niveaux.
j'imagine que c'est mieux l'inverse:

dans ce cas:

Code

:For(X,1,100(11-L)):End



ainsi, au niveau 1, il fait 1000 tours inutiles, au niveau 2 il en fait 900, au niveau 3, 800...

enfin voilà.

 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 : Ven 17 Déc 2010, 22:47   Citer 

Et on peut metre des 69! dans la boucle godgrace.gif

Je pense à cette autre façon pour la même chose.
Code
For(X,1100,100L,-1):End



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



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 18 Déc 2010, 14:50   Citer 

on peut aussi mettre plusieurs boucles les unes dans les autres.

j'ai aussi vu des programmes, ou, selon le niveau, la vitesse n'est pas la même, mais ou on ne peut pas dépasser le niveau 6:

tout simplement comme ça:

L est la variable de niveau:

(69-(10L+L))!
(69-(10L+L))!
(69-(10L+L))!


mais alors, ça pèse lourd....

 Adresse email Haut de page Bas de page 
 
patate007



Autorisation : Membre
Nb de messages : 117
Inscrit le : Mar 09 Fév 2010, 8:49
Posté le : Sam 18 Déc 2010, 18:49   Citer 

Personellement, j'aime bien faire ça :

Code
:0->[théta]             //Au début de ton code.
 //Dans ta boucle :
:[théta]+1->[téta]
:if [théta]=3:Then
 //Tes instructions à ralentir comme l'incrémentation de tes variables de déplacement.
:0->[théta]
:end


Comme ça je peus choisir ce que je ralentit et ce que je ne ralentit pas winkle.gif Tu peus remplacer le 3 par le chiffre que tu veus (plus c'est grand, plus c'est ralentit) et aussi par une variable pour faire un système de niveaux winkle.gif
J'espère que le code est clair, sinon je peus donner un exemple.

----------------------
Joyeuse Pâques winkle.gif
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 20 Déc 2010, 11:05   Citer 

moi je veux bien l'exemple stp parce que je vois pas comment tu l'applique à un prog.

 Adresse email Haut de page Bas de page 
 
lover-lol



Autorisation : Membre
Nb de messages : 74
Inscrit le : Ven 03 Déc 2010, 3:42
Posté le : Lun 20 Déc 2010, 12:00   Citer 

Ben voilà :
@=THETA

Code
0->@
While A=!=152
Input "",A
If A>100:Then
Lbl Z
If @ =!= 3:Then
For (X,0,100
@+1->@
Goto Z
If @=3:Then
Ton code



Voilà, moi c'est ce que j'utilise, après je ne sais pas si tu fais pareil godgrace.gif

----------------------
Derien winkle.gif
 Adresse email Haut de page Bas de page 
 
patate007



Autorisation : Membre
Nb de messages : 117
Inscrit le : Mar 09 Fév 2010, 8:49
Posté le : Lun 20 Déc 2010, 17:42   Citer 

Mmmh... Non, pas vraiment.
Je prend l'exemple avec un petit programme qui fait avancer un rond de gauche à droite avec une certaine vitesse...

Code
:EffEcr
:1->A
:0->[théta]
:15->X
:Lbl A
:Output(4,A,"O
:[théta]+1->[théta]
:If [théta]=X:Then
:EffEcr               //L'effacement de l'écran sera ralentit...
:A+1->A               //...ainsi que l'incrémentation ma variable A
:0->[théta]           //Je remet le théta à 0 pour le prochain déplacement
:end
:If A=16:Goto 1
:Goto A
:Lbl 1
:1->A
:X-1->X
:Goto A


Si je met EffEcr après Lbl A, mon rond clignotera. Bon... ce n'est pas très utile mais je suis sûr que tu trouveras une bonne utilité winkle.gif

----------------------
Joyeuse Pâques winkle.gif
 Adresse email Haut de page Bas de page 
 
homer__simpsons
Invité
Posté le : Mer 22 Déc 2010, 10:22   Citer 

ou sinon si tu ne veux pas sacrifier de variable tu fait:


Code
:BinAléat(x,0                          //plus X est grand plus l'attente
                         sera longue ((invonvenient: block le clavier))


En anglais BinAléat==randBin

[Math]>[<]>[7]

  Haut de page Bas de page 
 
linkakro



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

Et si le X est trop grand, c'est comme si tu avais mis un virus. Tu devras enlever les piles pour l'arêter.

----------------------
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 
 
lover-lol



Autorisation : Membre
Nb de messages : 74
Inscrit le : Ven 03 Déc 2010, 3:42
Posté le : Mer 22 Déc 2010, 17:12   Citer 

Oui et quand tu enlèveras les piles, Mem Cleared !

----------------------
Derien winkle.gif
 Adresse email Haut de page Bas de page 
 
patate007



Autorisation : Membre
Nb de messages : 117
Inscrit le : Mar 09 Fév 2010, 8:49
Posté le : Mer 22 Déc 2010, 17:16   Citer 

Et ça marche pas si on appuit sur ON ? J'ai pas vraiment envis de tester =°

----------------------
Joyeuse Pâques winkle.gif
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 22 Déc 2010, 17:55   Citer 

ça ne marche pas si tu appuies sur On.

c'est un bon virus, Binaléat.

 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 : Mer 22 Déc 2010, 18:12   Citer 

Cela ne devient un virus que vers 1000 ou plus.

----------------------
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 
 
Poster un nouveau sujet Poster une réponse





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