Attila le 24/10/2013 à 15:54
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

-Les commandes sont les flèches pour se déplacer, 2nd por tirer et Enter
pour faire Pause.
Voilà, Bon jeu !
linkakro le 30/10/2013 à 15:57
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.
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