Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » [Tutoriel] Le LUA sur Graph 100
EiyeronHors ligneAncien modérateurPoints: 5513 Défis: 57 Message

[Tutoriel] Le LUA sur Graph 100

Posté le 04/08/2010 23:00

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!



PedroHors ligneMembrePoints: 0 Défis: 0 Message

Citer : Posté le 08/10/2014 21:14 | #


Bonjour, j'aimerais savoir comment transférer les fichiers nécéssaires au bon fonctionnement de LuaFX sur ma graph 100+. Dois-je utiliser Flash ? Si oui, peut-on m'expliquer comment transférer le fichier LEC dans la g100 ?
Merci d'avance.
Bonne soirée.
Suruq gameHors ligneMembre de CreativeCalcPoints: 619 Défis: 20 Message

Citer : Posté le 09/07/2015 20:37 | #


Peut on code le lua directement sur calto avec le bloc note de neptune Ici
There is only one thing that makes a dream impossible to achieve : the fear of failure
Dark stormEn ligneMembre d'honneurPoints: 10825 Défis: 176 Message

Citer : Posté le 09/07/2015 20:54 | #


Suruq, le lien que tu as posté n'est pas fait pour la G100
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Suruq gameHors ligneMembre de CreativeCalcPoints: 619 Défis: 20 Message

Citer : Posté le 09/07/2015 23:20 | #


J'ai la g75
Est ce que le lua est compatible?
There is only one thing that makes a dream impossible to achieve : the fear of failure
Dark stormEn ligneMembre d'honneurPoints: 10825 Défis: 176 Message

Citer : Posté le 10/07/2015 08:10 | #


Le Lua oui, pas le Bloc Note…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 93 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