Poster un nouveau sujet Poster une réponse
Flappy bird
Auteur Message
Lee-korn



Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 16 Déc 2017, 16:13
Posté le : Sam 16 Déc 2017, 17:05   Citer 

Bonjour, j'ai décidé de partager mes programmes, voici donc un flappy bird que j'ai conçu winkle.gif

Code
AxesNaff
FoncNaff
Lbl1
94->Xmax
0->Xmin
0->Ymin
62->Ymax
EffDess
3->H
0->A
31->B
0->G
0->C
nbrAleatoireEnt(10,45->L1(1
nbrAleatoireEnt(10,45->L1(2
nbrAleatoireEnt(10,15)+L1(1->L2(1
nbrAleatoireEnt (10,15)+L1(2->L2(2
Ligne(40,0,40,L1(1
Ligne(40,62,40,L2(1
Ligne(70,0,70,L1(2
Ligne(70,62,70,L2(2
0->S
Texte(-1,10,50,S
While codetouche(!=25
End
While 1
codetouche(->G
If  G=25
Then
3->H
Else
H-.5->H
End
B+H->B
If B<=0:Goto 0
A+1->A
If A>94
Then
EffDess
Texte(-1,10,50,S
nbrAleatoireEnt(10,45->L1(1
nbrAleatoireEnt(10,15)+L1(1->L2(1
nbrAleatoireEnt(10,45->L1(2
nbrAleatoireEnt (10,15)+L1(2->L2(2
Ligne(40,0,40,L1(1
Ligne(40,62,40,L2(1
Ligne(70,0,70,L1(2
Ligne(70,62,70,L2(2
0->A
End
If A=70
Then
If B>=L2(2) ou B<=L1(2):Goto 0
S+1->S
Texte(-1,10,50,S
End
If A=40
Then
If B>=L2(1) ou B<=L1(1):Goto 0
S+1->S
Texte(-1,10,50,S
End
Pt-Aff(A,B
End
Lbl 0
If B<0:0->B
Pt-Aff(A,B,2
Pause
Menu("CONTINUER ?","OUI",1,"NON",2
Lbl 2


Voilà, vous n'avez plus qu'à le lancer bigmouth.gif
Ps: c'est vous qui avancer et pas les barres
Pour sauter c'est flèche du haut[^]
Commencez aussi avec flèche du haut[^]
Pour ceux qui veulent un programme toujours plus optimisé crazy.gif regardez en dessous

----------------------
La meilleure façon de prédire le futur est de l'inventer
 Adresse email Haut de page Bas de page 
 
Help
Invité
Posté le : Sam 16 Déc 2017, 17:30   Citer 

Comment faire la touche axesNaff ???

  Haut de page Bas de page 
 
Lee-korn



Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 16 Déc 2017, 16:13
Posté le : Sam 16 Déc 2017, 17:55   Citer 

2nde -> zoom

----------------------
La meilleure façon de prédire le futur est de l'inventer
 Adresse email Haut de page Bas de page 
 
Homer_Dalor



Autorisation : Membre
Nb de messages : 33
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Mer 20 Déc 2017, 1:16   Citer 

Bien le bonjour.

Je n'ai actuellement pas ma calculette sur moi, aussi ne pourrais-je pas tester les modifications que je vais donner ici. Pardonnez moi si quelque erreur se fait sentir.

*******************************************

Tout d'abord, les 0->[Variable] peuvent se remplacer par EffVar Variable et on peut ajouter une instruction juste après, donc


Code
3->H
0->A
31->B
0->G
0->C



Te donne :


Code

3->H
EffVar AEffVar GEffVar C31->B



**************************************************


Code
nbrAleatoireEnt(10,45->L1(1
nbrAleatoireEnt(10,45->L1(2
nbrAleatoireEnt(10,15)+L1(1->L2(1
nbrAleatoireEnt (10,15)+L1(2->L2(2



Ce code ne bug-t-il pas si L1 ou L2 a une dimension plus petite que 2?
Quoi qu'il en soit, on peut le raccourcir et éviter tout bug comme ceci :


Code
nbrAleatoireEnt(10,45,2->L1
nbrAleatoireEnt(10,15,2)+L1->L2



*****************************************************

Le while 1, j'suis pas très fan, et beaucoup de gens ici le seront aussi. Il faut que tu essayes de mettre tes conditions d'arrêt dans le while, ça évitera cette boucle infini qui va poser problème si tu demandes beaucoup de fois de recommencer le jeu, tu risque d'avoir une erreur mémoire.
Si tu n'arrives pas à trouver un moyen de mettre une condition d'arrêt, utilise simplement une variable initialisée à 0 que tu feras passer à 1 quand tu voudras stopper, et ton while 1 tu le transformes en While non([Variable]

******************************************************


Code
If  G=25
Then
3->H
Else
H-.5->H
End



Tu peux le raccourcir comme ceci :


Code
H-.5
if G=25:3
Rép-> H



**********************************************


Code
If A=70
Then
If B>=L2(2) ou B<=L1(2):Goto 0
S+1->S
Texte(-1,10,50,S
End
If A=40
Then
If B>=L2(1) ou B<=L1(1):Goto 0
S+1->S
Texte(-1,10,50,S
End



Tu peux raccourcir en une seule condition tout ça :


Code
If A=70 ou A=40
Then
PartEnt(.03A
If B>=L2(Rép) ou B<=L1(Rép:Goto 0
S+1->S
Texte(-1,10,50,S
End




***************************************************

Voilà comme ça j'vois pas quoi dire d'autre, ça aurait été plus simple que je le teste mais bon ^^
Si tu veux des explications sur quoi que ce soit que j'ai mis ici hésite pas winkle.gif

 Adresse email Haut de page Bas de page 
 
Lee-korn



Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 16 Déc 2017, 16:13
Posté le : Mer 20 Déc 2017, 15:37   Citer 

Non merci, c'est bon je connais à peu près tout happy.gif
Je me demandais juste pourquoi effvar était mieux qu'attribuer 0 à la variable. Sinon, L1 correspond à la hauteur du poteau du bas et L2 À L'ECART ENTRE LES DEUX POTEAUX et non à la hauteur du 2 eme.
Dernière chose, ce n'est pas la dernière version de mon programme, j'ai créé une dernière liste enregistrant la distance des poteaux ça donne ça:

Code
{40,70,94->L3
1->N
//Tout ce qui a avant ;) j'ai un peu la flemme x)
If A=L3(N
Then
If N=3
Then
EffDess
Texte(-1,10,50,S
nbrAleatoireEnt(10,45,2->L1
L1+nbrAleatoireEnt(10,15,2->L2
Ligne(40,0,40,L1(1
Ligne(40,62,40,L2(1
Ligne(70,0,70,L1(2
Ligne(70,62,70,L2(2
0->A
1->N
Else
If B>=L2(N) ou B<=L1(N):Goto 0
S+1->S
N+1->N
Texte(-1,10,50,S
End
End


Il se peut que j'ai oublié certains trucs winkle.gif je vais réécrire un message pour ceux qui voudront le code en entier

----------------------
La meilleure façon de prédire le futur est de l'inventer
 Adresse email Haut de page Bas de page 
 
Hariix
Invité
Posté le : Sam 13 Jan 2018, 15:22   Citer 


Citer : Lee-korn
Bonjour, j'ai décidé de partager mes programmes, voici donc un flappy bird que j'ai conçu winkle.gif

Code
AxesNaff
FoncNaff
Lbl1
94->Xmax
0->Xmin
0->Ymin
62->Ymax
EffDess
3->H
0->A
31->B
0->G
0->C
nbrAleatoireEnt(10,45->L1(1
nbrAleatoireEnt(10,45->L1(2
nbrAleatoireEnt(10,15)+L1(1->L2(1
nbrAleatoireEnt (10,15)+L1(2->L2(2
Ligne(40,0,40,L1(1
Ligne(40,62,40,L2(1
Ligne(70,0,70,L1(2
Ligne(70,62,70,L2(2
0->S
Texte(-1,10,50,S
While codetouche(!=25
End
While 1
codetouche(->G
If  G=25
Then
3->H
Else
H-.5->H
End
B+H->B
If B<=0:Goto 0
A+1->A
If A>94
Then
EffDess
Texte(-1,10,50,S
nbrAleatoireEnt(10,45->L1(1
nbrAleatoireEnt(10,15)+L1(1->L2(1
nbrAleatoireEnt(10,45->L1(2
nbrAleatoireEnt (10,15)+L1(2->L2(2
Ligne(40,0,40,L1(1
Ligne(40,62,40,L2(1
Ligne(70,0,70,L1(2
Ligne(70,62,70,L2(2
0->A
End
If A=70
Then
If B>=L2(2) ou B<=L1(2):Goto 0
S+1->S
Texte(-1,10,50,S
End
If A=40
Then
If B>=L2(1) ou B<=L1(1):Goto 0
S+1->S
Texte(-1,10,50,S
End
Pt-Aff(A,B
End
Lbl 0
If B<0:0->B
Pt-Aff(A,B,2
Pause
Menu("CONTINUER ?","OUI",1,"NON",2
Lbl 2


Voilà, vous n'avez plus qu'à le lancer bigmouth.gif
Ps: c'est vous qui avancer et pas les barres
Pour sauter c'est flèche du haut[^]
Commencez aussi avec flèche du haut[^]
Pour ceux qui veulent un programme toujours plus optimisé crazy.gif regardez en dessous



J'ai une TI 82 Stats.fr et il me dis ERR:Argument sur nbrAleatoireEnt(10,45->L1(1 . AIDER MOI plz

  Haut de page Bas de page 
 
Hariix
Invité
Posté le : Sam 13 Jan 2018, 18:46   Citer 

Je veux bien le code pour la dernière version STP!

  Haut de page Bas de page 
 
Lee-korn



Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 16 Déc 2017, 16:13
Posté le : Sam 20 Jan 2018, 9:56   Citer 

Bonjour, tu as certainement un problème à L1 car cela ne s'écrit pas "L"+"1" mais c'est la liste L1 que tu trouve à 2nde+1
Sinon je vais peut être réécrire le programme si j'ai le courage mais ce n'est que de l'optimisation, le premier marché très bien

----------------------
La meilleure façon de prédire le futur est de l'inventer
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Dim 28 Jan 2018, 16:57   Citer 


Citer : Lee-korn
Non merci, c'est bon je connais à peu près tout happy.gif
Je me demandais juste pourquoi effvar était mieux qu'attribuer 0 à la variable.



Tu économises 1 octet de mémoire (au niveau de la taille du prgm) à chaque fois.

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





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink