Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tout sur les TI !

Besoin d'aide ?

    21 septembre 2007 à 18:13:42

    Ok donc c'est ok pour le done. J'ai pris la méthode moins bourrine à savoir les "" à la fin.

    Pour redémarrer le programme, c'est aussi simple de faire entrée ou second [QUIT] (c'est bien ça ?) pour quitter le programme.

    J'aurais encore quelques petites questions :
    1/ Quand je lance le programme via le menu de la TI, j'ai d'abord une ligne avec "prgmPLUSMOIN". Je dois alors appuyer sur entrée pour lancer le programme. Y a t -il un moyen de le lancer directement ?

    Je lance le programme. Là, mon menu apparait, tout va bien. J'ai fait un menu pour choisir la difficulté. Tout marche. On tappe un nombre entre 1 et 5 pour choisir le niveau de difficulté.

    2/ Si on tappe un nombre autre qu'un nombre compris entre 1 et 5, il tire le nombre 0 (normal car dans ce cas, il choisit un nombre entre 0 et 0). Je voudrais que l'on ne puisse pas choisir un autre nombre que 1,2,3,4,5.
    Pour cela j'ai deux idées :
    - La plus simple : Je définis une valeur par défaut pour N.
    - Plus évoluée et mieux : Je réaffiche le menu. Pour cela j'ai pensé à un goto et un label mais : ceux-ci permettent-ils de remonter dans le code ? Y a t il plus optimisé (moins lourd, plus rapide, ...) ?

    Là le jeu se lance. On rentre des nombres. Quand on trouve le bon, la calculette affiche gagné. Puis, le nombre de coups nécessaires pour trouver la bonne réponse.

    3/ J'ai fait un : Disp "EN", T, "COUPS". Seulement le 3 s'affiche à droite et le COUPS une ligne plus bas. Comment faire ? Sachant que la ligne n'est pas fixe car elle dépend du nombre de coups de l'utilisateur.


    Merci


    P.S. : Question subsidiaire : Est-il possible d'effacer l'écran quand le programme se quitte ? Merci
    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2007 à 19:00:20

      En effet 11TLP, il y avait plus simple :p Je connaissais pô.

      Nightmat, je l'ai pas encore utilisé, je réfléchissais à d'autres possibilités avant de me lancer ... Mais comme tu dis, en spirale on peux ouvrir des cases appartenant à une autre zone de 0 très proche ... Et jpense que c'était un peu la seule alternative :D
      Alors bon, jvais ptete m'y mettre ac ton algo ... Même si éviter de rajouter des élements déjà testés dans la liste serai quand même cool ... Parceque mine de rien le if [a](y,x) = e prend tout de même du temps et parfois inutilement ...

      Action-PSP ->

      1/Jpense ne pas trop m'avancer en disant non. A moins de reprogrammer la caltoche ...

      2/Ton Menu est fait avec Menu("Menu","Choix1",1,"Choix2",2) ou tu l'as fait avec un Getkey (comme mon précédent exemple) ou encore avec un Input ?
      Car si tu es dans la premier cas... et bien jpense que le problème se pose pas trop ... :D
      Et ensuite ca dépend comment tu l'as écrit !

      Si tu as utilisé un Input (ce qui me semble correspondre avec ton histoire de valeur par défaut N) Il suffirait de faire comme ceci :

      1. :0-> N
      2. :while N != 1 or N !=2       (Et ca autant de fois que tu as d'options dans ton menu)
      3. :Clrhome                     (Pas indispensable ... a toi de voir)
      4. :Disp "1: xxx; 2: xxx; etc"
      5. :Input "Votre Choix:",N
      6. :end
      7. :if N = 1
      8. ...
      9. :if N = 2 
      10. ...


      Enfin bref, je pense qu'il faudrait que tu précises comment il fonctionne.

      3/ Pas de solution à ma connaissance ... Mais tu peux bricoler ... Genre tu stocks dans une variable y le nombre de lignes actuellement affichées à l'écran (valeur remise à 0 lors d'un Clrhome, qui augmente de 1 ou 2 losrqu'il affiche texte/variable via Disp, et qui ne depasse pas 7 ) Alors tu fait un:

      1. :Output(y,x,"en _ coups")
      2. :Output(y,x+3,T)


      Oui, oui, je sais :D Mais j'ai bien dis que c'était du bricolage :D Et j'ai aucune autre idée là !

      Q.S: Bien sur ! Un:
      1. :Clrhome
      2. :""

      Et voila !
      Comme l'avait dit 11TLP !


      Merci, bon week-end à vous aussi !
      • Partager sur Facebook
      • Partager sur Twitter
        21 septembre 2007 à 19:24:46

        Je vais regardé vos propositions. J'en était au premier TP et n'avait donc pas vu les Menu etc qui ont l'air beaucoup mieux.

        Je pense donc repartir sur ma première base mais refaire le programme en l'optimisant (minimum de place, rapidité maxi). Je reposte quand j'ai progressé. Pourriez-vous juste me confirmer que les menu et les goto sont mieux que des input et display à gogo ?

        Pour mon code pour l'instant, c'est ça (je suis desole mais c'est les fonctions en FR) :
        1. Lbl1
        2. EffEcr
        3. 0 -> D
        4. Disp "+ ou -"
        5. Disp "1: Facile"
        6. Disp "2: Moyen"
        7. Disp "3: Difficile"
        8. Disp "4: Extreme"
        9. Disp "5: Diabolik"
        10. Input "Choix :",D
        11. If D<1 ou D>5
        12. Goto 1
        13. 0->M
        14. 100->N
        15. 0-> C
        16. 0-> A
        17. 0-> T
        18. If D=1
        19. 10->N
        20. If D=2
        21. 100->N
        22. If D=3
        23. 1000->N
        24. If D=4
        25. 10000->N
        26. If D=5
        27. 100000->N
        28. entAleat(M,N)->A
        29. EffEcr
        30. Repeat C=A
        31. Input "Nombre :",C
        32. T+1->T
        33. If C<A
        34. Disp "+ Grand"
        35. If C>A
        36. Disp "+ Petit"
        37. End
        38. Disp "Gagne"
        39. Disp "En",T,"coups"
        40. ""


        Voyez-vous d'autres améliorations que celles déjà citées (menu, ...) ? De plus, comment affiche une opération comme 15-5 = 10 sur une seul ligne, en utilisant des variables pour 15 et 5 ?

        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          21 septembre 2007 à 20:57:58

          Remplace-nous donc ca:
          1. If D=1
          2. 10->N
          3. If D=2
          4. 100->N
          5. If D=3
          6. 1000->N
          7. If D=4
          8. 10000->N
          9. If D=5
          10. 100000->N

          par ca :
          1. 10^D->N


          C'est 'ti pas plus propre, rapide, optimisé, classe tout ca ? :D

          Sinon, jpeux pas vraiment t'éclairer pour le reste ... Et puis c'est une question de bon sens et de choix personnel: si tu vois que ca va plus vite et que c'est plus simple, fait comme ca ... Mais tente toute les possibilités toi même, ca te permettra de les maitriser si jamais plus tard tu en a besoin dans un autre soft ...

          A propos des commandes en français, vous votre calculatrice est en anglais ou en français ?? Simple curiosité :p
          • Partager sur Facebook
          • Partager sur Twitter
            21 septembre 2007 à 21:03:56

            Effectivement, c'est quand même bien mieux. Seulement, si je fais un menu, avec la commande adéquate, je ne pourrais pas forcément l'utiliser.

            De plus, comment affiche une opération comme 15-5 = 10 sur une seul ligne, en utilisant des variables pour 15 et 5 (pour un autre petit projet sur le PGCD) ?

            Je vais regarder d'un peu plus près le code de mon plus ou moins et je reposterai.

            Merci

            EDIT : Ma calculatrice est en francais. Je l'ai acheté et les menus était déjà en francais. C'est un peu déroutant au début (par rapport au manuel) mais on s'y habitue et au final, c'est presque mieux (pour soi, évidemment, sur les forums, c'est un peu plus dur).

            De plus, comment affiche une opération comme 15-5 = 10 sur une seul ligne, en utilisant des variables pour 15 et 5 ?

            Je pense avoir trouvé une partie de réponse : Soit ne mettre que des output(x,1,... en incrémentant x à chaque fois que j'affiche quelque chose. Soit utiliser l'écran graphique.

            Je vais y regarder de plus près. Les output devraient pouvoir aller. Seul problème (mineur) : je suis obligé de revoir tout mon code.

            EDIT 2 : C'est bon mon code à l'air de fonctionner, quelques améliorations et le + ou - devrait etre bon.
            Pour 15-10=5 par exemple, je pense qu'il va falloir passer par du bricolage avec les output.
            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              23 septembre 2007 à 18:28:13

              Citation : action-PSP

              comment affiche une opération comme 15-5 = 10 sur une seul ligne, en utilisant des variables pour 15 et 5 (pour un autre petit projet sur le PGCD) ?



              Je ne comprend pas vraiment la question...
              Sinon, il existe une commande qui calcule le pgcd.
              Il s'agît de gcd( dans le menu MATH. Mais je suppose que ça ne répond pas à ta question... Tu pourrais donner un exemple stp ?

              Pour changer le français, il te faut l'application Français !

              Il faut télécharger "French Localization".
              Puis tu remets le langage par défaut. (L'anglais, quoi !)
              • Partager sur Facebook
              • Partager sur Twitter
              Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                23 septembre 2007 à 18:40:48

                Je sais mais je veux garder mon fr pour l'instant.

                Mon but avec le PGCD était de commencer un peu la programmation et l'algorithme (simple pour l'instant).

                La fonction PGCD renvoit le résultat brut.

                Mon but était de faire une fonction qui affiche tous les calculs intermédiaires, comme entrainement.

                Mon but est d'avoir 3 variables donc :
                A - premier nombre
                B - deuxième nombre
                C - résultat

                Et d'affiche A - B = C en remplacant par les valeurs. Puis après je prend le plus petit entre A et B et je soustrait C, et je recommence.

                J'obtiens ainsi le PGCD par la méthode des soustractions. Après je ferais de même avec la méthode euclidienne.

                Merci
                • Partager sur Facebook
                • Partager sur Twitter
                  23 septembre 2007 à 19:19:10

                  "A+B=C"
                  Donc tu as: 3 variables et 1 texte = 4 Output(), comme jt'ai montré plus haut ...

                  1. Output(y,x+1,"+ =")
                  2. Output(y,x,A)
                  3. Output(y,x+2,B)
                  4. Output(y,x+4,C)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 septembre 2007 à 18:45:48

                    Ok alors je reviens avec mes 2 programme :
                    - Premier : le PGCD par méthode des différences je rappelle le principe :
                    pour un nombre a et b :
                    a - b = x
                    On prend les deux + petits nombre et on continue les soustractions jusqu'à atteindre 0 comme résultat. Dans ce cas, le nombre qui se répète est le PGCD.

                    Problème : J'arrive à le calculer mais pas à l'afficher. En effet les outputs marchent avec des nombres à 1 chiffres mais si j'ai des nombres à plusieurs chiffres, ça se chevauche. Pour cela il faudrait que je trouve un moyen de compter le nombre de chiffres et de décaler en conséquence.

                    - Dexuième : Le petit jeu du plus ou moins :
                    Je compte les tours et à chaque fois que j'affiche une nouvelle ligne, j'incrémente une variable Y. A la fin, j'affiche avec un output vous avez gagné en _ coups.

                    Seul problème c'est que la variable Y peut valoir plus de 8, dans ce cas, j'ai le droit à un joli message d'erreur.
                    Pour cela, j'ai trouvé deux solutions :
                    - soit j'efface l'écran avant, solution bof car 'de facilité', à mon goût.
                    - soit je trouve un moyen de l'afficher, dans ce cas, quand la variable Y est égale à 8, elle repasse à 0. Ceci dit, je ne vais pas faire un test à chaque fois que j'affiche quelque chose car ça serait peut etre pas top. Enfin, je dis ça, je dis rien !!

                    De plus, peut-on faire un input à un certain endroit de l'écran ?

                    Merci

                    EDIT : Sans aller jusqu'à l'assembleur, l'utilisation de l'écran graphique pourrait-il m'aider à passer outre ces problèmes ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 septembre 2007 à 11:18:14

                      Citation : Action-PSP

                      si j'ai des nombres à plusieurs chiffres, ça se chevauche



                      Il fauf effectivement compter le nombre de chiffres dans le nombre.
                      Je pense que pour le PGCD, tu n'as que des entiers positifs ?

                      Tu peux dans ce cas utiliser la partie entière du logarythme d'un nombre, qui te donne le nombre de chiffre moins 1.

                      Citation : Action-PSP

                      Seul problème c'est que la variable Y peut valoir plus de 8, dans ce cas, j'ai le droit à un joli message d'erreur.



                      Si tu as un message d'erreur, c'est que tu utilises Output(.
                      Il existe un moyen d'effectuer un "scroll".
                      Premièrement, positionne le curseur sur la dernière ligne avec des Disp "". Comme le curseur n'a aucune influence sur la commande Output(, tu peux afficher ton texte normalement.
                      Puis si Y est égal à 8, laisse le et utilise un Disp. Ca décalera ton écran vers le haut et tu sera pret pour écrire en bas.
                      Pour le test, fais simplement
                      1. Y+(Y<8)->Y



                      Citation : Action-PSP

                      peut-on faire un input à un certain endroit de l'écran ?



                      Oui.
                      Pour la ligne, utilise des Disp, et pour les colonnes, des espaces dans le texte de l'Input.

                      A plus !



                      • Partager sur Facebook
                      • Partager sur Twitter
                      Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                        25 septembre 2007 à 12:24:31

                        Ok je vais regarder le logaritme. Je ne connais pas bien cette fonction. EDIT : effectivement, ça à l'air assez pratique et correspondre à ce que je veux. En effet, il suffit de récupérer la partie entière et d'y ajouter 1. 2ème idée, tirée du tuto TI-BASIC plus loin :

                        1. :"12345"->Str1
                        2. :length(Str1)->A
                        3. :expr(Str1)->B


                        Quel est le mieux ?

                        Pour le Y, je n'ai pas bien compris la technique. Je pense que ça serait peut etre plus simple (et pratique) de regarder combien il y a de fois 8 dans la variable.
                        Si à la fin, la variable est supérieure à 8, on soustrait 8 jusqu'à ce qu'elle soit inférieure à 8. A approfondir.

                        Pour le input, c'est bien ce que je pensais, on ne peut le placer qu'avec un "bricolage" de display et d'espaces. Je pensais qu'il existait une commande pour le placer comme pour les outputs.

                        Je vais regarder un peu tout ça et je verrais. Merci
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 septembre 2007 à 19:09:10

                          Salut !
                          J'ai une question, enfin non, deux question...
                          Tout d'abord, dans les jeux comme Snake,Casse-brique, Tetris (les grands classiques quoi), certains
                          éléments se déplacent tout seuls... Comment faire ? Sur ma Ti 82 je peux faire en sorte qu'un élement se déplace vers le haut quand j'appuie sur la touche "haut", mais comment faire pour qu'il se déplace par exemple toutes les 0,4 secondes d'une case vers le bas ? ...
                          Deuxième question :
                          Quelqu'un connaîtrait il un tutorial pour apprendre à programmer sur sa Ti en pixel par pixel ? Une partie sur ce sujet est bien présente sur ce site mais elle est vide...

                          Enfin, complément d'information, je n'ai pas très bien compris comment on pouvait créer nous même une matrice, enfin je n'ai pas compris la syntaxte qu'il fallait utiliser en fait. Quelqu'un pourrait il me donner un exemple de création de matrice ?

                          Merci d'avance !!
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 septembre 2007 à 10:42:59

                            Coté pixel par pixel, ya bien ce tuto même s'il n'est pas aussi bien car plus brut :
                            http://les83plus.free.fr/versions/2-0/basiclearn/index.html
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 septembre 2007 à 13:36:58

                              Citation : Action-PSP

                              :"12345"->Str1
                              :length(Str1)->A
                              :expr(Str1)->B



                              Cette méthode fonctionne, certes. Mais à la base, tu manipule des nombres, alors que tu définit un string dans ton code.
                              Sache que la conversion nombre->string est assez ardue ; il vaut donc mieux utiliser le logarythme, en plus c'est plus rapide !

                              1. Nombre de chiffre dans A :
                              2. iPart(log(A))+1


                              Pour le Y c'est toi qui voit. En fait je proposais d'utiliser 2 variables : une pour la ligne et une autre pour le nombre de coups. La ligne ne peut donc pas être supérieure à 8, ce qui implique un scroll à chaque incrémentation lorsqu'elle atteint cette valeur.

                              Citation : Monsterman

                              Quelqu'un pourrait il me donner un exemple de création de matrice ?



                              1. [[0,1][2,3][4,5]]->[A]


                              On aura alors [A] =
                              [0,1]
                              [2,3]
                              [4,5]

                              En clair, tu place un crochet pour l'ouverture et un pour la fermeture, puis tu définit chaque ligne de la matrice par [valeur1,valeur2,valeur3...] les unes à la suite des autres.
                              Toutes les lignes doivent posséder le même nombre de valeurs.


                              Citation : Monsterman

                              comment faire pour qu'il se déplace par exemple toutes les 0,4 secondes d'une case vers le bas ?



                              La TI-82 ne gère pas le temps. Tu dois utiliser une boucle qui définit la descente d'une pièce. Si c'est pour un tétris, tu aura normalement déjà une boucle pour gérer les commandes, tu pourra donc inclure le code dedans.

                              Je déconseille personnellement les tétris en basic ; question de rapidité...
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                                26 septembre 2007 à 15:49:32

                                Citation : Monsterman

                                Sur ma Ti 82 je peux faire en sorte qu'un élement se déplace vers le haut quand j'appuie sur la touche "haut", mais comment faire pour qu'il se déplace par exemple toutes les 0,4 secondes d'une case vers le bas ? ...
                                Deuxième question :
                                Quelqu'un connaîtrait il un tutorial pour apprendre à programmer sur sa Ti en pixel par pixel ? Une partie sur ce sujet est bien présente sur ce site mais elle est vide...

                                Enfin, complément d'information, je n'ai pas très bien compris comment on pouvait créer nous même une matrice, enfin je n'ai pas compris la syntaxte qu'il fallait utiliser en fait. Quelqu'un pourrait il me donner un exemple de création de matrice ?


                                Salut !
                                C'est vraiment tres lent la 82, pour un tetris ça va mais pour un snake ... :)
                                Sinon, pour le deplacement regulier ça donne:

                                :getkey->K
                                :if K=24:1->D
                                :if K=25:2->D
                                :if K=26:3->D
                                :if K=34:4->D
                                :if D=1:X-1->X
                                :if D=2:Y-1->Y
                                :if D=3:X+1->X
                                :if D=4:Y+1->Y

                                Citation : nightmat

                                Je déconseille personnellement les tétris en basic ; question de rapidité...



                                C'est pas parce que t'as pas reussit que ce n'est pas possible, sur 84+ j'ai du ralentir celui que j'avais crée sinon c'etait trop dur ;)

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  26 septembre 2007 à 17:51:05

                                  Et sur les 84+, on gère comment le temps ? En effet, ça pourrait être sympa de dire qu'il faut trouver le bon nombre en moins de 30 secondes.

                                  Desole mais pour le scroll, j'ai pas tout compris. Pourrait-on me l'expliquer un peu, de même que ce code :
                                  Y+(Y<8)->Y

                                  Merci
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    26 septembre 2007 à 18:05:03

                                    Citation : loko

                                    C'est pas parce que t'as pas reussit que ce n'est pas possible, sur 84+ j'ai du ralentir celui que j'avais crée sinon c'etait trop dur.



                                    En fait j'ai pas essayé, mais je parlais implicitement de la TI-82 :p

                                    Pour la gestion du temps, regarde dans le catalogue, il y a un compteur qui s'incrémente chaque seconde (C'est settimer ou un truc du genre).

                                    L'expression (Y<8) renvoie un booléen, c'est à dire 1 si l'expression est vraie, et zéro si elle est fausse.

                                    Y+(Y<8)->Y incrémentera donc Y s'il est inférieur à 8.
                                    ++
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                                      26 septembre 2007 à 18:47:07

                                      ok pour le settimer, je vais regarder. Pour Y+(Y<8)->Y, ça ne marchera que si Y est inférieur à 8, sinon, ça plantera quand même.

                                      Donc pourrait-on m'expliquer un peu le scroll (principe, etc)

                                      Merci
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        26 septembre 2007 à 23:00:18

                                        Bonjour tout le monde voila je suis nouveau sur le site (j'apprend doucement mais surement :D !!
                                        Je vais poser une question qui peu paraitre débile, mais bon....
                                        Voila je voudrai commencer la programmation sur ma TI 83 + et voila j'ai un petit problème je ne trouve pas le bouton pour afficher la virgule!
                                        Je sais cela fait crétin mais bon. Merci de vos réponse
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          27 septembre 2007 à 13:13:18

                                          Citation : Action-PSP

                                          Pour Y+(Y<8)->Y, ça ne marchera que si Y est inférieur à 8, sinon, ça plantera quand même.


                                          Pourquoi veux tu que ça plante ?!
                                          L'expression Y<8 est égale à 1 si vraie et à 0 si fausse. Tu ne fais donc qu'ajouter 0 ou 1 à Y.

                                          Après recherche, le chronomètre est accessible avec "startTmr".

                                          Citation : blaster of puppets

                                          Je vais poser une question qui peu paraitre débile, mais bon....
                                          Voila je voudrai commencer la programmation sur ma TI 83 + et voila j'ai un petit problème je ne trouve pas le bouton pour afficher la virgule!



                                          Bôh, tu sais, quand on commence toutes les questions ont l'air débile ; et heureusement sinon on aurait pas besoin d'apprendre...

                                          La virgule décimale, pour les nombres, est en fait un point. Sa touche est celle à droite du zéro, tout en bas.
                                          L'autre virgule, qui sert à séparer des arguments se trouve juste au-dessus du 7. Je pense que c'est la première qui t'intéresse mais je te les donne quand même !

                                          Citation : Action-PSP

                                          Donc pourrait-on m'expliquer un peu le scroll (principe, etc)



                                          Le scroll désigne le défilement du contenu de l'écran.
                                          Dans ton cas, tu veux avoir la dernière ligne de libre avant de rajouter du texte sur cette ligne. Donc avant de le rajouter, tu devras faire un scroll de ton écran vers le haut pour libérer la dernière ligne. La ligne 8 deviendra la ligne 7, la 7 deviendra la 6... et la première disparaitra pour laisser sa place à la seconde.
                                          Voilà le principe pour la calculette dans ton cas. (Pour le PC, un scroll est effectué lorsque tu déplace une barre de défilement...)

                                          En pratique, sache déjà que Output( n'a aucune influence sur le curseur, tu peux donc l'utiliser sans problème.
                                          Ensuite, Disp affiche du texte à la position du curseur et SAUTE UNE LIGNE.
                                          Au moment du saut, si le curseur est en bas de l'écran, il y a un scroll automatique, donc ton texte se décalera d'une ligne vers le haut.

                                          Le but est donc de placer le curseur en bas de l'écran à l'exécution du programme et d'utiliser Disp "" pour le scroll.

                                          Un petit prog t'éclairera peut-être :
                                          1. :ClrHome
                                          2. :Disp "","","","","","",""
                                          3. :Output(1,1,"A
                                          4. :Output(2,1,"B
                                          5. :Output(3,1,"C
                                          6. :Output(4,1,"D
                                          7. :Output(5,1,"E
                                          8. :Output(6,1,"F
                                          9. :Output(7,1,"G
                                          10. :Output(8,1,"H
                                          11. :Pause
                                          12. :Disp ""
                                          13. :Output(8,1,"I
                                          14. Pause


                                          Ce code est fonctionnel, recopie puis exécute le, tu devrais comprendre le truc !
                                          Le scroll de l'écran graphique n'est assez rapide pour être efficace qu'en assembleur

                                          Toujours à disposition !



                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                                            27 septembre 2007 à 18:49:52

                                            Ok. Merci pour les réponses. Je vais regarder de plus près. Je reposte dès que j'ai amélioré mon programme, autant en faire profiter tout le monde !!!
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              28 septembre 2007 à 12:03:28

                                              Ouais, t'as bien raison !

                                              J'en profite pour dire que je peux fournir des algorythmes genres édition de texte sur l'écran graphique, création de tables de vérité, conversion de nombre vers une chaîne de caractères...
                                              Ca coûte rien de demander !
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
                                                29 septembre 2007 à 19:59:46

                                                Chose promise chose due : voici mon code :
                                                1. 0->N
                                                2. 1->M
                                                3. 0->A
                                                4. 0->C
                                                5. 0->D
                                                6. 0->T
                                                7. 0->Y
                                                8. Lbl 1
                                                9. EffEcr
                                                10. Disp "+ ou -"
                                                11. Disp "Difficulté"
                                                12. Disp "1: Facile"
                                                13. Disp "2: Moyen"
                                                14. Disp "3: Difficile"
                                                15. Disp "4: Extreme"
                                                16. Disp "5: Diabolik"
                                                17. Input "CHOIX :",D
                                                18. If D>5 ou D<1
                                                19. Goto 1
                                                20. 10¨(D->N
                                                21. EffEcr
                                                22. entAleat(M,N->Z
                                                23. Repeat A=C
                                                24. Input "NOMBRE :",C
                                                25. Y+2->Y
                                                26. T+1->T
                                                27. If C>A
                                                28. Disp "+ PETIT"
                                                29. If C<A
                                                30. Disp "+ GRAND"
                                                31. End
                                                32. Y-8*partEnt(Y/8)->Y
                                                33. If Y+3>8
                                                34. Then
                                                35. EffEcr
                                                36. 1->Y
                                                37. Output(Y,1,"NOMBRE : "
                                                38. Output(Y,10,C
                                                39. Y+2->Y
                                                40. End
                                                41. Output(Y,1,""
                                                42. Output(Y+1,1,"BRAVO VS GAGNEZ")
                                                43. Output(Y+2,1,"EN   TOURS")
                                                44. Output(Y+2,4,T
                                                45. ""


                                                Quelques explications :
                                                - N = nombre maximum pour le rand
                                                - M = nombre minimum pour le rand
                                                - A = Nombre tiré au sort
                                                - C = Choix utilisateur
                                                - D = Difficulté
                                                - T = Nombre de tentatives
                                                - Y = nombre de lignes affichées à l'écran

                                                - Facile = 1 - 10, moyen = 1 - 100, etc

                                                - Il permet de jouer et affiche le nombre de coups qui ont été nécessaires à la fin.

                                                Il me reste à gèrer un système de difficulté en fonction des tentatives, et enregistrer le score.

                                                Pour le score, il faut que j'utilise une liste de 5 entrées (5 niveaux de diffiulté) + un mode graphique pour un menu plus beau et une image de démarrage plus belle.

                                                1/ Pourrait-on m'aider à déterimner un nombre de tentatives corrects pour chaque difficulté (exemple 5 tentatives pour le niveau 1, sinon perdu).
                                                2/ Est-il possible de l'améliorer / de l'optimiser ?
                                                3/ Pour l'affichage graphique, sur ce site, ils disent que pour écrire en grand caractères, il faut rajouter le paramètre -1 devant. Quand je le fais, j'obtiens une erreur de syntaxe. http://les83plus.free.fr/versions/2-0/basiclearn/tut01.html


                                                Merci

                                                P.S. : Desole pour le scroll, j'ai trouvé cette solution tout seul donc je l'ai privilégiée. Cependant, si ce n'est pas optimisé, je suis prêt à faire les optimisations nécessaires.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  29 septembre 2007 à 20:40:12

                                                  Salut tout le monde! :)

                                                  J'ai une TI-84+, et j'ai fait un programme qui permet de trouver tous les divisieurs d'un nombre.
                                                  Le problème, c'est que les diviseurs défilent trop vite pour qu'on puisse les voir, donc j'ai pensé à les sauvegarder dans une liste.
                                                  Malheuresement, j'ai pas du tout compris comment s'en servir.
                                                  Si quelqu'un pouvait m'aider, ça serai sympa :D

                                                  Merci ;)
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    29 septembre 2007 à 21:42:14

                                                    Avec une pause qui oblige l'utilisateur à appuyer sur enter pour continuer ça suffirait pas ?

                                                    Sinon, les listes c'est pas encore tout à fait de mon niveau, desole.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      30 septembre 2007 à 9:08:23

                                                      C'est pas très compliqué les listes:

                                                      Avec A qui s'incrémente à chaque nouvelle valeur trouvée,
                                                      et X la valeur trouvée à stocker:
                                                      1. :X->L1(A)


                                                      (A représente la case du tableau ou stocker la valeur. Pour recuperer une valeur en particulier, c'est pareil: L1(NumeroDeCase)


                                                      C'est vrai que c'est plus pratique de stocker que d'aretter le prgm ... Si tu en as besoin en devoir, vaux mieux laisser le pgrm tourner pendant que tu fais autre chose, que d'avoir sans cesse le nez dessus pour qu'il ne finisse son boulot.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        30 septembre 2007 à 14:55:15

                                                        Re,


                                                        Je passe à mon deuxième programme : les PGCD.

                                                        Sauriez-vous comment faire une division avec reste en utilisant autre chose que la partie entière et la partie décimale ? Sur mon ancienne casio, j'avais une fonction :R (division avec reste).

                                                        De plus, je cherche de la doc sur la génération de labyrinthes (pour éventuellement faire un programme, tout dépend de la difficulté. J'avais pensé au sudoku mais c'était assez dure au final). Si quelqu'un a des liens, n'hésitez pas. D'après ce que j'ai trouvé c'est pas si facile que ça. Je pense donc prendre un jeu plus connu mais je ne sais pas trop car je voudrais faire une petite IA (bataille navale, pierre papier ciseaux, autre).

                                                        Et toujours, les améliorations si vous en voyez.

                                                        EDIT : Je rajoute :
                                                        Pour les images, on a le droit qu'à 0-9 pour les stocker ? Parce que si je fais un programme, d'autres programmes vont peut etre les réutiliser. Comment garder une image en mémoire à vie (ou presque) pour l'afficher systématiquement au démarrage par exemple ?
                                                        Pour les listes, on peut en créer donc il suffit d'en créer une nouvelle qui a peu de chances d'etre utilisée mais pour les images ...

                                                        Merci
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          1 octobre 2007 à 8:17:49

                                                          Citation : Action-PSP

                                                          Sauriez-vous comment faire une division avec reste en utilisant autre chose que la partie entière et la partie décimale ?



                                                          Y'a une formule bien simple si tu réfléchi à la forme d'une division. Mais il faut une partie entière. On a Dividende (A) = Partie entière du résultat (C) multipliée par le diviseur (B), plus le reste (D).

                                                          Donc D = A - BiPart(A/B)

                                                          Citation : Action-PSP

                                                          Pour les images, on a le droit qu'à 0-9 pour les stocker ?


                                                          Oui, à moins d'utiliser l'assembleur qui peut convertir RAPIDEMENT une image en liste.

                                                          Citation : Action-PSP

                                                          1/ Pourrait-on m'aider à déterimner un nombre de tentatives corrects pour chaque difficulté (exemple 5 tentatives pour le niveau 1, sinon perdu).
                                                          2/ Est-il possible de l'améliorer / de l'optimiser ?
                                                          3/ Pour l'affichage graphique, sur ce site, ils disent que pour écrire en grand caractères, il faut rajouter le paramètre -1 devant. Quand je le fais, j'obtiens une erreur de syntaxe. http://les83plus.free.fr/versions/2-0/basiclearn/tut01.html



                                                          1/ Alors là c'est toi qui vois..!
                                                          2/ Pour l'optimisation ça m'a l'air bon ; et pour l'améliorer encore c'est toi qui vois. Moi perso je fais tout sur l'écran graphique.
                                                          3/ Pour écrire à n'importe quel endroit en grands caractères, il faut en effet utiliser Text( avec -1 en premier argument.
                                                          Genre
                                                          1. Text(-1,0,0,"Bonjour !

                                                          Quel est le type de l'erreur ?

                                                          ++

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.

                                                          Tout sur les TI !

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown