Poster un nouveau sujet Poster une réponse
aide pour mario
Auteur Message
come1995



Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Jeu 16 Fév 2012, 22:00   Citer 

j'ai cree un mario mais le programme ralenti au fur et a meusure du temps. comment faire ppour avoir toujours la meme vitesse de jou ou pour qu'elle accelaire. je suis sur ti 82 stat. merci d'avance

 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 : Jeu 16 Fév 2012, 22:29   Citer 

Nous ne pouvons pas t'aider avec aussi peu d'informations.
C'eût-été pratique de poster ton programme pour qu'on cherche ce qui ne va pas.

L'usage des mails est loin d'être automatique quand on poste sur un forum.

Consulte mon article goto+ralentissement. Il donne quelques bases pour comprendre la cause la plus commune de ralentissement.

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



Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Ven 17 Fév 2012, 17:05   Citer 

desoer je peut pas le tapper je part ce soir mais en generale comment on
fait pour accelerer un programme au cours du temps??

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Ven 17 Fév 2012, 19:55   Citer 

Optimiser le code (le rendre plus rapide) puis rajouter un ralentisseur dont la durée est décroissante (par example :
Code
For(A,1,B/100):End

avec B initialisé à une valeur donnée et décrémenté (-1) à chaque execution de la boucle principale (ou d'autre chose si tu préfère)

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 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 Fév 2012, 22:04   Citer 

Pour commencer cherche ce qui le fait ralentir.
(Mon article indique une des causes possibles de ralentissements intempestifs.)
Quand sa vitesse sera constante, on pourra chercher utilement des moyens de l'amméliorer en vitesse.

De plus, comme l'a dit sandro, on peut brider le programme lors des premières boucles puis le débrider progressivement.
Code
While...  // Boucle principale
...
For(A,1,B):End // temporisation
...
B-1->B
...
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 
 
come1995



Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Mer 07 Mar 2012, 13:59   Citer 

voila mon mario desole de pas l'avoir poster plus tôt je pouvai tpas je n'ai pas pu non plus regler le probleme de la vitesse qui diminue. vous allez voir c'est le bordelle!!!




Code
:EffEcr
:0-> thetha
:1->A
:7->Y
:14->X
:Lbl 2
:Output(4,6,"PAUSE
:Pause
:Lbl 1
:A+1->A
:If A=17
:1->A
:If X=2
:3->X
:EffEcr
:codeTouche->K
:If (K=25 et Y=7)
:Y-3->Y
:if Y<7
:Y+1->Y
:X+(K=26)-(K=24)->x
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"H
:Output(8,1,"----------------
:If A=16
:entAleat(2,3->E
:theta+1->theta
:If E=2
:Output(8,A," "
:If E=3
:Outuput(7,A,"=
:If(E=2 et Y=7 et(A=X ou A=X-1))
:Then
:EffEcre
:Output(4,5,"PERDU
:Output(5,4,"SCORE
:Output(5,10,theta
:Output(Y,X,"0
:Output(8,1,"----------------
:Output(8,A," "
:Output(Y+1,X-1,"-I-
:Stop
:if(E=3 et Y=7 et A=X)
:Then
:EffEcr
:Output(4,5,"PERDU
:Output(5,7,theta
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"=
:Output(8,1,"----------------
:Stop
:Else
:If K=105
:Goto 2
:Goto 1



 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Mer 07 Mar 2012, 19:48   Citer 

Remplace d'abord Lbl 1 par While 1 et le Goto 1 par End
De plus tu peux gangner pas mal d'octet avec des petites actuces

Code
:EffEcr
:EffVar [thetha]1->A                    <-// pas besoin des ":" derrière thetha
:7->Y
:14->X
:While 1
:A+1->A
:If A=17
:1->A
:If X=2
:3->X
:EffEcr
:codeTouche->K
:If K=25 et Y=7                      <-// pas besoin de parenthèses
:Y-3->Y
:if Y<7
:Y+1->Y
:X+(K=26)-(K=24->x
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"H
:Output(8,1,"----------------
:If A=16
:entAleat(2,3->E
:theta+1->theta
:If E=2
:Output(8,A," "
:If E=3
:Outuput(7,A,"=
:If E=2 et Y=7 et(A=X ou A=X-1          <-// pas besoin de parenthèses
:Then
:EffEcre
:Output(4,5,"PERDU
:Output(5,4,"SCORE
:Output(5,10,theta
:Output(Y,X,"0
:Output(8,1,"----------------
:Output(8,A," "
:Output(Y+1,X-1,"-I-
:Stop
:End
:If E=3 et Y=7 et A=X              <-// pas besoin de parenthèses
:Then
:EffEcr
:Output(4,5,"PERDU
:Output(5,7,theta
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"=
:Output(8,1,"----------------
:Stop
:Else
:If K=105
:then
:Output(4,6,"PAUSE
:Pause
:End
:End
:End



j'ai aussi déplacé le pause car la boucle ralentie avec des Goto comme te l'a expliqué linkakro

Si il y a encore un problème de ralentissement fait nous signe happy.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
come1995



Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Mer 07 Mar 2012, 21:11   Citer 

Ok je test demain et je vous dit frozen.gif

 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 : Jeu 08 Mar 2012, 0:13   Citer 

Des boucles sont ouvertes de partout mais plusieurs ne sont pas refermées.
Remplacez le Else par un End puis ajoûtez un End après le premier Stop.
On peut enlever les parenthèses fermantes en fin de lignes et juste avant sto->.

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



Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Sam 10 Mar 2012, 11:32   Citer 

voila la version final de mario sans bug!!! godgrace.gif godgrace.gif godgrace.gif bigmouth.gif bigmouth.gif bigmouth.gif



Code
:EffEcr
:0-> thetha
:1->A
:7->Y
:14->X
:Lbl 2
:Output(4,6,"PAUSE
:Pause
:Lbl 1
:A+1->A
:If A=17
:1->A
:If X=2
:3->X
:EffEcr
:codeTouche->K
:If (K=25 et Y=7)
:Y-3->Y
:if Y<7
:Y+1->Y
:X+(K=26)-(K=24)->x
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"H
:Output(8,1,"----------------
:If A=16
:entAleat(2,3->E
:theta+1->theta
:If E=2
:Output(8,A," "
:If E=3
:Outuput(7,A,"=
:If(E=2 et Y=7 et(A=X ou A=X-1))
:Then
:EffEcre
:Output(4,5,"PERDU
:Output(5,4,"SCORE
:Output(5,10,theta
:Output(Y,X,"0
:Output(8,1,"----------------
:Output(8,A," "
:Output(Y+1,X-1,"-I-
:Stop
:end
:if(E=3 et Y=7 et A=X)
:Then
:EffEcr
:Output(4,5,"PERDU
:Output(5,7,theta
:Output(Y-2,X,"0
:Output(Y-1,X-1,"-I-
:Output(Y,X,"=
:Output(8,1,"----------------
:Stop
:end
:If K=105
:Goto 2
:Goto 1



 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 15 Mar 2012, 9:08   Citer 

Les posts suivants ont été déplacés depuis un autre sujet, c'est pour ça que c'est moi qui les mets.



_________________________________________________________________________________________
Cytropus

Sans vouloir abuser de ta gentillesse je me permet une remarque...
Est-ce normal que tu n'a tenus compte d'aucune de nos modiffications ? godgrace.gif

_________________________________________________________________________________________
come1995

bas le while end sa marche pas et l'autre sa change pas beaucoup niveau octet alors non

_________________________________________________________________________________________
Cytropus

Comment ça while End ne marche pas maxiangry.gif
T'es sur d'avoir bien copié le prgm ahh.gif
T'as du avoir oublié un End quelque part angry.gif

_________________________________________________________________________________________
Linkakro

Il a fini par trouver quelque chose qui fonctionne au niveau des boucles... Cela lui suffit.
Le reste est superflu, il s'agit de légèreté et propreté.
Mais on peut probablement le réécrire avec des optimisations plus substantielles.
__________________________________________________________________________________________

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Jeu 15 Mar 2012, 11:57   Citer 

Waouh bigmouth.gif
Je savais pas que tu pouvait faire ça !

PS: faudra que vous nous faisiez une liste de tout vous pouvoirs, ça devient flippant frozen.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 15 Mar 2012, 18:24   Citer 

je dirait que là, ça a été poster les messages à l'aide d'un copier-coller (ça chacun peut le faire), mettre les psudos des posteurs et les colorer en orange (chacun peut le faire). La seule chose qu'il a peut-être fait et qu'un simple membre ne peut pas faire est de supprimer les messages sur l'ancien sujet (on ne peut effacer que ses propres sujets).

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 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 : Jeu 15 Mar 2012, 20:33   Citer 

Exact, winkle.gif c'est du copié coller de vos messages, avec votre pseudo en orange et en gras.

et pour séparer, utilisez l'underscore _ mais beaucoup de fois... ______

Je n'ai fait que mettre un message, toi aussi tu peux le faire, ça.


Mon "exploit" a seulement été de supprimer l'autre topic.
je peux supprimer et éditer les messages et les topics, ainsi que déplacer les topics dans un autre forum. Ce n'est pas grand chose.

sur forumactif, les modos, on peut faire plein de trucs marrants qu'ici on peut pas faire... tongue.gif

Bref, le rôle primordial d'un modérateur étant d'éviter le hors-sujet, on va s'arrêter là, hein, parce que ça fait deux posts HS. godgrace.gif

 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 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink