Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
Flappy Bird en TI-Basic
+4
Linkakro
persalteas
Wistaro
klein
8 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
Flappy Bird en TI-Basic
Voici un jeu utilisant le principe de flappy bird
laisser des commentaires s'il y a des problèmes
laisser des commentaires s'il y a des problèmes
- Code:
:Float
:ClrHome
:Output(2,1,"FLAPPY BIRD v1.0
:Output(4,4,"BY KLEIN"
:Output(6,3,"PRESS ENTER
:Output(7,5,"TO PLAY
:Pause
:Lbl A
:Menu("FLAPPY BIRD v1.0","PLAY",1,"BEST SCORES",2,"OPTIONS",3,"HELP",4,"QUIT",5
:Lbl 2
:ClrHome
:Output(2,4,"BEST SCORES
:Output(4,3,"1er
:Output(5,3,"2e
:Output(6,3,"3e
:Output(4,8,ᴸBIRD(2)
:Output(5,8,ᴸBIRD(3)
:Output(6,8,ᴸBIRD(4)
:Output(4,13,"pts
:Output(5,13,"pts
:Output(6,13,"pts
:Pause
:Goto A
:Lbl 4
:ClrHome
:Disp "PRESS 2nde TO
:Disp "FLY AND PASS
:Disp "BETWEEN PIPES
:Disp "
:Disp "PRESS ANNUL TO
:Disp "QUIT THE GAME
:Pause
:Goto A
:Lbl 1
:If ᴸBIRD(1)=0:Then:Goto 3:Else:Goto J
: Lbl 3
: ClrHome
: Disp "CHOOSE YOUR BIRD
: Input "SYMBOL: ",Str1
: 1→ᴸBIRD(1)
: Goto A
:End
:Lbl J
:ClrHome
:6→Y
:Repeat K=21
: getKey→K
: Output(Y,6,Str1
:End
:Y-2→Y:0→S
:While 1
: randInt(0,5)→H
: 9-(5-H)→M
: For(L,15,1,‾1
: Output(1,2,S
: For(A,1,H
: Output(A,L,"[]
: End
: For(C,8,M,‾1
: Output(C,L,"[]
: End
: getKey→K
: If K=45:Goto 5
: If K=0 and Y=8
: Goto 6
: If K=21 and Y≥3
: Then
: Y-2→Y
: Output(Y,6,Str1
: Output(Y+2,6,"
: End
: If K=0:Then
: Y+1→Y
: Output(Y,6,Str1
: Output(Y-1,6,"
: End
: For(A,1,H
: Output(A,L+1," "
: End
: For(C,8,M,‾1
: Output(C,L+1,"
: End
: If L=6 or L=5
: Then
: If (Y≥1 and Y≤H) or (Y≥M and Y≤8):Goto 6:End
: If L=1:Then
: Output(1,1,"
: Output(2,1,"
: Output(3,1,"
: Output(4,1,"
: Output(5,1,"
: Output(6,1,"
: Output(7,1,"
: Output(8,1,"
: End
: If L+1=6:S+1→S
: Output(Y,6,"
: End
:End
:Lbl 5
:ClrHome
:Stop
:Lbl 6
:ClrHome
:Output(2,5,"GAME OVER
:Output(4,5,"YOU LOSE!
:Output(6,5,"SCORE:
:Output(6,12,S
:Pause
:If S≥ᴸBIRD(4) and S≤ᴸBIRD(3)
:Then
: S→ᴸBIRD(4
:End
:If S≥ᴸBIRD(3) and S≤ᴸBIRD(3
:Then
: ᴸBIRD(3→ᴸBIRD(4:S→ᴸBIRD(3
:End
:If S>ᴸBIRD(2
:Then
: ᴸBIRD(3→ᴸBIRD(4:ᴸBIRD(2→ᴸBIRD(3:S→ᴸBIRD(2
:End
:Goto A
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
Très beau programme, mais voici quelques simplifications:
Utilité du
Et enfin
EDIT: non, en fait.
Voilà quelques simples optimisations, je me suis pas encore trop penché sur le jeu pour en trouver d'autres
- Code:
If ᴸBIRD(1)=0:
- Code:
If not(ᴸBIRD(1):
- Code:
:Output(4,4,"BY KLEIN"
- Code:
:Output(4,4,"BY KLEIN
Utilité du
- Code:
:Float
- Code:
:Y-2→Y:0→S
- Code:
DelVarSY-2->Y
- Code:
randInt(0,5)→H
- Code:
randInt(0,5→H
- Code:
If K=0:Then
- Code:
If not(K:Then
Et enfin
- Code:
If S≥ᴸBIRD(4) and S≤ᴸBIRD(3)
:Then
: S→ᴸBIRD(4
:End
:If S≥ᴸBIRD(3) and S≤ᴸBIRD(3
:Then
: ᴸBIRD(3→ᴸBIRD(4:S→ᴸBIRD(3
:End
:If S>ᴸBIRD(2
:Then
: ᴸBIRD(3→ᴸBIRD(4:ᴸBIRD(2→ᴸBIRD(3:S→ᴸBIRD(2
:End
EDIT: non, en fait.
Voilà quelques simples optimisations, je me suis pas encore trop penché sur le jeu pour en trouver d'autres
Re: Flappy Bird en TI-Basic
je l'ai codé en 2 jours sans trop faire attention à l'optimisation, je pourrai gagner 50 octets facilement
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
ah et le float c'est pour l'affichage du score pour éviter d'avoir des 3.000
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
Oh si, en chimie ça sert tout le temps
Au lycée, on ne vous embête pas encore trop avec les chiffres significatifs. Vous allez voir, après, les points que ça vous coûte d'en donner le mauvais nombre...
Au lycée, on ne vous embête pas encore trop avec les chiffres significatifs. Vous allez voir, après, les points que ça vous coûte d'en donner le mauvais nombre...
Re: Flappy Bird en TI-Basic
ça sent le vécu tout ça...
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
persalteas a écrit:Oh si, en chimie ça sert tout le temps
Au lycée, on ne vous embête pas encore trop avec les chiffres significatifs. Vous allez voir, après, les points que ça vous coûte d'en donner le mauvais nombre...
Si si ils nous font ch.er avec sa...Pas besoin de calculer, dans ma tête j'arrive à retrouver les chiffres significatifs et chaque fois modifier les paramètres de la calculatrice serait une perte de temps....
Bon, des fois, j'oublie de les mettre...
Re: Flappy Bird en TI-Basic
et là la sentence est sans appel
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
Les utilisateur habitués des modes Fix devraient ajouter Float au début de tous les programmes. Qu'il le mentionne ne me gène pas. Moi je l'ai mentionné dans mes premiers programmes.
La variable M n'est que peu utile en TI-Basic car les boucles For ne calculent les bornes qu'une seule fois. Donc le calcul de M dans les arguments de For conviendrait. Hélas il y en a deux.
Abus de Goto !!!!!!!!!! Bug d'algorithmie probable à terme !
(est-il bien nécessaire de rappeler que Goto dans Then/Else/While/Repeat ça fout la m*rd* ?)
Tu pourrais utiliser une mémoire tampon pour stocker plusieurs obstacles simultanés.
Une des méthodes classiques, le buffer circulaire+pointeur, est dans la partie mémoire de mon jeu Fly/CubeField dont tu pourrais t'inspirer.
Tu pourrais sérieusement changer l'orientation de l'écran et le défiler avec Disp pour gagner en performances. Malheureusement je constate moi-même un problème de hauteur excessive devant la vitesse de vol quand j'abuse de la fréquence des d'obstacles.
- Spoiler:
- Profitez de n'avoir que des chiffres significatifs à respecter. Mais ne vous traumatisez pas si vous découvrez les incertitudes. Pour toute mesure et tout calcul déterminer la marge d'erreur. Cela passe par un logarithme quand on a de la chance ou par des dérivées le reste du temps...
La variable M n'est que peu utile en TI-Basic car les boucles For ne calculent les bornes qu'une seule fois. Donc le calcul de M dans les arguments de For conviendrait. Hélas il y en a deux.
Abus de Goto !!!!!!!!!! Bug d'algorithmie probable à terme !
(est-il bien nécessaire de rappeler que Goto dans Then/Else/While/Repeat ça fout la m*rd* ?)
- Spoiler:
- Code:
:Lbl 1 // play
:If ᴸBIRD(1)=0:Then:Goto 3:Else:Goto J // deux goto dans alternative et manque End !
: Lbl 3
: ClrHome
: Disp "CHOOSE YOUR BIRD
: Input "SYMBOL: ",Str1
: 1→ᴸBIRD(1)
: Goto A // tu reviens au menu alors que tu voulais jouer, juste parce que tu n'avais pas choisi avant
:End // ça sert à quoi ce End qui ne peut pas être lu ?
:Lbl J
Le Goto A exécuté d'office sera désagréable bien que ce ne soit pas grave.
Puisque le Goto A te pose un problème, réglons le avec une variable mémoire de qui appelle.
Une première solution pour éviter au moins le Goto 3/Goto J et l'alternative même pas judicieuse- Code:
:Lbl A:1→A // avant le menu, mémorise qu'on vient du menu, et donc de l'option 3
:Lbl 1
:If ᴸBIRD(1
: Goto J // pas de perturbation algorithmique
: 0→A // mémorise qu'on ne vient pas par l'option 3
: Lbl 3
: ClrHome
: Disp "CHOOSE YOUR BIRD
: Input "SYMBOL: ",Str1
: 1→ᴸBIRD(1)
:If A // ne revient pas au menu si pas début de partie
: Goto A // pas de perturbation algorithmique
:Lbl J
- Code:
:Lbl A:1→A
:Lbl 1
:If 0=ᴸBIRD(1
:Then
: 0→A
: Lbl 3
: ClrHome
: Disp "CHOOSE YOUR BIRD
: Input "SYMBOL: ",Str1
: 1→ᴸBIRD(1)
:If A
: Goto A
:End
:Lbl J
Tu pourrais utiliser une mémoire tampon pour stocker plusieurs obstacles simultanés.
Une des méthodes classiques, le buffer circulaire+pointeur, est dans la partie mémoire de mon jeu Fly/CubeField dont tu pourrais t'inspirer.
Tu pourrais sérieusement changer l'orientation de l'écran et le défiler avec Disp pour gagner en performances. Malheureusement je constate moi-même un problème de hauteur excessive devant la vitesse de vol quand j'abuse de la fréquence des d'obstacles.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Cela vient d'une absence de dimensionnement au début.
- Code:
4→dim(ᴸBIRD // {mode,score1,score2,score3}
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Ok, j'ai mis 7 comme symbole, il faut savoir qu'il faut appuyer sur 2nde pour jouer, or le premier 7 affiché, reste affiché...
et je peux passer à travers des [] sans que ça me pénalise ???
et je peux passer à travers des [] sans que ça me pénalise ???
Re: Flappy Bird en TI-Basic
L'espace d'effacement est manquant.
- Code:
: If K=21 and Y≥3
: Then
: Y-2→Y
: Output(Y,6,Str1
: Output(Y+2,6," " // l'espace manquait, et le guillemet en plus
: End
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Non un graphique n'est pas toujours mieux. Il permet plus de positions et des pxl-test, mais la fréquence des obstacles influe encore plus sur les scrutations que d'habitude.
En théorie il suffirait de remplacer les coordonnées et les Output pour utiliser des Text(). Mais le graphique apportera des pxl-Test qu'on a fort intérêt à utiliser, plutôt que les tests de coordonnées.
Ce programme ne semble avoir qu'un seul obstacle à la fois, donc l'écran graphique serait bien vide.
Quoi qu'il en soit je n'ai pas testé car je préfère avancer ma propre expérience tout seul.
En théorie il suffirait de remplacer les coordonnées et les Output pour utiliser des Text(). Mais le graphique apportera des pxl-Test qu'on a fort intérêt à utiliser, plutôt que les tests de coordonnées.
Ce programme ne semble avoir qu'un seul obstacle à la fois, donc l'écran graphique serait bien vide.
Quoi qu'il en soit je n'ai pas testé car je préfère avancer ma propre expérience tout seul.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
C'est vrai.
En fait hier j'ai voulu le convertir sur l'ecran graphique, mais je me suis rendu compte que cela n'apportait rien de plus.
Je me suis donc concentré sur mon nouveau projet
En fait hier j'ai voulu le convertir sur l'ecran graphique, mais je me suis rendu compte que cela n'apportait rien de plus.
Je me suis donc concentré sur mon nouveau projet
Re: Flappy Bird en TI-Basic
Mais avez-vous une solution pour le problème actuel, car je ne vois absolument pas ce que ça peut être...
Re: Flappy Bird en TI-Basic
Je teste et ça marche très bien. Le curseur initial disparaît dès qu'on repasse dessus alors je m'en fiche. Aucune envie de chercher pour ça.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
ça va faire trois fois que je recopie entièrement le programme, mais les deux problèmes persistent, le fameux "7" (symbole choisis) qui s'efface dès qu'on repasse dessus.
Et le fait que je ne suis pas pénalisé lorsque je passe par les []...
Il doit sûrement il y avoir un problème ou bien une modification dans ton test ?
Et le fait que je ne suis pas pénalisé lorsque je passe par les []...
Il doit sûrement il y avoir un problème ou bien une modification dans ton test ?
Re: Flappy Bird en TI-Basic
Je t'assure que je n'ai rien changé : j'ai collé le code dans TI-Program-Editor et remplacé les symboles →ᴸ≥≤. Quoique j'ai ajouté des guillemets pour fermer les Output d'espaces et donc n'oublier aucune espace.
Oui la première position persiste jusqu'à ce qu'on repasse, c'est un défaut dans le choix de l'ordre des actions vis-à-vis de l'initialisation. Mais sa gravité est négligeable.
Mes collisions avec les obstacles fonctionnent parfaitement, je n'ai trouvé aucune manière de traverser autre que l'ouverture.
Oui la première position persiste jusqu'à ce qu'on repasse, c'est un défaut dans le choix de l'ordre des actions vis-à-vis de l'initialisation. Mais sa gravité est négligeable.
Mes collisions avec les obstacles fonctionnent parfaitement, je n'ai trouvé aucune manière de traverser autre que l'ouverture.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Linkakro a écrit:
Oui la première position persiste jusqu'à ce qu'on repasse, c'est un défaut dans le choix de l'ordre des actions vis-à-vis de l'initialisation. Mais sa gravité est négligeable.
Je n’emploierai pas le mot "gravité" mais juste savoir s'il existe un moyen de l'enlever ?
Re: Flappy Bird en TI-Basic
Ajoute un effacement entre l'attente de démarrage et la boucle de jeu. Par ailleurs on peut extraire l'affichage.
- Code:
:Output(Y,6,Str1 // placer ceci ici
:Repeat K=21
: getKey→K
:End
:Output(Y,6," " // ajouter ceci
- Spoiler:
- Je ne voulais pas chercher car je trouve cela "négligeable". Je pensais qu'il faudrait réécrire la boucle pour changer l'ordre des actions et tests, ce qui est un travail relativement imposant.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Pour ma défense, la gravité et les chutes sont des choses complexes à comprendre et à calculer. Et l'écran d'accueil ne propose que 8*16 cases donc difficile de reproduire quelque chose de fidèle à la réalité
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
Personne ne te le reproche, mais on peut essayer de faire le mieux possible avec le peu de ressources disponibles. Et les discussion dérivent parfois sur des thèmes comme l'utilisation d'autres ressources avec d'autres avantages.
Tu devrais voir ce que tu peux améliorer en consultant la discussion. On ne te demande pas de changer de type d'affichage. Personnellement je mentionne d'autres possibilités qui permettraient de faire autrement et d'obtenir d'autres avantages, mais aussi des inconvénients.
Tu devrais voir ce que tu peux améliorer en consultant la discussion. On ne te demande pas de changer de type d'affichage. Personnellement je mentionne d'autres possibilités qui permettraient de faire autrement et d'obtenir d'autres avantages, mais aussi des inconvénients.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Flappy Bird en TI-Basic
Quelles genre de possibilités?
klein- Nouveau Venu
- Messages : 9
Points Concours : 0
Productivité : 0
Date d'inscription : 15/03/2014
Re: Flappy Bird en TI-Basic
Par exemple tourner l'écran d'un quart de tour et faire avancer les obstacles avec Disp. Mais j'ai avoué que, malgré ma préférence pour cette technique, cela est préjudiciable pour l'écart entre les obstacles.
Autre exemple, utiliser l'écran graphique. Ce pourrait être intéressant pour les dimensions et la liberté de dessin, mais la grande taille amène aussi plus d'obstacles et cela risque d'être trop lent si on le gère mal.
Autre exemple, utiliser l'écran graphique. Ce pourrait être intéressant pour les dimensions et la liberté de dessin, mais la grande taille amène aussi plus d'obstacles et cela risque d'être trop lent si on le gère mal.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Page 1 sur 2 • 1, 2
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++