Page 1 of 3

Interface+jeu de couleurs RGB Python sur TI-83PCE & NumWorks

Unread postPosted: 20 Apr 2021, 12:22
by Admin
Nous te présentons régulièrement des projets fantastiques pour calculatrices couleur.

Envie de t'y mettre toi aussi ? ;)

Pour cela il te faut entre autres bien comprendre le codage des couleurs en RGB-888 utilisé dans nombre de langages dont le Python.
Ce codage décompose les couleurs en 3 composantes primaires rouge-vert-bleu, chacune codée sur 8 bits ce qui lui autorise les valeurs entières de 0 à 255.

13769Bobb, lycéen en Première, te propose un petit script Python bien sympa pour t'accompagner dans ta création de projets, et plus précisément pour choisir tes couleurs de façon interactive sur ta TI-83 Premium CE Edition Python.

Tu disposes de 3 curseurs pour les composantes rouge-vert-bleu, sélectionnables et modifiables avec les touches fléchées du clavier. Une fois que la couleur affichée te convient, tu n'as alors plus qu'à recopier les valeurs réglées dans ton code. :bj:

13770Tu n'as pas de TI-83 Premium CE mais une NumWorks ? Pas de problème, Florian Allard alias Afyu vient tout juste de t'adapter le script en question.

Il y rajoute même en prime l'appel Python permettant de construire la couleur en question, ainsi que sa représentation hexadécimale.

Petit conseil dans ce dernier cas, peut-être qu'il serait sympa de pouvoir valider la couleur choisie et alors récupérer ses valeurs dans la console Python, avec ici le gros avantage de pouvoir directement et rapidement les copier-coller de la console vers l'éditeur. ;)

13768Mais Afyu se propose même d'aller encore plus loin et de t'accompagner également de manière ludique dans ta découverte, ta compréhension et ta maîtrise du codage RGB-888.

Une deuxième version de son script est en effet un mini-jeu où tu dois reproduire aussi rapidement que possible la couleur présentée dans la moitié droite de l'écran. :D

Voyons donc voir si tu arrives à développer les bons réflexes et intuitions... ;)

Téléchargements :

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 12:56
by Afyu
critor wrote:Petit conseil dans ce dernier cas, peut-être qu'il serait sympa de pouvoir valider la couleur choisie et alors récupérer ses valeurs dans la console Python, avec ici le gros avantage de pouvoir directement et rapidement les copier-coller de la console vers l'éditeur. ;)

Et bien, c'est chose faite dans la mise à jour de 13h51. Une fois la couleur choisie, il suffit d'appuyer sur EXE ou OK (ou Entrée depuis le simulateur) pour que le code hexadécimal et le code RGB soient copiés dans la console. Un message est affiché pour confirmer que les codes ont bien été copiés dans la console. Une fois les différentes couleurs validées, il suffit d'appuyer sur la touche Retour (ou Échap depuis le simulateur) deux fois pour afficher la console et les codes des couleurs choisies.


Merci critor pour ce bel article et pour la suggestion d'amélioration ! :favorite:

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 13:06
by critor
Ah déjà ? Quelle réactivité, merci beaucoup. :D

Malheureusement, sur TI-83 Premium CE on ne peut pas avoir la même amélioration.
Il n'y a pas de touches pour copier-coller sur cette machine, ce sont uniquement les menus de bas d'écran qui le proposent, et sauf erreur de ma part ils ne le proposent que dans l'éditeur, pas dans la console.

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 13:12
by Afyu
critor wrote:Ah déjà ? Quelle réactivité, merci beaucoup. :D

Malheureusement, sur TI-83 Premium CE on ne peut pas avoir la même amélioration.
Il n'y a pas de touches pour copier-coller sur cette machine, ce sont uniquement les menus de bas d'écran qui le proposent, et sauf erreur de ma part ils ne le proposent que dans l'éditeur, pas dans la console.


Ce n'était pas grand-chose. Tout se passe lignes 44 à 48 :D

Dommage pour la TI-83 :(

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 15:57
by Bobb
critor wrote:Malheureusement, sur TI-83 Premium CE on ne peut pas avoir la même amélioration.
[…]
Dommage pour la TI-83 :(


C'était tellement buggé et lent sur la Ti-83 que j'ai dû faire le passage des couleurs de 10 en 10 :D . Bien que ça ralentirait encore le programme, je peux afficher le code RGB hexa, et je pense que l'histoire des devinettes est faisable sur la Ti.

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 16:02
by critor
Bobb wrote:C'était tellement buggé et lent sur la Ti-83 que j'ai dû faire le passage des couleurs de 10 en 10 :D . Bien que ça ralentirait encore le programme, je peux afficher le code RGB hexa, et je pense que l'histoire des devinettes est faisable sur la Ti.


J'ai vu que ce n'était pas fluide, oui, mais je n'en ai pas parlé. Car je sais que ce n'est absolument pas de ta faute. :)

Vu les lourdes limitations de la machine, il faut se montrer très malin et limiter le nombre d'appels graphiques à chaque rafraîchissement.

Peut-être que si tu acceptais de mettre les curseurs R-G-B en haut de l'écran par exemple, cela éviterait de les redessiner tous les 3 lors du changement de couleur.

Parce que si je devine bien, actuellement à chaque rafraîchissement, tu as:
  • la couleur de fond globale
  • la couleur de fond du curseur R
  • l'inscription du curseur R
  • la couleur de fond du curseur G
  • l'inscription du curseur G
  • la couleur de fond du curseur B
  • l'inscription du curseur B
Soit 7 appels de fonctions de ti_graphics.

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 16:31
by Bobb
Exactement, et c'est très lourd au niveau rapidité d'affichage. Je pense que je peux enlever les curseurs et tout simplement afficher la valeur rouge, verte ou bleue d'une couleur différente lorsque le curseur est dessus.
Comme ça quand le curseur est sur vert :
110
240
70

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 16:34
by Afyu
Bobb, j'ai tenté une adaptation de mon script pour la TI-83 PCE EP. Je ne sais pas si ça peut te servir et je ne sais même pas s'il est jouable ou même fonctionnel (faute d'avoir de quoi le tester chez moi, actuellement) mais si ça peut t'aider, alors n'hésite pas !
Ma version n'est qu'un essai, qu'on pourrait encore alléger, en particulier en réduisant le nombre d'appels aux fonctions du module ti_graphics qui posent des problèmes de lenteur, si j'ai bien compris :)

Edit : je viens déjà d'ajouter 2 parenthèses manquantes, ça commence bien...

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 16:54
by critor
Très bon début Afyu, c'est déjà presque fonctionnel, bravo tu m'impressionnes ! :bj:

Une petite erreur de syntaxe ligne 72 à corriger.

Sur TI-83 il n'y a pas de buffer distinct de la console pour les fonctions de tracé, il faut donc commencer par effacer l'écran, ou plutôt le remplir de la couleur de ton choix :
Image

Après, de petits détails :
Image

Re: Interface+jeu de couleurs RGB Python sur TI-83PCE & NumW

Unread postPosted: 20 Apr 2021, 17:03
by Bobb
Ok je prendrais ton fichier et je l'adapterais pour ti-83. Je ne peux pas trop le faire maintenant car je n'ai plus ma calculatrice, mais je le ferais dès que possible :).
Pas grand chose à voir mais j'ai entendu dire que sur NumWorks on pouvait lire et écrire dans des listes de la calculatrice depuis des programmes python. Si il n'est pas possible d'écrire des chaînes de caractères dans ces listes, alors je peux te passer un module python qui permet de contourner ce problème en convertissant des caractères en nombres de manière optmisée (4 caractères par nombre). Peut-être pourrais-tu adapter ce module ?