Poster un nouveau sujet Poster une réponse
ti invader fait maison
Auteur Message
grmycaire



Autorisation : Membre
Nb de messages : 37
Inscrit le : Lun 21 Oct 2013, 22:12
Posté le : Mar 26 Nov 2013, 18:11   Citer 

Un petit jeu classique dont le but est de degommer les méchants
les touches: fleche haut et bas pour se déplacer
suppr pour tirer



Code

:100->M
:1->B
:4->Y
:EffVar S
:Lbl 0
:EffEcr
:EntAleat(2,7->A
:Lbl 1
:Output(1,1,"----------------      //il y en a 16
:Output(8,1,"----------------     //pareil
:Repeat B=15
:Output(A,B,">                     //(les méchants) vous pouvez mettre autre chose
:B+1->B
:CodeTouche->K
:If K=25:Y-1->Y
:If K=34:Y+1->Y
:If K=23:Goto 2
:Output(Y,16,"<          //(le gentil) vous pouvez mettre autre chose
:Output(Y+1,16,"[espace]
:Output(Y-1,16,"[espace]                //pour éviter les EffEcr qui font (très) mal aux yeux
:For(N,1,M
:End
:End
:Output(3,1,"SCORE
:Output(3,8,S
:Output(1,1,"GAME OVER
:Pause
:Stop
:Lbl 2
:For(T,16,B,-1
:Output(Y,T,"-
:End
:If Y=A:Then
:S+1->S
:1->B
:M-5->M
:Goto 0
:Else
:EffEcr
:Goto 1



N'ésitez pas à donner votre avis (positif ou negatif) , cela m'aidera à créer des programmes de meilleur qualité.

grmycaire

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 26 Nov 2013, 18:26   Citer 

Bonjour,

Pas mal winkle.gif


Quelques petites remarques:
Les Goto dans les structures If/boucles sont à éviter!
https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=2757
Tu risques en effet de te retrouver avec un ralentissement de ton prgm (cf lien).

Tu fais (en gros):

Code
Lbl 0
Lbl 1
Repeat condition
If condition
Goto 2
End
...
Lbl 2
If condition
Then
Goto 0
Else
Goto 1



Soit: On rentre dans la boucle Repeat (1ere fois).
On a appuyé sur la touche, donc suppr, donc on va au Lbl 2.
Là on rentre dans une condition If (1ere fois)... et on tombe sur un Goto 1 ou 2.
Qui nous amène à la boucle Repeat (2eme fois)

Donc à chaque fois tu "cumule" les If et les Repeat: un goto ne permet pas de sortir d'une boucle, l’appartenance à la boucle/au if est maintenu...
Ce qui fait que le programme "retiens" X fois qu'il est passé par la boucle Repeat, et X fois qu'il est passé par If Then... et attend toujours les End! Donc le prgm finis par ralentir...
Ce qu'il faut retenir:
Eviter de se retrouver dans un cas du style:

Code
If X
Then
Goto 0
End

Repeat X
Goto 0
End



Après tu as quelques optimisations possibles, comme par exemple:

Code
:If K=25:Y-1->Y
:If K=34:Y+1->Y


Qui peut devenir:

Code
Y+(K=34)-(K=25->Y


D'ailleurs, tu ne gère pas les sorties d'écran: il faut poser des limites à la valeur de Y, pour éviter que ton perso ne "sorte" de l'écran...
Pour les optimisations je t'invites à regarder cet article: https://tout82.forumactif.org/t50-candide-ou-l-optimisation

Continue comme ça happy.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
grmycaire



Autorisation : Membre
Nb de messages : 37
Inscrit le : Lun 21 Oct 2013, 22:12
Posté le : Mar 26 Nov 2013, 18:38   Citer 

merci pour la reponse.
je tacherais de m'en souvenir

 Adresse email Haut de page Bas de page 
 
grmycaire



Autorisation : Membre
Nb de messages : 37
Inscrit le : Lun 21 Oct 2013, 22:12
Posté le : Ven 29 Nov 2013, 22:45   Citer 

je pense créer une version 2 de ti invader en graphique et plus rapide.

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Sam 30 Nov 2013, 10:40   Citer 

Super, n'hésites pas à poster le code une fois que ce sera fait winkle.gif .

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes