je viens tout juste d avoir une Ti 84 mais j ai du mal a faire les programmes. J ai bien lu le guide je comprends les If, les Then, Else, etc (pas tous no plus) mais j ai du mal a les agencer dabs le programme. Je serai très reconnaissan a celui qui m expliquer avec des programmes très simples.
Merci (je pense etre aller sur le bon forum débutant mais qd je vois des gens demander de la ide pour des résolutions d equations du 5eme ° j en suis plus trop sur)
Merci beaucoup vous 2 pour votre aide mais juste dites moi un programme pour calculer la somme des nombres entiers jusqu'a n (soit n(n+1) / 2) donc pour tout nombre il lui associe cette somme
ce programme m aiderait beaucoup !
merci beaucoup
le site du zero est assez complet !
tama Le 23/04/2008 à 13:40 hmm non
c'est
randInt(1,8->Z (pas 16, sinon ça risque d'être hors de l'écran => error domain)
randInt(1,16->W
Output(Z,W,"*"
Ca place une étoile à un endroit aléatoire de l'écran
programmeur sur TI ^^mon blog sur les TI =>
clicmon (p'tit) fofo sur les TI =>
clic oui oui je mettais trompé (mais c etait pas vraimment ca ma question mais j ai reussi)
par contre j ai un ptit probleme
:Clrhome
:1->X:1->Y
:1->A:1->B
:randInt (1, 16, I
:randInt (1,8, J
output (J,I; "*"
:Repeat K=105
:Output (A,B, " "
:Output (Y,X,"O"
:Y->A:X->B
:getkey-> K
:If K=24: X-1->X
:...
:If X=0:16->X
:...
:End
c est le début d un snake
quand le 0 arrive sur l etoile il la mange mais comment faire pourque desqu elle soit mangé il y en ait une autre qui apparaisse ?
gon33 Le 23/04/2008 à 15:12 [nosmile]
Je suppose que c'est un truc comme:
if I=A and J=B
then
randInt (1, 16 => I
randInt (1,8 => J
output (J,I; "*"
(Eventuellement: S+1 => S si tu veux faire un score)
End
(j'ai peut-être interverti A et B)
c'est justemet ce que j avais essayé
Clrhome
:1->X:1->Y
:1->A:1->B
:randInt (1, 16, I
:randInt (1,8, J
output (J,I; "*"
:Repeat K=105
:Output (A,B, " "
:Output (Y,X,"O"
:Y->A:X->B
:If J=A and I=B
:Then
:randInt (1,16,J)
:randInt (1,8, I)
:Output (I,J, "*
:getkey-> K
:If K=24: X-1->X
:...
:If X=0:16->X
:...
:End
mais cela ne fait rien j ai mangé l etoile mais aucun ne réaparait
gon33 Le 23/04/2008 à 18:25 Non, non, t'as un problème là (Meyrink)
Il faut pas que tu fasses:
:randInt (1,16,J)Ce code va chercher J fois un nombre entre 1 et 16 (et le mettre dans Ans)
Il faut plutôt faire:
:randInt (1,16) => JTon bug vient peut-être de là...
dans ce cas la (gon) c'est encore pire ! il y a une dizaines d etoiles qui s affichent toutes les 2secondes !
gon33 Le 23/04/2008 à 19:18 Si t'as une dizaine d'étoiles par secondes, t'as du oublier de mettre le Then après le If. (à moins que j'aie fait une erreur, mais c'est assez peu probable)
attens tu dis ca par raport a quelle version ? parce que la je m y perd
alors c est Output( Y,X,"O")
4eme ligne avant la fin
gon33 Le 23/04/2008 à 20:01 Essaye d'inverser X et Y dans cette ligne
deeph Le 23/04/2008 à 20:16 Nan, essayes pas d'inverser, c'est bon, c'est jusque que c'est les valeurs d'X et Y qui foirent, mais je vois pas d'où ça viens (à prioris c'est soit que X<1 ou X>16 soit que Y<0 ou Y>8...)
heu y a plus rien qui s affiche !
mets les sur ta Ti tu verras y a rien ou ca rate
[nosmile]Bon, ça fait pas mal de temps que je suis le débat. C'est d'alleurs assez marrant qu'un tel programme provoque une telle quantité de versions. Ce programme est simple en théorie, mais il est dur de trouver la solution parfaite. J'ai créé un programme meilleur que celui au-dessus (enfin, à vous de juger) :
:1->Y:Ans->X // Initialisation des coordonnées (Y,X) du 0
:ClrHome
:While 1 // Boucle infinie
:randInt(1,8->J // Initialisation des coordonnées (J,I) de l'étoile
:randInt(1,16->I
:Output(J,Ans,"* // Afficher l'étoile
:Repeat X=I and Y=J // Répéter jusqu'à ce que le zéro soit sur l'étoile
:Output(Y,X,0 // Afficher le 0
:Repeat Ans // On attend que le joueur appuie sur une touche
:getKey
:End
:Output(Y,X," " // Effacer le zéro
:If Ans=26
:Then
:X+(X/=16->X
:Else
:If Ans=34
:Then
:Y+(Y/=8->Y
:Else
:If Ans=24
:Then
:X-(X/=1->X
:Else
:Y-(Y/=1->Y // C'est le cas lors de l'appui d'une touche autre que 26,34,24
:End:End:End
:End // Fin du Repeat (donc teste si le zéro est sur l'étoile)
:End // Dans ce cas, revenir à l'initialisation de J et I, et afficher la nouvelle étoile
Remarque :
- Si l'on appuie sur une touche autre que les flèches directionnelles, le zéro va en haut. Pour corriger celà, 2 possibilités. Soit on fait le test Ans=25 avant la décrémentation du Y, soit on modifie la boucle d'attente en Repeat Ans=24 or Ans=25 or Ans=26 or Ans=34. Ah oui, j'ai testé et il apparaît qu'il est plus rapide de faire des or successifs plutôt que max(Ans={24,25,26,34}). Dans les 2 cas, le jeu est ralenti.
gon33 Le 07/05/2008 à 19:01 Ah oui, mais là, tu rends certaines touches plus réactives que d'autres...