Poster un nouveau sujet Poster une réponse
Mon premier programme:un sshoot'em up du nom de Phoenix Lord
Auteur Message
Attila



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Jeu 24 Oct 2013, 15:54   Citer 

Bonjour à tous ! Voilà grace à ce forum j'ai enfin fini mon premier programme (sur TI 82 stats fr), un shoot'em up du nom de "Phoenix Lord". Si ceartain souhaite l'améliorer, je vous en prie ne vous gêner pas.Je précise que ce jeu se compose de trois programmes:
-Le menu (les -> sont des sto)

Code
PROGRAM:PHOENIX
:EffEcr
:Output(1,1,"XXXXXXXXXXXXXXXX //16 X
:Output(3,2,"PHOENIX LORD V
:Output(6,2,"BY ATTILA   >W<
:Output(4,15,"' //Ceci est une apostrophe que l'on trouve dans le catalogue (2nd 0)
:Output(8,1,"XXXXXXXXXXXXXXXX //16 X
:Pause
:EffEcr
:Menu("VAISSEAU ?","UTOPIC II >W<",U,"GARENA Z  I//le symbole pi//I",G
:Lbl U
:prgmUTOPIC
:Stop
:Lbl G
:prgmGARENA
:Stop



-Le premier vaisseau(UTOPIC II)

Code
PROGRAM:UTOPIC
:EffEcr
:Input "DIFFICULT:2,3,4?",H
:EffEcr
:7->A
:7->B
:A+1->C
:1->U
:entAléat(2,15)->X
:1->Y
:entAléat(2,15)->Z
:0->T
:0->Q
:0->S
:Lbl 0
:7->B
:EffEcr
:Output(8,A,">W<
:Output(U,X,"V
:Output(Y,Z,"V
:codeTouche->K
:If K=24 et A-1>0
:A-1->A
:If K=26 et A+3<17
:A+1->A
:If K=21:Goto 1
:A+1->C
:If K=105:Menu("QUITTER","OUI",EN,"NON",0
:T+1->T
:If T=H:Goto T
:Q+1->Q
:If Q=H:Goto Q
:Goto 0
:Lbl 1
:A+1->C
:For(B,7,1,-1
:For(B,B,B-0.1
:End
:7*8/racine de (5)-4²*66/racine de (42)+11*16 //calcul visanta ralentire le tir pour qu'il soit visible
:Output(B,C,"'
:If B=Y-1 et C=Z
:Goto DB
:If B=U-1 et C=X
:Goto DA
:End
:Goto 0
:Lbl T
:0->T
:U+1->U
:If U=8:Goto G
:Goto 0
:Lbl Q
:0->Q
:Y+1->Y
:If Y=8:Goto G
:Goto 0
:Lbl DA
:1->U
:entAléat(2,15)->X
:Goto S
:Lbl DB
:1->Y
:entAléat(2,15)->Z
:Goto S
:Lbl S
:S+1->S
:Goto 0
:Lbl G
:EffEcr
:Output(5,4,"GAME OVER
:Output(8,1,"SCORE
:Output(8,7,S
:Pause
:Menu("CONTINUER","OUI",D,"NON",EN
:Lbl EN
:EffEcr
:Stop
:Lbl D
:prgmPHOENIX
:Stop



Et le deuxième vaisseau(GARENA Z)

Code
PROGRAM:GARENA
:EffEcr
:Input "DIFFICULT:2,3,4?,H
:EffEcr
:7->A
:7->B
:A->C
:7->D
:A+2->E
:1->U
:entAléat(2,15)->X
:1->Y
:entAléat(2,15)->Z
:0->T
:0->Q
:0->S
:Lbl 0
:7->B
:7->C
:EffEcr
:Output(8,A,"I//symbole pi//I
:Output(U,X,"V
:Output(Y,Z,"V
:codeTouche->K
:If K=24 et A-1>0
:A+1->A
:If K=26 et A+3<17
:A+1->A
:If K=105:Menu("QUITTER","OUI",EN,"NON",0
:K=21:Goto 1
:T+1->T
:If T=H:Goto T
:Q+1->Q
:If Q=H:Goto Q
:Goto 0
:Lbl 1
:A->C
:A+2->E
:8->B
:8->D
:Repeat B=1 et D=1
:B-1->B
:D-1->D
:7*8/racine de (5)-4²*66/11+16 //encore le calcul de lag
:Output(B,C,"'
:Output(D,E,"'
:If B=Y-1 et C=Z ou D=Y-1 et E=Z
:Goto DB
:If B=U-1 et C=X ou D=U-1 et E=X
:Goto DA
:End
:Goto 0
:Lbl T
:0->T
:U+1->U
:If U=8:Goto G
:Goto 0
:Lbl Q
:0->Q
:Y+1->Y
:If Y=8:Goto G
:Goto 0
:Lbl DA
:1->U
:entAléat(2,15)->X
:Goto S
:Lbl DB
:1->Y
:entAléat(2,15)->Z
:Goto S
:Lbl S
:S+1->S
:Goto 0
:Lbl G
:EffEcr
:Output(5,4,"GAME OVER
:Output(8,1,"SCORE
:Output(8,7,S
:Pause
:Menu("CONTINUER","OUI",D,"NON",EN
:Lbl EN
:EffEcr
:Stop
:Lbl D
:prgmPHOENIX
:Stop



Voilà,voilà !

Notes:-les difficultés sont dans l'ordre décroissant (2=Difficile et 4= Facile)
-La difficulté 1 éxiste mais est suscidaire godgrace.gif
-Les commandes sont les flèches pour se déplacer, 2nd por tirer et Enter
pour faire Pause.

Voilà, Bon jeu !

 Adresse email Haut de page Bas de page 
 
Attila



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Sam 26 Oct 2013, 9:17   Citer 

N'oubliez pas de laisser vos avis minied.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 30 Oct 2013, 15:57   Citer 

Je suis intrigué par la temporisation.
Code
:For(B,B,B-0.1
:End
:7*8/racine de (5)-4²*66/racine de (42)+11*16 //calcul visanta ralentire le tir pour qu'il soit visible

Le calcul est mal choisi car peu efficace et bordélique.
Le grand classique est la factorielle 69 notée 69!. Cela effectue 1*2*3*...*69. On utilise 69! car 70! et plus dépassent la capacité.
Il serait plus simple d'utiliser une boucle For vide en choisissant la borne convenable.

Code
For(D,0,100):End


Ta boucle For(B,B,B-0.1) n'a que peu d'intérêt car elle est quittée immédiatement. En plus saisir B-1 en fin aurait suffit.

Pas besoin de Goto avant le Lbl.
Code
:Goto S // innutile
:Lbl S



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



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Mer 30 Oct 2013, 20:48   Citer 

Oui je me suis rendu compte après coup des rappels de valeur inutiles et oublies d'optimisation notables. D'ailleurs j'ai 1 questions:que est ce que je pourrais programmer pour m'entraîner ?

En tout cas merci de ta réponse et de tes conseils bienvenus.

Sur ce, salutations

Attila

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 30 Oct 2013, 21:28   Citer 

Je pense que tu devrais utiliser la commande Return pour revenir à PHOENIX à l'emplacement de l'appel du sous-programme plutôt que d'appeler PHOENIX.
Pour l'instant tu ne fais que des appels donc les Stop après les appels ne servent à rien du tout.
Sâches aussi qu'arriver à la fin d'un programme provoque la même chose que Return.

Tu peux t'entrainer en faisant les jeux classiques et des maths. Quelques idées : jeu du plus ou moins, factorisation des trinômes, calcul du pgcd (plus grand commun diviseur) par l'algorithme d'euclide (divisions euclidiennes successives), jeu de pong à un joueur puis deux, jeu d'éviction d'obstacles mouvants
Je ne conseille pas le Snake pour commencer, il y a trop de méthodes différentes et de contraintes différentes, et la plupart sont trop lentes et risquent de te décevoir, ce qui serait dommage.


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



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Jeu 31 Oct 2013, 18:15   Citer 

J'ai suivi la méthode de mdr1 en partie donc j'ai déja fait des plus ou moins et du chauds ou froids.
Je vais essayer de faire le calcul de pgcd. Je le posterai peut être pour que tu me dise ce que t'en penses.

En tout cas merci pour tes conseils.

Attila

 Adresse email Haut de page Bas de page 
 
Attila



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Dim 03 Nov 2013, 21:57   Citer 

J'ai suivi la méthode de mdr1 en partie donc j'ai déja fait des plus ou moins et du chauds ou froids.
Je vais essayer de faire le calcul de pgcd. Je le posterai peut être pour que tu me dise ce que t'en penses.

En tout cas merci pour tes conseils.

Attila

 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 : Dim 03 Nov 2013, 22:04   Citer 

Fail du message?

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