CPLua

De Casio Universal Wiki
Aller à : navigation, rechercher
CPLua
Cpluaicon.png
Langage de programmationLua
GenreIDE
PlateformeClasspad

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.

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

Lien utiles