Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Tous | Tutoriels du Mercredi | Basic Casio | C/C++/ASM | LuaFX | Graphisme | Transferts | Logiciels | Diverses astuces

Calculatrice
Toutes
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC

Retour à la liste des tutoriels
Tutoriel Casio : Le LuaFX sur Graph 100(+)
Tutoriel rédigé le : 2014-04-30 20:41  par Eiyeron  Catégorie : LuaFX  Calculatrice : Graph 100(+)

Discutez de ce tutoriel sur le forum >> Voir le sujet dédié (32 commentaires)

Le LuaFX sur Graph 100(+)
Bonjour et merci de tenter l'aventure du LUA sur votre calto. Ici, vous pourrez suivre un cours unique pour apprendre facilement à programmer.

I. Premiers Contacts

Cliquez pour découvrir
Cliquez pour recouvrir
?- Pourquoi apprendre un autre langage de programmation, alors que je connais le BASIC, le C, et le MLC?
R- Le BASIC est lent, on a des possibilités limitées (pas de gestion de 'string (chaînes de caractères), pas le F-Line off...), le C est toujours compliqué à connaitre et nécessite de transférer à chaque fois le programme sur la calto, et la mémoire flash de la g100 a une durée de vie limitée, sachez-le (~1000 transferts...); le MLC reste encore trop limité...
Alors que le LUA est puissant, rapide, pratique...

?- En quoi?
R- Le LUA gère à la fois deux modes: Noir et Blanc, et 5 Couleurs (5nv de gris); il gère les sprites (morceaux d'images, imaginez Mario dans un de ses jeux, chaque image qui compose ses animations sont des sprites), sa rapidité d'exécution rivalise avec le C/ASM (je ne parle même pas de la complexité du ASseMbleur), et puis... les progs sont stockés dans la RAM de la calto, ce qui permet de stocker pas mal de progs...

Avant tout, voyons ce que nous offre Veb avec son interpréteur...[ICI]
Un fichier zip... à utiliser avec WInRar, WInzip, 7Zip (les meilleurs pour Windows)...
Dedans, un dossier: luag100, et dedans...

?- Oulà! Qu'est-ce que c'est tout ça?
R- Voyons ça de plus près:
-le dossier "auxdéveloppeurs", oubliez-le, trop compliqué, et puis...vous n'avez pas envie de recréer l'interpréteur pour programmer, non?
-le dossier "exemples" contient des progs d'exemple (quelle logique...), on en verra peut-être plus tard...
-le tar.gz Lua contient les sources de Lua, je vous conseille plutôt de télécharger, puis d'installer la version 5.14 de LUA sur votre ordi, il vous sera utile plus tard... Dispo ICI].
-installer.txt est la notice d'installation ... je décrirai aussi comment l'installer...
-lua16.exe est le compilateur lua, il va transformer vos progs en fichiers lisibles par l'interpréteur... on verra ça plus tard.
-luag100.lec est le lecteur à installer sur votre calto... dedans il y a tout ce qu'il faut pour le faire fonctionner sur votre machine bleue...
-luag100.odt est un petit résumé vite fait des fonctions... en odt --" idiot pour ceux qui n'ont pas openoffice ou M$ Office 2007/+
-trans.exe sera le prog à lancer pour transférer vos progs sur votre future console de jeu!

Allez! On installe?


II. Installation

Cliquez pour découvrir
Cliquez pour recouvrir
Savez-vous transférer un programmer dans ma mémoire flash? non? Alors je vous guide [ICI] pour apprendre...
Personellement, j'utilise Flash100+ avec le Mode Link, GComm me sert uniquement pour les icônes et l'horloge 8) , étant donné que j'ai le câble usb...
Je vais quand même vous indiquer comment j'ai fait pour installer mon câble: j'ai laissé windows se débrouiller...
/!\ Cette méthode reste quand même risquée, elle n'a marchée que sur mon ordi portable, et encore, qu'est-ce qu'en j'ai bavé avant que ça devienne stable...(et j'ai trois ordis...). Faut noter que le driver fourni ici limite le débit du transfert (8 min pour un lecteur --"), alors que celui de M$ (lisez Microsoft) me permet de transférer un lecteur en 1 min...
Donc j'ai installé Flash 100, et je l’utilise pour mettre mes add-ons dessus... et ça marche nickel!
Pour l'installer, je vous conseille de le caler dans le dossier racine du lecteur, et au mieux dans un lecteur vide... Sinon...
Ensuite, créez une icône dans GComm afin de pouvoir le lancer...

?- J'ai trois progs... Que lancer?
R- Luaintpr.exe ne peut fonctionner ainsi, il faut passer par le prog LuaLanc, et trans.exe servira à recevoir les progs lua, et d'autres choses, mais ça... c'est une autre histoire...
Donc prenez lualuan, validez, updatez le système, puis lancez LUAG100... Si vous obtenez le magnifique ( ) écran d'acceuil avec LUA écrit dessus suffisamment gros pour q'un aveugle puisse le lire... Hourra! vous avez LUA G100! \o/
Du coté Ordi, mettons en place un dossier qui contiendra tout ce qu'il ya dans le zip de veb, sans le dosser auxdev... Rajoutez aussi un petit dossier "Mes Progs". Voilà... Ca commence à avoir de la gueule!


III. On programme? Comment?


Cliquez pour découvrir
Cliquez pour recouvrir
Bon... On commence? Avez-vous bien préparé votre dossier, bien récupéré tou ce qu'il fallait? Alors, qu'attendons-nous?

?- CHais pas, le déluge?
R- Exact, un déluge d'explications en tout genre...

Avant tout sachez une chose: LUAG100 utilise un fchier déclaré comme programme qui est vital au bon fonctionnement des progs, nommé " SECLUA". Il est VITAL qu'il soit en première place dans la liste des progs. Je vous conseille donc de save tous vos progs, uis de les supprimer pour ne laisser que le prog lua qu'on enverra, histoire que la calto reste suffisamment vide pour s'y retrouver. Aussi la calto crée 3 autres programmes: les luasav. Ils permettront de sauvegarder des chiffres. On verraça plus tard, sachez seulement que seclua est crée au mancement de luag100 est qu'il est vital.

Coté ordi, pour programmer, je vous conseille un éditieur de texte avec coloration syntaxique, c'est à dire qui va reconnaître les fonctions des langages, et qui va les colorer pour être plus lisible. Le meilleur reste notepad++, gratuit, lie et améliorable grâce aux plugins tel qu'une sauvegarde automatique de votre fichier dès que la fênetre de N++ n'est plus active, trrrès pratique pour changer rapidement entre le compilateur/ transfert, croyez-moi. A défaut d'un bon logiciel, le Bloc-Notes de Windaube suffira, à la charge suivante: quand vous sauvegardez, rajoutez .lua u nom de votre prog, et dans type de fichier, mettez "tous les types", ou sion Bloc-Notes vous rajoutera un .txt pas très pratique...
Pour Notepad++, j'utilise la complétion automatique + le plug-in AutoSave, histoire de n'avoir pas à réécrire plusieurs fois le même mot, et ne pas avoir à sauvegarder.
On envoie?



IV. On programme? Oui! Maintenant! Partie 1, le début.


Cliquez pour découvrir
Cliquez pour recouvrir
Bon... Lancez votre logiciel favori, mettez LUA comme langage de programmation, et en avant!
Dans votre nouveau fichier, tapez ceci:
g.setcolor(true)
g.misc("cont",-1)
g.misc("cont",-1)
g.ligne(1,1,128,64,2)
refresh
wait(10)


?- Oulà, oulà, que veut dire tout ce charabia?
R- Eh bien... g.setcolor permet de changer de mode graphique, soit en mode Noir et Blanc, soit 5 couleurs. Chaque mode ayant ses fonctions, nous commencerons par le 5 couleurs, donc on met "true" ("vrai" in english). On dit qu'on met true en argument. Logiquement, "false" nous bascule en noir et blanc.
g.misc() permet de régler certains détails comme le contraste ou faire un scrolling (déplacement de l'écran entier). le premier argument "const" permet de régler le contraste, quand le deuxième qui doit être soit 1 ou -1, baisse ou monte le contraste. Ici, nous baissons de 2 niveaux. g.ligne(x1,y1,x2,y2,couleur) permet d'afficher une ligne sur l'écran par les coordonnées des extrémités. Ici, on a une diagonale qui traverse l'écran entier... Et oui! ici, on a du 128*64 et pas 127*63! J'vous l'avais pas dit, hein? Donc, la couleur est définie par un entier en 0 et 5: - 0 = blanc,
- 1 = gris clair,
- 2 = gris moyen,
- 3 = gris foncé
- 4 = noir
- 5 = inversion de la couleur (si le pixel était blanc = > noir)
Notez aussi que l'on peut faire un rectangle de la même manière, juste en rajoutant une couleur:
g.ligne(xcoin,ycoin,x2coin,y2coin, couleur_bordure, couleur_fond

Voilà... SInon, ya refresh et wait() à expliquer:
Imaginez que la calto a deux écrans: un invisible et l'écran. Lorsque vous faites des opérations graphiques, la calto écrit d'abord sur l'invisible, et lorque vous refresh l'écran, il copie instantanément l'écran invisible! Vous pouvez ainsi faire plein de trucs avant de réactualiser! Génial, non? plus d'embrouilles ou d'affichage comme le drawstat (fonction que vous pourrez recréer facilement après ce tuto!) ou de voir peu à peu le dessin se former! Résumé: LuaG100 a deux écrans: l'invisible modifiable, et l'écran. On modifie l'invisible, puis on copie sur l'écran le contenu de l'invisible quand on emploie la fonction refresh. Pour finir, wait permet de ralentir le programme. Il se base sur une opération qui se lance x fois [à chercher]. Ainsi, un programme peut être ralenti. Ici, il permet de voir un peu ce qu'on a dessiné.

Voilà, voilà, vous avez commencé à programmer...
?- Mais comment transférer sur ma calto?
R- Patience... On verra ça sur le chapitre suivant!


Discutez de ce tutoriel sur le forum >> Voir le sujet dédié (32 commentaires)

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 84 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd