LuaZM
Logo de Lua | |
Screenshot de LuaZM sur Prizm | |
Auteur | Luiz Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes |
développeur | KermMartian (né Christopher Michell) |
Souvent mis à jour | Non |
Langage de programmation | C, C++ |
Genre | Interpréteur de langage alternatif |
Site web | Topic du projet |
Le Lua est un langage de script libre. Du fait de sa programmation en C ANSI il est portable sur une grande variété de périphériques. LuaZM est le portage réalisé par KermMartian disponible sur les calculatrices fx-CG10 et fx-CG20 (plus généralement appelées Prizm).
L'add-in permettant d'interpréter les fichiers en texte-plein ou compressés (respectivement .lua et .lc) est téléchargeable ici
Sommaire
Librairie Standard, ou basique
La librairie standard du Lua est normalement supportée par l'add-in. Deux fonctions que l'on pourrait considérer comme standard sont ajoutées.
run()
> run()
> run("file.lua")
> run("compressed.lc")
La fonction 'run' permet de lancer un script Lua (compressé ou non). La fonction appelée sans argument ouvrira un explorateur de fichier sur la calculatrice permettant à l'utilisateur de sélectionner le fichier à lancer, sinon le script désigné par l'argument sera exécuté.
A noter qu'il est possible d'appeler un script contenu dans un sous-dossier de la mémoire de stockage, en utilisant l'antislash ('\'). Dans ce cas, il faudra entourer l'argument de doubles crochets ("" et ""), cela afin de ne pas considérer l'antislash comme introducteur d'un caractère d'échappement.
> run("folder\file.lua") Ne fonctionnera pas
> run([[folder\file.lua]]) Fonctionnera
about()
> about()
L'appel de 'about' ouvre une fenêtre de type Pop-up affichant les crédits de ce portage, ainsi que la version utilisée.
ZMG Lib (Ou bibliothèque graphique spécifique aux Prizm)
Toutes les fonctions de la bibliothèque ZMG (qui vient de "priZM Graphics") sont appelées de la même façon :
zmg.function(arguments,...)
zmg.clear()
zmg.clear()
La fonctione 'zmg.clear', qui ne prend pas d'argument, vide la VRAM, ou mémoire vidéo, c'est à dire la zone où sont effectués les différents tracés avant d'être copiés à l'écran.
zmg.copySprite()
zmg.copysprite(x,y,width,height,data)
Cette fonction copie un sprite dans la VRAM, en effaçant tout contenu précédent à l'endroit de la copie. La fonction supporte le clipping (c'est à dire le fait que le sprite soit dessiné dans un espace limité et tronqué en partie si besoin), par défaut les bords de l'écran sont utilisés comme limite, mais si la fonction 'zmg.clipRect()' a été appelée, c'est le rectangle définit qui servira de limite.
La fonction prend 5 arguments en entrée :
- x : (nombre) : coordonnée en x du coin en haut à gauche du sprite - y : (nombre) : coordonnée en y du coin en haut à gauche du sprite - width : (nombre) : largeur du sprite en pixels - height : (nombre) : hauteur du sprite en pixels - data : (string) : chaîne en hexadécimal où chaque pixel du sprite est codé sur 16bits (en RGB 5-6-5)
zmg.fastCopy()
zmg.fastCopy()
La fonction 'zmg.fastCopy()', qui ne prend pas d'arguments en entrée et ne retourne rien, permet d'afficher le contenu de la VRAM (ou mémoire vidéo) à l'écran.
Page en cours d'écriture; documentation disponible en anglais sur cette page.