|
|
计算器程序
| 程序名称: |
PythonExtra |
| 平台: |
fx-9860GII fx-9860G & Slim fx-9750GII fx-9750G系列 其他 |
| 系统/软件要求: |
|
| 版本号: |
v0.4 beta |
| 类型: |
其他 |
| 作者: |
Sébastien Michelland(Lephenixnoir) |
| 大小(K): |
636.51 |
| 更新日期: |
2025-07-01 |
| 描述: |
- |
| 已知缺陷: |
- |
| 源代码: |
开源/部分开源 » MIT |
本帖最后由 ilm 于 2025-11-11 06:36 编辑
转载于TI-Planet与casio-planet
原网址https://tiplanet.org/forum/archives_voir.php?id=3578679
https://www.planet-casio.com/Fr/ ... ta-pythonextra.html
原介绍:
Description
Un interpréteur Micropython étendu pour :
- graphiques monochromes Graph 35+E II et fx-9750/9860GIII (fichier .g1a)
- graphiques couleurs Graph 90+E et fx-CG50 (fichier .g3a)
- graphiques Classwiz couleurs Graph Math+ fx-CG100 fx-1AU Graph (fichier .g3a, via l'installation de MPM)
- formelles couleurs fx-CP400/CG500 (fichier .bin, via l'installation de Hollyhock-2)
Permet entre bien d'autres choses les tests de touches pressés pour la création de jeux ou interfaces graphiques.
https://gitea.planet-casio.com/Lephenixnoir/PythonExtra
PythonExtra est un add-in Python alternatif pour (à ce stade) Graph 35+E II, Prizm et Graph 90+E. L'objectif est de fournir plus de fonctionnalités : modules standard, getkey(), fonctions de dessin plus performantes, etc.
Version Bêta 0.4 (Changelog)
Graph 35+E II / Prizm / Graph 90+E / Math+ / ClassPad : PythonExtra-pe-0.4.0-beta.zip

Aperçu de PythonExtra sur Graph 90+E. (Cliquez pour agrandir)
Aperçu de PythonExtra sur Graph 35+E II (FxPyEdit par Mb88)
Description sommaire des fonctionnalités :
- Compile pour Graph 90+E (fx-CG 10/20/50) et Graph 35+E II (fx-9860G III)
- Peu de RAM sur Graph 35+E II (c'est difficile d'en trouver sur ce modèle)
- Un shell pas trop mal (saisie rapide, scrolling) avec de bonnes performances
- Plein de modules standard
- array, builtins, cmath, collections, io, math, random, struct, sys, time
- Le module spécifique CASIO : casioplot (fidèle à part sur les polices)
- Un nouveau module gint avec les fonctionnalités avancées de gint :
- Pour l'instant, une bonne partie de <gint/display.h> et <gint/keyboard.h>
- Donc getkey() (attente de touche) ainsi que keydown() (test instantané) !
- Et des fonctions de dessin rapides comme dline() ou drect()
Le plan actuel :
- Être sensiblement compatible avec l'appli Python officielle.
- Pousser les fonctionnalités ajoutées pour vraiment relever le niveau de Python !
- Si du temps de développement se débloque : support autres Graph mono (pas de promesses).
Updates et screenshots à venir. Je n'ai pas l'intention d'implémenter un million de fonctionnalités, juste ce qu'il faut pour s'assurer que ça ne finisse pas mal documenté et non maintenu comme CasioPython.
Dépôt Git : https://gitea.planet-casio.com/Lephenixnoir/PythonExtra
PythonExtra est notamment possible grâce à l'aide précieuse de Mb88. 
Comparaison directe
Dans l'exemple ci-dessous (réalisé par Mb88), un Flappy Bird déjà bien optimisé (dessin partiel etc, à gauche) est accéléré un bon gros coup en utilisant PythonExtra et le module gint pour le dessin (à droite).

Contexte historique
Aux journées APMEP 2022, redgl0w racontait comment le port MicroPython pour Numworks n'était finalement pas super difficile. Moi je parlais de comment un port maison résoudrait le problème de getkey(), et Critor m'a convaincu d'essayer sur-le-champ.
En fin de compte, j'ai clôné MicroPython Dimanche à midi et à 1 heure du matin j'avais un port fonctionnel avec getkey() sur ma Graph 90+E (que j'ai d'ailleurs montré à CASIO Lundi, pour la démo). Comme quoi, des fois ça marche tout seul !
(Enfin, le début marche tout seul. Faire une bonne UI et gérer tous les détails ensuite c'est une autre paire de manches !)
机翻:
描述
一个扩展版的MicroPython解释器,用于:
- 单色图形 Graph 35+E II 和 fx-9750/9860GIII(.g1a 文件)
- 图形色彩 Graph 90+E 和 fx-CG50(.g3a 文件)
- 图形类 Classwiz 颜色 图形数学+ fx-CG100 fx-1AU 图形(通过安装 MPM 的 .g3a 文件)
- 正式色彩FX-CP400/CG500(.bin文件,通过安装Hollyhock-2)
它允许(除其他功能外)进行按键测试,用于游戏或图形界面的开发。
https://gitea.planet-casio.com/Lephenixnoir/PythonExtra
PythonExtra 是一款替代性 Python 插件,目前适用于 Graph 35+E II、Prizm 和 Graph 90+E 等型号。其目标是提供更多功能:包括标准模块、getkey()、更高效的绘图函数等。
Beta 0.4 版本(更新日志)
Graph 35+E II / Prizm / Graph 90+E / Math+ / ClassPad:PythonExtra-pe-0.4.0-beta.zip
在 Graph 90+E 上运行 PythonExtra 的预览(点击放大)
在 Graph 35+E II 上运行 PythonExtra 的预览(由 Mb88 开发的 FxPyEdit)
功能简要说明:
- 支持为 Graph 90+E(fx-CG 10/20/50)和 Graph 35+E II(fx-9860G III)编译
- Graph 35+E II 内存较小(该型号内存有限,优化较为困难)
- 一个性能不错的 Shell(支持快速输入和滚动)
- 大量标准模块array、builtins、cmath、collections、io、math、random、struct、sys、time
- 卡西欧专用模块:casioplot(除字体外基本保持一致)
- 新增 gint 模块,支持 gint 的高级功能:目前包括大部分
"<gint/display.h>" 和
"<gint/keyboard.h>" 的功能因此支持 getkey()(等待按键)以及 keydown()(即时检测)!还有快速绘图函数,如 dline() 或 drect()
当前计划:
- 基本兼容官方 Python 应用
- 推动新增功能,真正提升 Python 的水平!
- 如果开发时间允许:支持其他单色屏 Graph 型号(不保证实现)
后续将提供更新和截图。我不打算实现过多功能,只确保不会像 CasioPython 那样最终缺乏文档和维护。
Git 仓库:"https://gitea.planet-casio.com/Lephenixnoir/PythonExtra" (https://gitea.planet-casio.com/Lephenixnoir/PythonExtra)
PythonExtra 的实现离不开 Mb88 的重要帮助。
直接对比
以下示例(由 Mb88 提供)展示了一个已经优化过的 Flappy Bird 游戏(左侧使用部分绘图等技术),而右侧通过 PythonExtra 和 gint 模块进行绘图,速度大幅提升。
历史背景
在 2022 年 APMEP 活动上,redgl0w 分享了如何为 Numworks 移植 MicroPython 并不算太困难。而我则谈到,一个自制的移植版本可以解决 getkey() 的问题,Critor 当场说服我尝试一下。
结果,我在周日中午克隆了 MicroPython,到凌晨 1 点就已经在 Graph 90+E 上成功移植并实现了 getkey() 功能(周一我还向卡西欧展示了这个 demo)。看来,有时候事情就是这么顺利!
(当然,开始顺利不代表后续轻松。设计一个优秀的用户界面并处理所有细节,那就是另一回事了!)
简单来说就是一个提供更多库的python解释器
注意它不带python编辑器,你需要在别的地方编辑好再运行
我试到支持的库:array,builtins,cmath,collections,io,math,random,struct,sys,time,casioplot,gint,turtle,matplotl,gc,micropython
(matplotl太大了,无法在fx-9860上运行)
顺带一提这个支持文件读写
这里有一个示例:https://www.planet-casio.com/Fr/ ... en-pythonextra.html
这里有在这个addin新添加的绘图模块gint的教程:https://git.planet-casio.com/Lep ... cs/sh/modgint-en.md
|
|