π
<-
Chat plein-écran
[^]

Optimisation de ligne de code

Optimisation de ligne de code

Message non lude warrior6217 » 23 Déc 2016, 12:19

je cherche a optimisé cette ligne de code :

Lbl 4
Texte(25,5,"Je souhaite partager
Texte(32,5,"avec vous quelque unes
Texte(39,5,"des découvertes
Texte(46,5,"astronomique de mon
Texte(53,5,"peuple.
Pause
Texte(25,5,"1)oui____________________________________________________
Texte(32,5,"___________________________________________________________________________
Texte(39,5,"2)non_______________________________________________________
Texte(46,5,"_____________________________________________________________________
Texte(53,5,"_______________________________
Lbl D
getKey→K
If K=92:P+3→P
If K=92:Z+2→Z
If K=92:E-4→E
If K=92:Goto 01
If K=93:P-3→P
If K=93:E+4→E
If K=93:Goto 01
If K=45:Goto 4
If K≠92 et K≠93 et K≠45:Goto D

car je voudrais faire un programme "Raigns" le jeu et mon sistéme de question prend beaucoup de place.

Information :
-les variable E;P;Z c'est les caractéristique Eglise Peuple et Armée ( les point )

-
Pause
Texte(25,5,"1)oui____________________________________________________
Texte(32,5,"___________________________________________________________________________
Texte(39,5,"2)non_______________________________________________________
Texte(46,5,"_____________________________________________________________________
Texte(53,5,"_______________________________
ici les point c pour montré ou les "_" c pour montré le espce pour effacer le texte :
Texte(25,5,"Je souhaite partager
Texte(32,5,"avec vous quelque unes
Texte(39,5,"des découvertes
Texte(46,5,"astronomique de mon
Texte(53,5,"peuple.
car je n'est pas trouvé d'autre solution. si il y en a une autre solution je suis preneur

-et je suis sur TI-82 Advanced.

Merci de me répondre
Avatar de l’utilisateur
warrior6217
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 20%
 
Messages: 7
Inscription: 19 Nov 2016, 21:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Optimisation de lignes de code

Message non lude V0id » 23 Déc 2016, 12:27

Salut, c'est quoi comme jeu ?
Sinon, au lieu de
Code: Tout sélectionner
If K=92:P+3→P
If K=92:Z+2→Z
If K=92:E-4→E
If K=92:Goto 01

tu peux faire directement
Code: Tout sélectionner
If K=92
Then
P+3->P
Z+2->Z
E-4->E
Goto 01
End
Un émulateur de CHIP 8 ? viewtopic.php?t=20740
Avatar de l’utilisateur
V0idEcrivain
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 43.2%
 
Messages: 81
Images: 0
Inscription: 29 Aoû 2016, 11:05
Localisation: Dans l'univers observable
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Optimisation de ligne de code

Message non lude warrior6217 » 23 Déc 2016, 12:31

merci.
et reigns et un jeu ou tu et un roi et tu doit vivre le plus longtemps en fonction de tes choix
Avatar de l’utilisateur
warrior6217
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 20%
 
Messages: 7
Inscription: 19 Nov 2016, 21:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Optimisation de ligne de code

Message non lude V0id » 23 Déc 2016, 12:31

Ah oui, je crois que amixem y avait joué
Un émulateur de CHIP 8 ? viewtopic.php?t=20740
Avatar de l’utilisateur
V0idEcrivain
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 43.2%
 
Messages: 81
Images: 0
Inscription: 29 Aoû 2016, 11:05
Localisation: Dans l'univers observable
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Optimisation de lignes de code

Message non lude critor » 23 Déc 2016, 12:38

Bonjour.

Dans la deuxième partie, voici quelques factorisations/simplifications des Goto, sachant que sur ton modèle la taille du code est à compter en mots et non en caractères :
Code: Tout sélectionner
Lbl D
0
While Rep≠92 et Rep≠93 et Rep≠45
getKey
End
Rep→K
If K=92
Then
P+3→P
Z+2→Z
E-4→E
End
If K=93
Then
P-3→P
E+4→E
End
If K=92 ou K=93:Goto 01
If K≠45:Goto D
Goto 4


Dans la première partie, on peut exploiter la commande Menu( si son affichage te convient, ce qui de plus t'évitera d'avoir à effacer l'écran en écrivant plein d'espaces :
Code: Tout sélectionner
Lbl 4
Texte(25,5,"Je souhaite partager
Texte(32,5,"avec vous quelque unes
Texte(39,5,"des découvertes
Texte(46,5,"astronomique de mon
Texte(53,5,"peuple.
Pause
Menu("","oui",MO,"non",MN
Lbl MO
92→K
Goto MF
Lbl MN
93→K
Lbl MF
If K=92
Then
...
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Optimisation de ligne de code

Message non lude warrior6217 » 23 Déc 2016, 12:48

merci pour la 1er optimisation mais sur la 2eme j'aimerais ne pas faire de menu ni de rajouté de Lbl, j'aimerais resté sur le graphique.
Avatar de l’utilisateur
warrior6217
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 20%
 
Messages: 7
Inscription: 19 Nov 2016, 21:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Optimisation de ligne de code

Message non lude critor » 23 Déc 2016, 13:02

Ok.
Voici une autre simplification de la 2ème partie, où il n'y a même plus besoin du Lbl D : :)
Code: Tout sélectionner
0
While Rep≠92 et Rep≠93 et Rep≠45
getKey
End
Rep→K
If K=45
Goto 4
If K=92
Then
P+3→P
Z+2→Z
E-4→E
Else
P-3→P
E+4→E
End
Goto 01
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Optimisation de ligne de code

Message non lude critor » 23 Déc 2016, 13:06

Et dans le cas particulier de tes valeurs, voici une grosse optimisation supprimant tous les If/Then/Else :
Code: Tout sélectionner
0
While Rep≠92 et Rep≠93 et Rep≠45
getKey
End
Rep→K
If K=45
Goto 4
P+6(92.5-K→P
E-8(92.5-K→E
Z+2(K=92→Z
Goto 01
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Optimisation de ligne de code

Message non lude warrior6217 » 23 Déc 2016, 14:05

merci beaucoup pour la 2eme solution.
est-ce que tu peut m’expliquè comment fonctionne le système des point?
Avatar de l’utilisateur
warrior6217
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 20%
 
Messages: 7
Inscription: 19 Nov 2016, 21:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Optimisation de ligne de code

Message non lude critor » 23 Déc 2016, 14:30

Si K=92, on a :
92.5-K=0.5
6(92.5-K=3
-8(92.5-K=-4

Si K=93, on a :
92.5-K=-0.5
6(92.5-K=-3
-8(92.5-K=4

Donc additionner ces expressions rajoute ou enlève bien 3 ou 4 comme tu faisais. :)

Enfin, l'expression K=92 sur ton modèle vaut 1 si il est vrai que K=92, et 0 sinon.
2(K=92 vaut donc 2 ou 0.
Additionner cette expression rajoute bien 2 dans le seul cas où K=92. :)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1777 utilisateurs:
>1747 invités
>25 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)