CPLua
Le langage Lua est un juste milieu entre le CPBasic et le C/C+/Asm. Ce langage de programmation est simple, flexible et rapide. Il permet aux développeurs de créer des programmes complexes impossibles à écrire en CPBasic.
CPLua est un add-in pour ClassPad qui inclut un interpréteur Lua et propose beaucoup de nouvelles fonctions, en plus de la programmation on-calc.
CPLua est un projet donc quelques bugs peuvent apparaître. La version la plus stable est actuellement la version 0.8. La dernière version est la version 0.10A.
Sommaire
Histoire
CPLua a été commencé en 2005 par Julien, un programmeur français, parce qu'il y avait trop de personnes qui se plaignaient de la lenteur du CPBasic mais ne voulaient pas apprendre le C++.
- 01/09/2005 : la première version a été publiée ici.
- 07/09/2005 : version 0.4 : ajout de la possibilité sauver/ouvrir des script Lua
- 08-09/2005 : version 0.51 : correction de certains bugs et ajout d'un nouveau clavier
- 27/09/2005 : version 0.72 : ajout de la totalité du paquet de CAS
- 19/04/2006 : version 0.8 : version la plus rapide (en dessin) de CPLua. Téléchargez-la ici
- 07-27-2007 : version 0.9E : la dernière version faite par Orwell (ajout de la bibliothèque UI)
L'année dernière, deux programmeur, Cartix (moi) et Binary_Man, de Planete Casio, ont commencé à retravailler sur le projet, dans le but d'ajouter de nouvelles fonctions. Notre première version (CPLua 0.10A) est sortie le 28/01/2012, et est disponible ici
Mise en route
- Premièrement, télécharger la version de l'add-in que vous souhaitez :CPLua 0.8 ou CPLua 0.10A
- Envoyez ensuite le .cpa à votre classpad avec FA-CP1 ou Classpad Add-In Installer (des tutos seront bientôt disponible)
- Allez au menu principal sur votre Classpad et ouvrez l'application CPLua
- Créez un nouveau fichier et commencez à programmer
Librairie
- UI : Interface utilisateurs : Cette librairie vous permet d'utiliser l'interface utilisateur du Classpad (menu, barre d'outils,…) dans vos programmes
- CAS : Système d'Aglèbre informatique : Cette librairie vous permets d'employer toutes les fonctions mathématiques de l'application "Main" (diff, intg, solve, …)
- Draw : Cette librairie vous permet de dessiner sur l'écran (point, ligne, cercle,…) et pour employer des sprites/images
- IO : Entrée-sortie : Cette librairie vous permet de manipuler les fichiers de votre Classpad (ouvrir, enregistrer, lire,…)
- String : Cette librairie vous permet de manipuler les chaines de caractères
- Debug : Cette librairie vous permet de corriger votre programme
- Table : Cette librairie vous permet de manipuler des listes
- Math : Cette librairie vous permet d'effectuer des opérations sur des nombres (sin, log,…)
Pour connaître toutes les fonctions d'une librairie, "table.foreach (<name du library>, de la copie)"
Structures de Controle
BOUCLES
- Vous pouvez casser une boucle avec "break"
While
while <condition 1> do <code à exécuter tant que la condition 1 est respectée> end
Repeat
repeat <code à exécuter tant que la condition 1 est respectée> until <condition 1>
For
for <var>=<min>,<max>[,incrément] do <code à exécuter tant que var est différent de max > end
- Si l'incrément n'est pas spécifié, il vaudra automatiquement 1
IF
if <condition 1> then <code à exécuter si la condition 1 est respectée> elseif <condition 2> then <code à exécuter si la condition 1 est respectée et la condition 1 est respectée> else <code à exécuter si aucune des conditions n'est respéctée> end
Déclaration d'une fonction
function <nom de la fonction>(<liste des paramètres>) <code à exécuter si la fonction est appelée> return <valeur à retourner> end
- Si la valeur à retourner n'est pas spécifiée, la fonction ne renverra rien
- Si aucun paramètre n'est spécifié, la fonction fonctionnera sans paramètre
- On peut déclarer des variables locales dans les fonctions, utilisable uniquement par la fonction dans laquelle elles ont étés déclarées
Comentaires
--<commentaire> pour un commentaire d'une ligne --[[<commentaire>]]-- pour un commentaire de plusieurs lignes
Fonctions spécifiques à CPLua
CPLua a deux écran différents : la console (pour les entrées/sorties) et l'écran graphique (pour dessiner). Par défaut, un programme affiche la console. On peut passer de l'un à l'autre à l'aide de
- showconsole() pour afficher la console
- showgraph() pour afficher l'écran graphique
Il y a de nombreuse autres fonctions spécifiques telles que :
- keypad(0/1) : 0 pour masque le clavier et 1 pour l'afficher
- fullscreen(0/1) : 0 pour afficher la barre de menu 1 pour la masquer
Pour connaitre toutes les fonctions spécifiques et leur syntaxes, regarder ici