π
<-

News 2024
October (12)
August (9)
July (10)
June (20)
May (14)
April (16)
March (7)
January (20)

News 2023
October (19)
August (14)
July (13)
June (21)
May (29)
April (24)
March (24)
January (24)

News 2022
October (23)
August (14)
July (15)
June (17)
May (31)
April (27)
March (28)
January (34)

News 2021
October (24)
August (37)
July (50)
June (32)
May (48)
April (61)
March (35)
January (34)

News 2020
October (17)
August (43)
July (43)
June (45)
May (60)
April (78)
March (36)
January (39)

News 2019
October (13)
August (18)
July (23)
June (28)
May (31)
April (26)
March (38)
January (37)

News 2018
October (13)
August (32)
July (23)
June (64)
May (63)
April (45)
March (43)
January (45)

News 2017
October (26)
August (39)
July (52)
June (88)
May (51)
April (43)
March (37)
January (33)

News 2016
October (25)
August (42)
July (34)
June (109)
May (55)
April (34)
March (37)
January (24)

News 2015
October (22)
August (56)
July (22)
June (94)
May (56)
April (32)
March (40)
January (21)

News 2014
October (26)
August (18)
July (23)
June (101)
May (57)
April (59)
March (54)
January (31)

News 2013
October (67)
August (50)
July (43)
June (193)
May (93)
April (102)
March (45)
January (50)

News 2012
October (64)
August (63)
July (53)
June (132)
May (88)
April (73)
March (57)
January (58)

News 2011
October (56)
August (31)
July (27)
June (71)
May (61)
April (32)
March (36)
January (24)

News 2010
October (11)
August (8)
July (14)
June (10)
May (3)
April (3)
March (1)

News 2009
August (3)
July (1)
June (2)
May (1)
April (2)
March (1)

Animation Radar Python pour Casio/NumWorks/TI via PPN

New postby critor » 10 May 2020, 10:38

Chaque constructeur de calculatrices a choisi de fabriquer sa propre bibliothèque permettant de contrôler directement les pixels de l'écran.
  • kandinsky sur NumWorks
  • casioplot sur Casio Graph 90/35+E II
  • ti_graphics sur TI-83 Premium CE Edition Python

C'est à dire que quand tu choisis de développer un script Python pour l'une de ces 3 bibliothèques, il sera alors incompatible avec tous les autres modèles. :'(
A moins de t'embêter à publier une édition différente de ton script pour chaque modèle existant ou à venir...

A vous lire vous êtes nombreux à déplorer cette situation sur notre site ainsi que sur les réseaux sociaux, aussi bien lycéens qu'étudiants ou enseignants.

Nous le regrettons également, nous aurions préféré que les constructeurs adoptent au choix :
  • un standard
  • ou alors des spécifications compatibles avec la première bibliothèque sortie sur calculatrice (kandinsky)
  • ou sinon se mettent d'accord sur des spécifications communes à l'avenir

Mais voici aujourd'hui une solution que nous t'avons concoctée, PPN, pour PolyPyNet (abrégé du français PolyPythonnettes), une bibliothèque pour les unifier toutes ! :D

Non non, il ne s'agit absolument pas d'une bibliothèque graphique supplémentaire. :p

C'est en fait une bibliothèque de compatibilité. C'est ultra simple à utiliser pour toi, que tu sois utilisateur ou développeur :
  • Utilisateur, il te suffit de charger les fichiers de PPN sur ta calculatrice et c'est tout, plus besoin de t'en occuper. :bj:
  • Développeur, tu as juste à remplacer le nom de module constructeur dans tes lignes d'importation par ppn et c'est tout, rien d'autre à changer dans ton script, tu continues à coder avec les fonctions de ta bibliothèque graphique préférée, que ce soit casioplot, kandinsky ou ti_graphics. :bj:
PPN te permettra même d'exécuter tes scripts graphique Python pour calculatrices sur ton ordinateur avec tkinter ! :bj:

Enfin pour t'offrir un maximum de liberté, tu peux aussi bien distribuer la bibliothèque PPN avec tes propres scripts, qu'inviter tes utilisateurs à aller la récupérer séparément. :)

Nous allons t'illustrer cela avec un exemple de suite. Voici une animation de radar codée en Python par Dark Storm pour Casio Graph 90+E.

Codé à l'occasion du concours de démo graphiques en Python par Planète Casio.

Un script a priori assez conséquent de près de 5K.

12509Et bien il suffit de remplacer comme indiqué les lignes d'importation from casioplot import ... par from ppn import ..., et ça marche direct sur tous les autres modèles couleur NumWorks, TI-83 Premium CE Edition Python et TI-Nspire Ndless ! :bj:


Certes les définitions d'écran sont différentes et tout ne peut pas être adapté automatiquement. Mais si tu codes pour la bibliothèque PPN tu pourras récupérer automatiquement les dimensions de l'écran de la plateforme exécutant ton script en appelant après importation les variables ppn_w et ppn_h, et en tenir compte.

Mais à ce détail près, c'est quand même impressionnant d'avoir un script aussi conséquent qui tourne sur toutes les machines après s'être seulement donné la peine de changer une simple ligne d'importation ! :bj:



Parlons un petit peu performances. Précisons que les scripts utilisant PPN ne permettent pas de réaliser de classement pertinent. En effet, un même appel graphique n'est en interne pas exécuté de la même façon selon le modèle utilisé :
  • redirection directe vers la fonction graphique constructeur si le script est exécuté sur la plateforme pour laquelle il a été initialement développé
  • passer à travers une ou plusieurs fonctions de compatibilité si le script est exécuté sur une autre plateforme que celle pour laquelle il a été initialement développé
C'est-à-dire qu'ici la Casio Graph 90+E est privilégiée.

Mais ce n'est pas une raison pour ne pas te dire ce que ça donne, pour 1 tour de radar complet :
  1. 3.2754s: NumWorks N0110 (firmware tiers Omega)
  2. 3.4296s : NumWorks N0100
  3. 3.5284s : NumWorks N0110
  4. 3.6286s : NumWorks N0100 (firmware tiers Omega)
  5. 6.499s : Graph 90+E
  6. 7.412s : TI-Nspire CX CR3-
  7. 9.703s : TI-Nspire CX CR4+
  8. 41min08.685s : TI-83 Premium CE Edition Python (lire plus bas pour des détails)

On retrouve le problème déjà évoqué pour la TI-83 Premium CE Edition Python, à savoir que le Python tourne sur un coprocesseur, et que toute instruction graphique doit donc transiter par le processeur principal avant d'atteindre l'écran, ce qui génère une latence à chaque appel graphique. :'(
Comme ici l'animation du radar travaille avec des boucles de set_pixel, le code équivalent est sans surprise catastrophique sur TI-83 Premium CE Edition Python.

Texas Instruments fournit heureusement une solution exclusive avec des fonctions de tracé de divers primitives et formes géométriques (lignes, polygones...), qui pourraient avantageusement être utilisées ici, permettant de regrouper en un seul appel graphique des transformations de plusieurs et même plein de pixels. :)

Mais voilà, cela nécessiterait à la différence une conversion manuelle du code, faite plus bas sur ce topic pour comparer, mais qui s'éloigne du thème de la compatibilité automatique sans effort que nous souhaitions traiter ici.

Téléchargements :

Crédits images :

Super Mario Bros 2, remake mondes 1 à 8 pour Oiram CE !

New postby critor » 10 May 2020, 18:45

En 1985 sortait le jeu Super Mario Bros sur console Nintendo NES, plus connue au japon sous le nom de Nintendo Famicom. Le jeu Super Mario Bros 3 qui débarque en occident en 1990 est très différent mais n'en reste pas moins une évolution; il reprend et respecte les codes essentiels instaurés par le 1er opus.

Mais entre temps il y a eu comme tu peux le deviner un Super Mario Bros 2, un jeu qui fait tâche dans la série avec un gameplay qui est totalement différent.

Et en effet, il y a eu 2 jeux Super Mario Bros 2 qui n'ont absolument rien à voir entre eux :
  • un pour le Japon en 1986
  • et un pour l'Europe et l'Amérique du Nord en 1988
Le faux Super Mario Bros 2 de 1988 n'est en fait qu'un sprite-replacement d'un autre jeu, Doki Doki Panic, sorti en 1987 pour le lecteur de disquettes Nintendo Famicom.

Super Mario Bros 2 de 1986, véritable suite de Super Mario Bros, est en fait très difficile, du moins significativement plus que le 1er opus. Dans le contexte encore récent du krach du jeu vidéo de 1983, Nintendo avait eu peur que la difficulté ne rebute les joueurs et risque de couler la licence de son personnage mascotte, préférant donc nous sortir un remaquillage à la Mario d'un autre jeu sans aucun rapport.

Le Super Mario Bros 2 de 1986 est beaucoup plus proche du 1er opus que de Super Mario Bros 3. Il en étend très légèrement le gameplay avec notamment l'ajout d'anti-bonus (champignon vénéneux), de boulets de canon à tête chercheuse, ainsi que du vent dans certaines zones des niveaux.

Précisons que le véritable Super Mario Bros 2 débarquera enfin en occident en 1993 sur la console de jeux suivante Nintendo Super NES, plus précisément en tant qu'un des 4 jeux sélectionnables dans Super Mario All-Stars : Super Mario Bros The Lost Levels.

Dans un article précédent Dabmaster_Arush te sortait un remake intégral de Super Mario Bros pour Oiram CE, le moteur de jeu Mario-like sorti en 2017 par MateoConLechuga pour ta superbe TI-83 Premium CE.

Un projet qui pouvait paraître a priori non évident car Oiram CE s'inspire très fortement du gameplay de Super Mario Bros 3, très différent de celui du Super Mario Bros initial. Cela impliquait notamment de reproduire le 1er avec les seules sprites ci-contre. :#roll#:

Dabmaster_Arush en est sorti victorieux avec une reproduction quasiment au bloc près de l'original, et diverses adaptations en respectant le gameplay lorsqu'il n'y avait pas d'équivalent disponible. :bj:

12495Aujourd'hui Dabmaster_Arush poursuit son oeuvre méticuleuse avec un remake de Super Mario Bros 2, le vrai de 1986 ! :bj:

Plus précisément, il s'agit ici des mondes 1 à 8 de la 1ère quête, ce qui nous donne donc 8×4=32 niveaux l'un des plus gros packs jamais créés pour Oiram CE.

Un travail une fois de plus exceptionnel comme tu vas pouvoir le vérifier de suite. :D

1er des 8 mondes de ta 1ère aventure au Royaume Champignon. Au menu :
  • 1er niveau sur la terre ferme
  • 2ème niveau sous-terrain
  • 3ème niveau de plateformes dans une forêt de champignons géants
  • 4ème niveau avec le château

Quand on te dit que la difficulté de Super Mario Bros 2 était mal dosée pour un jeu grand public... Premiers pas, et déjà première rencontre d'un bloc faisant jaillir un champignon vénéneux, piège mortel dans lequel tous les nouveaux joueurs ont dû tomber. La couleur est annoncée... :bat:
On remplace le mythique drapeau n'existant plus dans Super Mario Bros 3

Une fois de plus dans le respect de l'oeuvre d'origine, les warp zones sont reproduites mais non fonctionnelles, cet élément de gameplay étant absent dans Oiram CE.


2ème monde ici plongé dans la nuit avec :
  • 1er + 2ème niveaux sur la terre ferme
  • 3ème niveau en bord de mer
  • 4ème niveau avec le château
Oiram CE ne gérant pas de découpage des packs en différents mondes, ces niveaux t'y seront ici accessibles sous les numéros 5 à 8.




3ème monde ici enneigé, avec :
  • 1er niveau sur la terre ferme
  • 2ème niveau aquatique
  • 3ème niveau de plateformes en forêt de champignons géants
  • 4ème niveau avec le château
Les niveaux correspondants sont ici numérotés 9 à 12 dans Oiram CE.

Toutefois les éléments de fond d'écran n'existe pas en version enneignéek, donc pas de neige ici.



Un château labyrinthe où tu recommences en boucle au début si tu n'enchaînes pas les plateformes dans le bon ordre, élément de gameplay n'existant pas dans Oiram CE mais auquel il est rendu hommage avec l'ajout de blocs infranchissables qui te forceront à emprunter le chemin de l'original. ;)

4ème monde :
  • 1er + 2ème niveaux sur la terre ferme
  • 3ème niveau de plateformes dans une forêt de champignons géants
  • 4ème niveau avec le château
Les niveaux équivalents seront ici numérotés 13 à 16 dans Oiram CE.




5ème monde qui reprend le découpage du 3ème monde mais cette fois-ci en plein jour :
  • 1er niveau sur la terre ferme
  • 2ème niveau sous-terrain
  • 3ème niveau de plateformes dans une forêt de champignons géants
  • 4ème niveau avec le château
Les niveaux correspondants sont ici numérotés 17 à 20 dans Oiram CE.




6ème monde avec au programme :
  • 1er niveau sur la terre ferme
  • 2ème niveau sous-marin
  • 3ème niveau en bord de mer
  • 4ème niveau avec le château
Les niveaux correspondants seront numérotés 21 à 24 dans Oiram CE.

Premier niveau où tu aurais du rencontrer une belle bourasque, mais cet élément de gameplay absent de Super Mario Bros 3 n'est donc pas présent non plus dans Oiram CE.



7ème monde qui reprend l'organisation du 2ème monde :
  • 1er + 2ème niveaux sur la terre ferme
  • 3ème niveau en forêt de champignons géants
  • 4ème niveau avec le château
Les niveaux correspondants sont numérotés 25 à 28 dans Oiram CE.



Un niveau tellement long que Dabmaster_Arush est ici obligé de le scinder sur 2 étages. Attention au timer... :p

Enfin 8ème monde de ta 1ère aventure, avec une organisation inédite :
  • 1er + 2ème niveaux sur la terre ferme
  • 3ème dans les nuages
  • 4ème niveau avec le château
Les niveaux correspondants sont ici numérotés 29 à 32.




Oiram CE, un des avantages les plus exclusifs et remarquables de ta TI-83 Premium CE sur la concurrence ! :bj:

Mais que serait ta TI-83 Premium CE sans Oiram CE ? :p

Téléchargements :
Crédits images : cartes Super Mario Bros 2

1er watercooling TI-84 Plus par Linus Tech Tips

New postby critor » 11 May 2020, 09:01

Mario / Oiram, Geometry Dash, Portal, Minecraft, Doom, ... le gaming sur calculatrices graphiques, ça fait chauffer le processeur. Peut-être l'as-tu déjà remarqué, particulièrement si tu disposes d'un modèle à batterie plus fin que les modèles à piles, avec donc la face arrière au plus proche des composants.

En pratique ce n'est pas bien gênant, les calculatrices Texas Instruments sont de conception très robuste afin d'affronter le contexte scolaire hostile, garanties 3 ans soit au moins toute une scolarité de lycée tellement le constructeur a confiance en ses produits, et nous en avons plein qui ne sont plus sous garantie depuis des années et continuent pourtant à fonctionner nickel chrome.

Donc juste pour le défi, Linus Tech Tips a monté le tout premier système de refroidissement liquide pour une calculatrice graphique, la TI-84 Plus.

Précisons que c'est également applicable au modèle contemporain TI-82 Advanced qui reprend le même boîtier et la même organisation de carte électronique.

Sauf que la TI-82 Advanced ne risque pas de chauffer, puisque bien qu'héritant de la TI-84 Plus la gestion des programmes et notamment jeux en langage machine en a été supprimée. :p

Vivement donc une adaptation de cette méthode à la TI-83 Premium CE qui elle a la chance d'être le dernier modèle à encore gérer les programmes tiers en langage machine. ;)



Source : https://twitter.com/LinusTech/status/12 ... 9637775360

Présentation vidéo Python TI-Nspire CX II : 13 Mai 18h30

New postby critor » 11 May 2020, 09:20

Texas Instruments ne travaille pas que sur la TI-83 Premium CE Edition Python. Nous en parlons moins car c'est moins imminent, mais pour la rentrée 2020 une mise à jour gratuite rajoutera également le Python à la TI-Nspire CX II. :D

Cette première solution Python sur une calculatrice haut de gamme sera-t-elle justement à la hauteur ? ;)

Texas Instruments t'invite à venir te faire ta propre idée lors d'une présentation vidéo en avant-première ce Mercredi 13 Mai, de 18h30 à 20h.

Ton hôte sera cette fois-ci Kacimi Boubakeur, professeur de mathématiques en Basse-Normandie et également formateur pour l'équipe T3 de Texas Instruments.

Inscription : https://tiedtech.webex.com/mw3300/myweb ... &service=6

Afficheur d'image Python pour Casio/Nspire via PolyPyNet

New postby critor » 11 May 2020, 09:28

Chaque constructeur de calculatrices a choisi de fabriquer sa propre bibliothèque permettant de contrôler directement les pixels de l'écran, bien évidemment incompatible avec toutes les autres :
  • kandinsky sur NumWorks
  • casioplot sur Casio Graph 90/35+E II
  • ti_graphics sur TI-83 Premium CE Edition Python

Nous te présentions dans dans un article précédent notre propre bibliothèque PolyPyNet résolvant ce problème.

Non non, il ne s'agit absolument pas d'une 4ème bibliothèque graphique supplémentaire à apprendre. :p

C'est en fait une bibliothèque de compatibilité, ultra simple à utiliser pour toi, que tu sois utilisateur ou développeur :
  • Utilisateur, il te suffit de charger les fichiers de PPN sur ta calculatrice et c'est tout, plus besoin de t'en occuper. :bj:
  • Développeur, tu as juste à remplacer le nom de module constructeur dans tes lignes d'importation par ppn et c'est tout, rien d'autre à changer dans ton script, tu continues à coder avec les fonctions de ta bibliothèque graphique préférée, que ce soit casioplot, kandinsky ou ti_graphics. :bj:
    Tu es de plus libre d'intégrer, modifier et redistribuer la bibliothèque avec tes scripts. :D
PPN te permet même d'exécuter tes scripts graphiques Python pour calculatrices sur ton ordinateur avec tkinter ! :bj:


Nous poursuivons aujourd'hui l'exploration et l'amélioration de cette bibliothèque, avec un script Python développé par Kikoodx pour Casio Graph 90+E, dans le cadre du concours de démo graphiques Python chez Planète Casio.

Il s'agit ici d'un script affichant une image codée en dur, ici une photo de clé USB Casio.

Notons au passage l'affichage de texte décoré, en blanc avec contour noir. ;)

L'image fait 384×192 pixels et Kikoodx l'inclut dans le code dans une version indexée, faisant appel à une palette de 256 couleurs optimisée pour cette image.

384×192=73728 à raison déjà d'1 octet par pixel, on peut de suite renoncer à faire tourner le script sur NumWorks : nous n'avons ni assez de stockage (32K) ni assez de tas / heap pour créer un tel objet mémoire à l'exécution (32K).

Exclue également la TI-83 Premium CE Edition Python. Son tas / heap Python est encore pire avec moins de 17.5K. Quant au stockage, précisons que malgré les apparences il ne suffirait même pas à cause de deux contraintes :
  • si nous avons certes 3M de stockage en Flash, les scripts Python que l'on souhaite pouvoir exécuter doivent être mis en mémoire RAM - les ~150K peuvent certes être suffisants si la mémoire est assez vide...
  • mais ça ne marchera pas pour autant, car à l'exécution les scripts doivent être transférés dans la mémoire de stockage dédiée du coprocesseur Python, et qui elle fait moins que ça...

12513Bref, il suffit de remplacer comme indiqué la seule ligne d'importation from casioplot import * par from ppn import *, et ça marche directement sur TI-Nspire Ndless sans rien d'autre à modifier, aussi bien pour l'image que pour le texte décoré ! :bj:

Précisons que d'origine, le Micropython pour TI-Nspire Ndless ne dispose pas de fonction pour dessiner du texte à l'écran. Et c'est justement l'objet du dernier ajout majeur à PolyPyNet. ;)

Les 3 polices Casio Graph 90+E (petite, moyenne et large) ont été reproduites pixel par pixel, intégrées pour les scripts exécutés sur TI-Nspire Ndless et tkinter, et visiblement avec succès vu que l'on obtient bien le même effet visuel de contour sur le texte. :bj:

D'ailleurs tu noteras bien au passage que c'est la police (large) Casio que tu retrouves ici sur ta TI-Nspire au lieu de sa propre police, ainsi que sur tkinter. ;)



Niveau temps d'exécution avant affichage de la photo, nous avons :
  1. 2.43s : Graph 90+E
  2. 4.90s : TI-Nspire CX CR3-
  3. 5.28s : TI-Nspire CX CR4+

Rappelons toutefois qu'avec la bibliothèque ti_graphics du Python de la TI-83 Premium CE Edition Python 5.5, Texas Instruments est justement en train de préparer des fonctions dédiées qui permettront d'afficher et même travailler sur des images, malgré les diverses contraintes matérielles, conformément aux programmes de SNT et NSI ! :bj:

Téléchargements :

Crédits images : bande dessinée

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
915 utilisateurs:
>890 invités
>17 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)