Partage

Tout sur les TI !

Besoin d'aide ?

17 novembre 2013 à 18:35:26

Heu... tu te trompes au niveau des codeTouche: flèche du haut c'est 25, gauche 24, droite 26 et bas 34.

Et plutot que de faire:

If K=25

Y+1->1

If K=34

Y-1->1

Tu peux faire (en utilisant les booléens : http://tout82.free.fr/forum/sujet.php?sujet=2741 )

Y+(K=25)-(K=34->Y

Et si tu veux tu peux aussi poser des limites à la valeur de Y en utilisant les fonctions min et max:

Pour limiter Y entre 1 et 8:

min(8,max(1,Y+(K=25)-(K=34->Y

Et pareil pour X vaisseau.

Si tu as besoin d’éclaircissements ;)

18 novembre 2013 à 12:33:58

Ok !!

j'ai compris merci, je vais me concentrer sur les graphismes maintenent.

le faite de passer en pixel est-ce que tu crois que ça va ralentir le jeu ?

21 novembre 2013 à 13:49:17

moi je pense que ça devrait plutôt l'accélerer
Yes we can!
Anonyme
21 novembre 2013 à 13:57:20

efi007 a écrit:

moi je pense que ça devrait plutôt l'accélerer

Bah ça dépend. Tracer une ligne avec la fonction prévue pour est bien plus rapide que d'afficher la ligne pixel par pixel. Le traitement au niveau du pixel est le plus fin, mais c'est également le plus lent...

21 novembre 2013 à 20:31:33

Si tu veux un affichage pixels par pixels, ça va ralentir considérablement.

Après si tu te contentes d'utiliser la fonction Text pour afficher des lettres qui représentent les perso, c'est déjà plus abordable niveau vitesse.

Il faudra adapter la détection de collisions aussi.

17 mai 2014 à 21:33:02

[AXE PARSER]

Bonsoir, je m'intéresse à l'Axe, et début du cour dédier à ce langage, les shells sont évoqués très brèvement, j'aurais besoin de plus d'informations:

- Est-ce que les shells Ion, Mirage OS et Doors CS sont déjà intégrés dans les TI?

- Quels sont les avantages et inconvénients des différents shell? (Sinon quel intérêt qu'il y en ait plusieurs si le résultat est exactement le même?)

- Si un programme compilé pour un shell est directement exécutable depuis le menu des programmes, quel(s) intérêt(s) de faire compiler le programme sans shell (on se retrouve encombré avec la fonction "asm("... )?

17 mai 2014 à 23:24:22

Non, les shell sont développés par des programmeurs qui ne font pas parti de TI, et donc sont à télécharger sur le net (tu peux les trouver sur des forums comme ti planet (francophone), cemetch (anglophone), ti calc, etc (ou une simple recherche google).

Certains shell nécessitent d'être installés (ion), d'autres pas, certains présentent plus ou moins de fonctionnalités... Après quand à l'intérêt dans avoir plusieurs: sur ta calto installe en qu'un seul (risque possible de conflit sinon), mais après c'est comme si je te demandais l'intérêt d'avoir plusieurs marques de voitures alors qu'au final c'est la même chose...

Bah justement l'intérêt des shell c'est de ne pas s'encombrer avec la fonction asm(), de gagner en mémoire etc (tu prends le problème à l'envers: la fonction asm() existe nativement, et les shell sont une extension qui permet de faire plus de choses, mais qui nécessitent d'être téléchargés.

18 mai 2014 à 14:17:29

Ah bé mince, du coup j'hésite encore beaucoup à me mettre à l'Axe...
18 mai 2014 à 17:21:23

L'Axe Parser (le logiciel que tu installe sur ta ti pour coder en Axe), te permet de compiler soit en noshell (pour créer un prgm qui se lancera sans shell, avec la commande asm()), soit pour un shell (au choix).

Donc je ne comprends pas pourquoi ça te freine dans ton apprentissage de l'Axe, vu que tu peux en utiliser ou pas.

18 mai 2014 à 18:39:48

Ben... le client est roi! ; si on créé un jeu, c'est évidemment pour qu'il soit joué.  ^^

La plus grande majorité des utilisateur de calculatrice TI sont les lycéens, de la seconde à la terminale. Et la plus grande majorité d'entre eux n'ont aucune notion de programmation, de bibliothèque, de shell, de la fonction asm(), etc.

Dans leur mentalité, un programme dans la calculette doit se lancer directement et sans contrainte, via le menu des programmes ; si le programme affiche un message d'erreur, ils le laisseront tomber, ils n'iront pas chercher plus loin.

Donc du coup, pour faire un programme qui fonctionne à coup sûr au démarrage, il y a le TI Basic (mais bon on connaît les inconvénients, ça peut devenir chiant), après je pensais avoir de nouveaux espoirs avec l'Axe en pensant qu'il pouvait y avoir un shell prédéfini dans les TI (dommage...), sinon la dernière solution à laquelle je pense est le langage Grammer, en mettant au tout début du programme des lignes en TI Basic pour afficher un message d'avertissement du style : "Attention, vous devez munir votre calculette de l'application Grammer, sans quoi le jeu ne pourra pas démarrer".

Bref, je pense qu'il n'y a pas d'intérêt d'apprendre tout un langage si on est sûr de ne jamais atteindre ses objectifs (à bon entendeur ^^).

-
Edité par XOR_ 18 mai 2014 à 18:41:55

18 mai 2014 à 19:35:27

He bien il n'y a pas de problème à ça:

Certains shell permettent aux programmes de se lancer directement (en fait ce qu'il se passe c'est que tu lance le prgm, celui ci va lancer le shell, le shell va regarder quel était le prgm appelant, et exécuter le code héxa qui suit). (mais il faut que les prgm soient configurés pour lancer le shell et je ne sais pas si l'Axe Parser le fait où pas, donc c'est à confirmer)

Dans le cas où tu es en no shell, tu passe 2 prgm: le prgm qui contient le code en Axe compilé, et un autre programme qui va lancer le prgm Axe, et qui ne contiendra donc que l'instruction: asm(prgmNOM)

Après, dans le cas où le prgm est configuré pour être lancé depuis le shell et non pas l'appeler, demander à l'utilisateur d'utiliser un shell (pour peu qu'il ne demande pas à s'installer), ce n'est pas trèèès compliqué non plus: "Pour jouer, lance le prgm A (ou autre ça dépend du shell), et sélectionne le jeu NOM DU JEU dans la liste de prgm qui apparait". Ça tiens en une ligne dans le readme. Tu distribue le shell en même temps que le prgm est le tour est joué.

Concernant:

"Ben... le client est roi! ; si on créé un jeu, c'est évidemment pour qu'il soit joué."

Je ne suis pas entièrement d'accord: si je code, c'est avant tout par passion, et par plaisir. Je code avant tout pour moi, et ensuite si les autres peuvent en profiter, bah tant mieux. Sinon je code sous contrainte, ce n'est pas productif.

Certes j'aime autant que des gens se servent de mes prgm, mais je ne vais pas abandonner un langage puissant, et intéressant, sous le prétexte que l'utilisateur lambda est débile et ne saura pas lancer un simple prgm, alors que je lui aurait dit lequel dans le readme.

-
Edité par m@thieu41 18 mai 2014 à 19:38:06

18 mai 2014 à 21:12:45

Bon d'abord je vais parler de nos points de vues pour éviter des mal-entendus (ce n'est pas mon intérêt):

On va imaginer que nous somme des vendeurs d'automobiles:

- toi serais plutôt un vendeur de grosses voitures de luxes très puissantes, mais qui ne sont parlantes qu'à ceux qui ont les moyens de s'en acheter (dis-moi si jamais je me trompe)

- moi serais plutôt un vendeur de voitures simplistes, mais qui restent efficaces et qui se propagent vite chez les civils.

Pour faire le lien avec nos programmes, c'est pareil : tes programmes ne sont parlant qu'à ceux qui savent ce que sont les shell, ou qui sont  conscient de l'existence de la fonction asm() (soit une minorité). Après tes jeux sont sans aucun doute de très très bonne qualité, là je ne dit pas l'inverse! :lol:. Moi je programme aussi pour le plus grand plaisir, mais j'ai envie de partager ce bonheur à tout le monde, faire profiter un maximum de monde. Mon idéal, c'est que mes jeux restent simples et efficaces, à la porté de tous! Pour que le travail soit propre, il est important de se fixer des limites, mais sans contrainte! Et après ça reste très productif, vu qu'il y a un objectif, un but très précis : faire plaisir aux maximum les joueurs. La seule difficulté est de trouver des stratagèmes pour contourner les problèmes, mais après tout, c'est ça qu'est amusant :)

Pour en revenir sur le sujet :

Je me souviens qu'au lycée, on n'allait pas toujours chercher les jeux sur internet, on se les échangeait surtout avec le cable link ; Dans la mentalité des lycéens non programmeur, 1 jeu=1 programme, ils n'ont pas la notion d'envoyer 2 ou 3 programmes et 1 ou 2 images, tout ça pour 1 jeu...Donc la solution : tout faire en un seul et même programme (je tient vraiment à être le plus efficace, il faut atteindre l'objectif jusqu'au bout). Donc la solution de faire 2 programmes ne me parait pas être la meilleur.

Après le ReadMe c'est vrai, j'y avais pensé...sauf que si on fait l'échange du programme par 2 calculatrices reliées par câble, évidemment on n'aura pas le ReadMe...

Du coup le langage Grammer avec le message d'avertissement en TI-Basic au début du programme reste la seule solution pour moi... Bon après tout ça ne me gêne pas, Grammer reste quand même un très bon langage.

(PS : je trouve un peu égoïste de ta part de dire "je programme des jeux que pour mon bonheur personnel, et les autres c'est tanpis pour eux", nous sommes fait avons tout pour le bonheur des autres, avant notre propre bonheur perso)

19 mai 2014 à 17:44:45

Je suis d'accord avec toi sur certains points, mais j'ai quelques objections ^^

Déjà je ne programme pas en Axe, un peu en asm, mais essentiellement en ti basic.

Tout simplement parce que j'ai une ti 82stats.fr, et donc je ne peux pas programmer en Axe (ou du moins pas exploiter ce que je fais), alors que le ti basic est à ma portée sur ma calto (en cours éventuellement). L'asm c'est compliqué, donc généralement j'ai du mal à aboutir mes projets, et ça nécessite que je sois sur l'ordi.

Après il ne faut pas se leurrer non plus: si ton but c'est de faire de super programmes ou du moins des programmes utilisés par un max de joueurs... Ne programme pas sur TI :lol:: les programmes de jeu sur ti sont tellement nombreux que seul un petit nombre de personnes vont s'intéresser au tien.

D'ailleurs quand tu dis qu'au lycée on ne va pas chercher les jeux sur internet: c'est vrai mais... celui qui va les chercher (à l'origine de l'échange par cable ti-ti), aura accès à pleins de sites proposant des prgm, dont certains sont vraiment impressionnant. Qu'est ce qu'il va faire? Il va prendre des classiques (snake, space invaders, pacman...), et ceux avec les screen shoot les plus attrayants. Or, le plus souvent, ce ne sont pas des prgm en TI Basic, mais ceux en Asm/Axe. Il va les télécharger, voir qu'il y a 2 prgm (mais le readme l'aura prévenu de transférer les 2 s'il veut le passer sur une autre calto, et lequel lancer). Donc l'info circulera, et ceux qui voudront le jeu (je pense pas plus de 4-5 par classe) sauront ensuite qu'ils ont 2 prgm à transférer.

Et je dis ça d'après mon expérience personnelle: tout le monde sait que je programme dans la classe, et les seuls programme que j'ai vu sur des caltos (TI 82stats.fr) de ma classe étaient soit des prgm en Asm, hyper fluides donc MAIS nécessitant un shell (de mémoir Vénus il me semble), soit des programmes de cours fait "à l'arrache" en rentrant les formules directement dans le prgm qu'il faut ouvrir en édition, soit mes prgm (mais peu de personnes y jouent je pense), soit des prgm des 2 autres personnes dans la classe qui programment (mais ils sont moins bons en programmation, et gardent généralement leurs prgm pour eux).

Dans le cas d'un programme en ti basic, la vitesse et/ou les graphismes peu attrayant (on peut faire de belles choses je dis pas mais pas des trucs exceptionnel à cause des limitations de vitesse) feront que le prgm ne sera pas transféré par beaucoup de personnes, quelle que soit la facilité de transfert.

Au final, peu de monde utilisera ton programme.

Ensuite, en réponse à ton PS: tu déformes mes propos, ce serait plutôt: "je programme des jeux pour mon bonheur personnel, et si ça peut servir aux autres, je n'en suis que plus heureux, maintenant s'ils ne sont pas fichu de transférer un prgm de plus pour les lancer, bah je vais pas pleurer pour eux non plus".

Je peux te donner des chiffres plus précis si tu veux: j'ai fait un snake en asm, pour TI 83/83+ que j'ai posté sur tout82. Il a été téléchargé 125 fois en 83P, et 14 fois en 8XP (normal c'est un site de 83). Ion, que mon prgm utilise, a été téléchargé 44 fois en 83P et 21 en 8XP (o_O) depuis l'hébergeur que j'ai proposé sur mon post. A côté de ça, mes jeux en Ti Basic ont été téléchargés une dizaine de fois en moyenne. Il n'y a pas photo ^^. Après tu peux les poster sur des forums plus connus, mais la réputation avec les autres prgm sera plus importante.

Si tu vises vraiment le nombre d'utilisation avec un prgm en ti basic, fais des prgm de maths/physique, ils rencontreront beaucoup de succès.

-
Edité par m@thieu41 19 mai 2014 à 17:51:46

19 mai 2014 à 22:26:36

Oui là c'est vrai, je suis assé d'accord avec toi pour quasiment tout ce que tu as dit ;

Après, là où que ça devient amusant, c'est de trouver des stratagèmes pour contourner les problèmes : le TI-Basic est extrêmement lent, et le principal avantage de l'assembleur c'est justement la vitesse... La solution? Faire des jeux en TI-Basic qui ne jouent pas sur la vitesse! (essentiellement des jeux de réflexion comme le démineur ou le 2048). Et ce genre de programmes restent aussi attractifs que les jeux qui misent sur la vitesse en assembleur.

(Après excuse-moi pour le PS, autant pour moi :honte:)

Bon, c'était une bonne conversation avec toi ^^ (dire qu'à la base c'était juste pour savoir s'il y avait des shells déjà configurés sur calculette ^^)

-
Edité par XOR_ 19 mai 2014 à 22:27:51

20 mai 2014 à 17:32:20

Oui c'est sûr il faut viser sur des programmes spécifiques. Le problème de ceux que tu as cité c'est qu'il y a un long temps de chargement (gestion des bombes et des numéros dans les cases pour le démineur, et gestion de la pseudo-gravité et des ajouts entre 2 blocs pour un 2048). J'ai programmé les 2 programmes en ti basic, ça passe pour le démineur (un petit écran de chargement pendant la création de la carte pour mieux faire patienter), puisque après une fois que c'est chargé c'est relativement rapide à jouer, mais le 2048 est beaucoup trop lent (d'ailleurs tous ceux à qui je l'ai fait tester m'ont fait cette remarque). mais il reste des programmes sympa qu'on peut faire en ti basic quand même ^^.

C'est toujours un plaisir de discuter :)

12 juin 2014 à 10:03:43

Salut tout le monde,
Est-ce que quelqu'un saurait m'expliquer comment fonctionne le port usb d'une ti 84 plus SE en ASM, ou alors est ce que quelqu'un pourrait me donner un lien vers un tuto qui l'explique, mais en français de préférence. J'ai cherché mais sans succès... :(
Mon but serait en fait de pouvoir injecter du courant ou non dans les différents fils, et de pouvoir aussi savoir si du courant passe dans l'un des fils, de la même manière que sur le port jack.
Si quelqu'un sait comment faire, je ne demande que son aide!
27 juin 2014 à 13:06:09

Bonjour,

Je pense que tu auras plus de chance d'avoir une réponse en posant ta question sur TI Planet par exemple (forum francophone toutes TI).

-
Edité par m@thieu41 28 juin 2014 à 15:32:53

27 juin 2014 à 19:26:45

Merci beaucoup pour le conseil, parce que  là, je commençais à perdre espoir... Mais maintenant j'espère toujours!

11 décembre 2016 à 19:55:35

Bonsoir !

J'ai une question très importante a poser, et en même même un rapport de bug. Pour Résumer, j'essaye de programmer un Algorithme sur une TI-82 stats.fr permettant de convertir un nombre décimal entier positif en code binaire ; mon programme est déjà sur papier et fonctionnel, je n'ai pas besoin d'aide sur ce point-là. Or, pour ce faire, il me faut utiliser par exemple : 

"IF 15 supérieur ou égal à X supérieur ou égal à 8"

Malheureusement, la calculatrice ne détecte que les encadrements sous la forme "X > ou < 0", et ne peut détecter un encadrement avec deux décimaux ... 

Comment feriez-vous pour contourner ce problème ? Merci davance ! ^^

11 décembre 2016 à 20:19:04

Il faut le faire en deux étapes : IF X inférieur ou égal à 15 ET X supérieur ou égal à 8.

Par contre, je suis un peu surpris que tu aies besoin de faire une telle condition, je suis à peu près persuadé que tu peux faire ça autrement et de façon beaucoup plus générale. Si tu postes ton code, je pense que certains pourraient te donner des conseils. :)

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