CPLua

De Casio Universal Wiki
Aller à : navigation, rechercher


La langue de Lua est un juste milieu entre le CPBasic et le C++. Ce langage de programmation est simple, flexible et rapide. Il permettent aux développeurs de créer des programmes complexes impossibles à écrire en CPBasic. CPLua est un add-in pour ClassPad qui incluent un interprèter Lua et à beaucoup de nouvelles fonctions et vous permet de programmer en Lua on-calc.

CPLua est un projet donc quelques bogues peuvent apparaître. La version la plus stable est actuellement la version 0.8 version. La dernière version est la version 0.10A disponible ici.

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