Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Besoin d'aide pour plusieurs choses
fazerdoo le 15/10/2013 à 20:12
Bonjour je suis nouveau et je débute depuis pas longtemps .
RAPELLE DU MESSAGE :
Merci j'ai pu résoudre tout les problèmes mais j'ai une nouvelle question
j’essaye de faire en sorte que 4 obstacles apparaissent ( ils vont de droite a gauche ) et une fois au bout ( tout à gauche ) ils reviennent a droite mais avec une ordonnée différente ( 4 obstacles qui ne sont pas sur la même colonne ) mais en suivant les tuto du forum mon curseur ne peut pas bouger donc je vous demande de l'aide voici le code :
Code
:Effecr
:For(V,1,16
:Output(2,V,"I
:Output(7,V,"I
:end
:5->X
:While 1
:Codetouche->K
:If K=/=0
:then
:Output(X,5," "
:(K=34)
:X+(K=34)-(K=25)->X
:If X>6
:6->X
:If X<3
:3->X
:output(X,5,"8"
:end
;end
Si quelqu'un pourrait me dire quoi ragouter et aussi si on peut améliorer mon début de programme merci

m@thieu41 le 15/10/2013 à 21:15
Bonjour,
Je t'aime bien toi tu dis que tu débute mais tu ne demande pas forcément des trucs simple à faire

. (sans vouloir te vexer bien sûr).
Avant toute chose: est ce que tu as des bases en ti basic ou bien pas du tout?
Si tu ne sais pas trop programmer sur ti je te conseille cet excellent tutoriel:
https://web.archive.org/web/20[...]mer-en-ti-basic
*Pour faire apparaitre 2 lignes je pourrais te balancer une solution mais ça ne te ferai pas beaucoup progresser.
Le mieux serait que tu essayes de comprendre le code, comment il fonctionne (pour cela, n'hésite pas à nous demander s'il y a quelque chose que tu as du mal à comprendre).
Après une fois que tu auras assmilé le code ça sera plus facile d'intégrer une deuxième ligne.
*Pour faire une barre de chargement:
Il n'y a pas vraiment de chargement dans ce jeu donc je suppose que c'est plus pour le "fun" qu'autre chose non?
Dans ce cas tu as le choix, ça dépend de quel aspect tu veux lui donner.
Pour la coder:
Une boucle for bien sûr.
Après ça dépend de ce que tu veux (une barre qui se remplis, 1 point qui tourne en rond, 3 points qui s'allument et s'éteignent les uns après les autres, on peut tout imaginer).
*Pour enlever une case quand on appuie sur la flèche du bas ça risque d'être compliqué (le temps est impossible à mesurer par contre).
Si j'ai bien compris tu veux libérer aléatoirement un passage dans la ligne grâce à la touche du bas?
Voilà encore une fois si tu as des questions n'hésite pas on est là pour t'aider, mais lis le tuto que je t'ai donné avant ça serait bien.
fazerdoo le 16/10/2013 à 07:59
Alors moi je programme une ti 82 stats fr mais je connais a ce que sontles ecritures englais en fr ( clrhome = effecr,... ) je connais les bases la preuve je suis en train de créer mon 1er jeux
Une boucle c'est avec while ?
et aussi enfaite ( il y a deux cases l'une au dessus de l'autre ( 2 0 )) si on appuie sur la fleche du bas et bah le 0 du bas s'enlève et revien peu de temps apres voila
Je vous montrerais bientot mon 1er programme si j'arrive a faire ça

m@thieu41 le 16/10/2013 à 14:14
Tu as lu le tuto que je t'ai conseillé?
Je ne parlais pas d'une boucle while mais d'une boucle for (il existe plusieurs types de boucles pour différentes utilisations).
Citation
il y a deux cases l'une au dessus de l'autre ( 2 0 )) si on appuie sur la fleche du bas et bah le 0 du bas s'enlève et revien peu de temps apres voila
J'ai pas compris...
Le jeu se présente ainsi:
Ou vois tu ( 2 0 ) ?
rpgcreator le 16/10/2013 à 15:03
en fait, la premiere question, il parle de falldown, mais les suivantes, c'est pour lui et SON programme. voila comment rassembler plusieurs topics!!!
pour deja utiliser les touches dans un programme, il faut utiliser codetouche et enregistrer une valeur comme dans cet exemple:
Code
repeat K=/=0
codetouche->K //on verifie la valeur de la touche frappée
If K=24 //la valeur obtenue en tapant la fleche gauche
Disp "gauche
If K=25 //celle de la fleche haut
Disp "haut
If K=26 //celle de la fleche droite
Disp "droite
If K=34 //celle de la fleche bas
Disp "bas
End
comme vous l'avez surement compris, le programme s'éxécute sans arret jusqu'a ce qu'une touche soit frappée et affiche droite si on appuie sur la fleche droite, gauche si on appuie sur la fleche gauche, etc...
alors bien sur, pour savoir les valeurs des touches, soit tu apprends tout par coeur sur cette image

:
Image manquante
soit vous utilisez ce programme et pressez la touche que vous voulez savoir:
Code
repeat Rép=/=0
codetouche
End
Disp Rép
voila en optimisé. pour ce qui est de la ligne supplémentaire sur falldown, je touve ca indigeste

m@thieu41 le 16/10/2013 à 15:35
Pour tester si c'est différent de 0 il suffit de faire:
Mets plutôt:
Code
repeat K
codetouche->K //on verifie la valeur de la touche frappée
End //On attend qu'une touche soit appuyée pour faire les test
If K=24 //la valeur obtenue en tapant la fleche gauche
Disp "gauche
If K=25 //celle de la fleche haut
Disp "haut
If K=26 //celle de la fleche droite
Disp "droite
If K=34 //celle de la fleche bas
Disp "bas
Mais... C'est quoi son prgm alors?
fazerdoo le 16/10/2013 à 16:28
Merci j'ai pu résoudre tout les problèmes mais j'ai une nouvelle question
j’essaye de faire en sorte que 4 obstacles apparaissent ( ils vont de droite a gauche ) et une fois au bout ( tout à gauche ) ils reviennent a droite mais avec une ordonnée différente ( 4 obstacles qui ne sont pas sur la même colonne ) mais en suivant les tuto du forum mon curseur ne peut pas bouger donc je vous demande de l'aide voici le code :
Code
:Effecr
:For(V,1,16
:Output(2,V,"I
:Output(7,V,"I
:end
:5->X
:While 1
:Codetouche->K
:If K=/=0
:then
:Output(X,5," "
:(K=34)
:X+(K=34)-(K=25)->X
:If X>6
:6->X
:If X<3
:3->X
:output(X,5,"8"
:end
;end
Si quelqu'un pourrait me dire quoi ragouter et aussi si on peut améliorer mon début de programme merci

m@thieu41 le 16/10/2013 à 20:54
Citation
Si quelqu'un pourrait me dire quoi ragouter
Un ragout?
Ma foi je ne suis pas contre
Déjà tu ne veux faire des actions que si une touche a été pressée.
Donc pour attendre qu'une touche ait été pressée fait plutôt:
Code
:While 1
//On attend l'appui sur une touche
:Repeat K
:Codetouche->K
:End
//On efface
:Output(X,5," //Pas besoin de fermer les guillemets
//:(K=34) //A quoi ça sert ça?
//On recalcule la position
//A la place de ça:
:X+(K=34)-(K=25)->X
:If X>6
:6->X
:If X<3
:3->X
//Tu peux mettre:
min(6,max(3,X+(K=34)-(K=25->X
//Et on affiche
:output(X,5,"8
:end
Tu es sur que ça ne marchait pas?
fazerdoo le 17/10/2013 à 18:30
Bonjour , voici mon nouveau code , et merci mathieu
Code
:Effecr
:For(V,1,16
:Output(2,V,"I
:Output(7,V,"I
:end
:5->X
:While 1
:Codetouche->K
:If K=/=0
:then
:Output(X,5,"
:min(6,max(3,X+(K=34)-(K=25->X
:output(X,5,"8"
:end
;end
j'ai trouvé un code sur le forum qui permet de déplacé un obstacle sur l'écran :
Code
:Effecr
:while 1
:entaléat(3,6)->o
:for T,1,16
:Outout(0,T,"*
:69!
:output0,T," "
:end
:1->T
:end
Le probleme cest que je ne sais pas ou mettre quelle ligne dans mon 1er j'ai programme , j'ai esseyer de " fusionner " les deux mais je peut diriger mon personnage que apres que l'étoile disparait et cest ça le probleme
donc si quelqun pourrait me dire Ou mettre quelle ligne du code ça serait tres gentil

linkakro le 17/10/2013 à 19:24
Il ne suffit pas de copiercoller, réfléchi un peu.
Ta seconde balise contient une boucle For pour modifier l'abscisse T et afficher.
Pendant que la calculatrice exécute ça elle ne peut rien faire d'autre.
>>soit Il faut contrôler la variable T autrement.
>>soit il faut tout mettre dans le For
L'ordre des actions dans la boucle peut être changé. Je choisis de placer l'effacement de * à la fin et la création au début.
Ne confond pas la lettre O et le zéro. Tu saisis des zéros à la place des lettres.
Code
:Effecr
:For(V,1,16
:Output(2,V,"I
:Output(7,V,"I
:End
:5->X
:16->T
:While 1
:If T>15 // init *
:Then
:entAléat(3,6->M
:0->T
:End
:T+1->T // incrément abscisse
:Output(M,T,"* // affiche *
:codeTouche->K
:If K
:Then
:Output(X,5," "
:min(6,max(3,X+(K=34)-(K=25->X
:Output(X,5,"8
:End
:Output(M,T," " // efface *
:End
Code
:Effecr
:For(V,1,16
:Output(2,V,"I
:Output(7,V,"I
:End
:5->X
:While 1
:entAléat(3,6->M // init *
:For(T,1,16
:Output(M,T,"* // affiche *
:codeTouche->K
:If K
:Then
:Output(X,5," "
:min(6,max(3,X+(K=34)-(K=25->X
:Output(X,5,"8
:End
:Output(M,T," " // efface *
:End // fin du For
:End // fin du While 1
fazerdoo le 17/10/2013 à 21:17
Merci beaucoup ça marche !

mais il me reste toujours une petite question et une fois ça je n'aurais plus rien a demander
comment je fait si je veut plusieurs obstacles ( 1 au debut , 2 apres , 3 apres , jusqu’à 4 en même temps ) J'ai beau esseyer plein de truc mais la je ne trouve pas
et merci je vien d'apprendre beaucoup de choses grace a vous

linkakro le 17/10/2013 à 21:40
Pour l'instant tu décris un objet par ses coordonnées.
Pour avoir plusieurs objets il faudrait plusieurs structures comme ma première.
Il n'est pas pratique de contrôler les coordonnées par des For dans ce cas là.
Je conseille de décrire le contenu de l'écran plutôt que chaque objet.
Par exemple pour chaque colonne indiquer la précence d'un objet par sa ligne.
Ou encore décrire chaque case de l'écran. Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.