| mini snak |
| Auteur |
Message |
come1995
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
|
Posté le : Ven 30 Sep 2011, 18:33
|
|
|
bon je suis en seconde j'ai redoubler et comme je m’embêtait en physique j'ai crée sa. pourriez vous m'aidez a l’améliorer ou de le raccourcir ou d’améliorer sa rapidité. je tient a préciser que c'est le premier programme que je crée or ceux donner en exercice et qui sont très facile et sans aucun intérêt.
A la 5eme ligne en partant du bas comment enlever le Then qui fait perdre beaucoup de vitesse au programme??
merci
:code
:EffEcr
:0->H
:entAleat(1,7)->A
:entAleat(1,16)->B
:Lbl Z
:entALeat(1,7)->C
:entAleat(1,16)->D
:Lbl K
:EffEcr
:Disp H
:Outout(C,D,"8
:output(A,B,"0 //zero et pas O
:codeTouche->K
:If K=24
:B-1->B
:if K=26
:B+1->B
:if K=25
:A-1->A
:if K=34
:A+1->A
:if A=C et B=D
:Then
:H+1->H
:Goto Z
:Else
:Goto K
|
 |
|
| |
come1995
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
|
Posté le : Ven 30 Sep 2011, 18:46
|
|
|
j'ai aussi l'intention de faire un menu.
|
 |
|
| |
come1995
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
|
Posté le : Ven 30 Sep 2011, 18:50
|
|
|
j'ai oublier de preciser que l'on ne peut pas perdre...... 
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 30 Sep 2011, 20:13
|
|
|
| Code | :EffEcr
:DelVar H
:entAleat(1,7)->A
:entAleat(1,16)->B
:Lbl Z
:entALeat(1,7)->C
:entAleat(1,16)->D
:Lbl K
:EffEcr
:Disp H
:Outout(C,D,"8
:output(A,B,"0
:codeTouche->K
:B-(K=24)+(K=26->B
:A-(K=25)+(K=34->A
:If A-C ou B-D
:Goto K
:H+1->H
:Goto Z |
Il reste maintenant à :
-le convertir en graphique,
-à empêcher les sorties d'écran
-que le serpent continue d'avancer seul en ligne droite
-donner de la longueur au serpent
-gérer les collisions en graphique avec pxl-Test.
...?
graphique :
EffDessin pour effacer l'écran
Texte(Y,X,"text" comme pour output
Il faudra changer les coordonnées dans texte et dans les autres fonctions.
sorties d'écran :
* retenir à l'intérieur de l'écran
min(16,max(1,X-(K=24)+(K=26->X
Cette ligne gère à la fois les sorties et le contrôle.
Modifie 16 ou 1 selon les bords de l'écran
*ramener de l'autre côté
X-16(X>16)+16(X<1->X Les extrèmes sont 16 et 1
stocke K dans une autre variable uniquement s'il correspond à un déplacement et utilise cette variable à la place de K dans le code de déplacement.
-> le serpent continuera en ligne droite seul
Le plus difficile reste à faire : allonger le serpent et bien sûr effacer progressivement son trajet. (plus gérer des collisions avec sa queue)
Nous le traîterons peut-être si on règle le reste.
---------------------- 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 |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Ven 30 Sep 2011, 20:24
|
|
|
| Code | :EffEcr
:0->H
:entAleat(1,7->A //ici tu peut enlever la seconde parenthèse
:entAleat(1,16->B //ici tu peut enlever la seconde parenthèse
:While H-128 //tant que le sepant n'ocupe pas toute les cases
:entALeat(1,7->C //ici tu peut enlever la seconde parenthèse
:entAleat(1,16->D //ici tu peut enlever la seconde parenthèse
:While A-C ou B-D //tant que le serpant n'a pas mangé
:EffEcr
:Disp H //à ta place, je le mettrait plutôt à la dernière ligne du programme, sinon, ça peut t'effacer une partie du serpant
:Outout(C,D,"8
:output(A,B,"0
:codeTouche->K
:B-(K=24)+(K=26->B //simplification en utilisant le fait que vrai=1 et faux=0
:A-(K=25)+(K=34->A //idem
:End //fin de la boucle de déplacement
:H+1->H
:End //fin de la boucle globale (un "repas") |
Remplacer les Goto par des boucles est un bon choix en TI-Basic
Sandro
PS : j'ai pas testé, mais ça devrait marcher
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 30 Sep 2011, 21:02
|
|
|
N'oublie pas que "=/=" peut dans ce code se remplacer par "-".
Les boucles permettent une légère accélération mais tu pratiques deux tests au lieu d'un.
Je doûte de l'intérêt du deuxième test mais cela reste efficace.
---------------------- 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 |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Ven 30 Sep 2011, 23:43
|
|
|
Merci, j'édite
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
come1995
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
|
Posté le : Mer 05 Oct 2011, 18:10
|
|
|
merci linkakro mais je ne sait pas comment intégrer ce que tu ma dit . j'ai essayé mais rien ne change
|
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mer 05 Oct 2011, 18:27
|
|
|
En gros, il t'expliquait juste que :
| Code | | If expression1 =/= expréssionB |
peut-être remplacé par
| Code | | If expression1-expression2 |
Celà est plus court et plus rapide (un test est plutôt lent à réaliser. If peut-être remplacé par une autre fonction qui est soumise à condition (ex: While, Reapeat)
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 05 Oct 2011, 20:54
|
|
|
J'ai expliqué pas mal d'autres trucs dont certains déjà pris en compte dans ton code.
Mais je n'ai plus le temps de bidouiller un programme à chaque fois que je veux montrer des choses à quelqu'un.
(Ce week-end avec de la chance sinon c'est comprommis.)
---------------------- 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 |
 |
|
| |