Forums Casio - Actualités

Index du Forum | Actualités | La revue des projets - 103
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
Message
Posté le 06/05/2018 19:41

La revue des projets - 103 :

Bonjour à vous ! Aujourd'hui reprend la mythique Revue des Projets où les développeurs vous font rêver.

Après un blanc pas très bien expliqué dans la parution de cette revue hebdomadaire, nous sommes prêts à récupérer le rythme perdu et à vous en mettre plein les mirettes. Je vous rappelle que vous êtes invités à y parler de vos projets en soumettant une description chaque semaine avant dimanche, 12h00 !

Aujourd'hui, Zezombye nous dévoile la dernière version de Basic IDE (aka BIDE), son environnement de développement de Basic Casio. Cet outil permet de développer de grands projets Basic avec la facilité du PC en s'affranchissant des limitations de la calculatrice et son petit écran.

À toi la parole, Zezombye !


Aujourd'hui, je sors (enfin) la version 4.0 de BIDE, l'éditeur de texte pour Basic Casio


Cette mise à jour ajoute plein de nouvelles features, aussi bien au niveau de l'interface que du back-end (lecture/écriture des programmes).

Voici donc le changelog :

Amélioration de l'éditeur de pictures

Les pictures ne sont plus en ASCII, et sont éditables avec clic gauche/clic droit, qui font respectivement du noir et du blanc. Pour ceux avec des petits écrans, vous pouvez régler la taille par défaut dans les options, ou faire ctrl+molette pour régler le zoom.


L'édition étant limitée (normal, je cherche pas à faire un éditeur d'images ) il y a une option pour sauvegarder en .png afin d'éditer avec un éditeur externe.

Ajout de la description pour les opcodes


Bien entendu, cette documentation n'est pas complète (il y a beaucoup d'opcodes). Pour l'instant, seuls les opcodes fréquents (dans la référence Basic Casio) de A à P sont documentés.

J'ai également corrigé l'auto-complétion pour prendre en compte les substrings du texte tapé par l'utilisateur. Ainsi, "rani" propose "RanInt#(" mais aussi "If".

Pour pouvoir écrire une documentation et ajouter des attributs (description, syntaxe, compatibilité...) le fichier opcodes.txt est désormais en format JSON.

Ajout d'un sélecteur de caractères

Pour écrire un caractère spécial, il fallait chercher son numéro hexadécimal, puis regarder le nom de l'entité correspondante, ce qui n'était pas toujours intuitif.

Pour pallier à ce problème, j'ai ajouté un sélecteur de caractères :


Ce sélecteur contient les 5 catégories du menu "Char" de l'éditeur de la calculette, ainsi que les caractères spécifiques à la Graph 90+E et les caractères non listés.

On peut maintenant taper ses cours dans BIDE

Avec le mode examen repoussé, et le générateur de cours étant devenu désuet, la seule manière de taper ses cours dans un programme était de passer par l'éditeur de FA-124.

BIDE inclut maintenant la directive #nocheck, qui permet d'écrire du texte dans un programme sans qu'il soit nécessairement valide. On peut également créer une "zone", avec la directive #yescheck qui dit à BIDE de reprendre la vérification. Cela permet par exemple de cacher du cours dans un programme.

Par exemple :

#Program name: Tetris
#Password: <no password>
If 0: Then
#nocheck
3ème loi de Kepler:
Le carré de la période sidérale P d'une planète (temps entre deux passages successifs devant une étoile lointaine) est directement proportionnel au cube du demi-grand axe a de la trajectoire elliptique de la planète :
(2π/P)² * a³ = k
#yescheck
Else
// Code de tetris
IfEnd


On peut donc taper (ou copier/coller) ses cours dans BIDE, en profitant de l'intégralité des caractères, puis l'enregistrer en g1m.

Réduction du temps de compilation

Avec deux simples modifications, le temps de compilation est réduit de plusieurs secondes (sur les gros programmes) :
- Les pictures sont stockées en interne en format binaire
- Les programmes qui n'ont pas été modifiés depuis la dernière sauvegarde ne sont pas recompilés

Pour une modification d'un seul programme sur Calc Wars, le temps de compilation passe de 8 secondes à 0.2 secondes !

Gestion des macros fonctions

Les macros gèrent maintenant les fonctions, la syntaxe étant la même qu'en C.

On peut donc déclarer des macros de ce type :
#define sleep(i) For 1->I To i : Next
#define sleep(i, var) For 1->var To i : Next


Bien entendu, le remplacement de la variable ne se fait pas dans un mot. Par exemple, "i" ne serait pas remplacé dans "Picture", mais il le serait dans "2+i+3". Il est toujours préférable de tester les macros afin d'éviter un comportement inattendu.

Concaténation des fichiers

Il est maintenant possible de concaténer (combiner) des fichiers, .g1m tout comme .bide. Ainsi, si vous avez plusieurs fichiers .g1m, vous pouvez les combiner en un seul fichier pour rendre le transfert plus facile

Correction du comportement des onglets

Les onglets sont désormais organisés par type (programme/picture/capture) puis par ordre alphabétique, afin de mieux s'y retrouver.

De plus, les onglets restent à leur place lorsqu'il y a plusieurs lignes (contrairement au comportement par défaut de Windows, qui met la ligne sélectionnée tout en bas).

Correction du CLI (interface en ligne de commande)

Le CLI revient avec deux commandes :
--to-g1m <cible> <prog1> <prog2> ...
--to-txt <cible> <prog1> <prog2> ...

qui servent respectivement à compiler/concaténer les programmes donnés (qu'ils soient en .g1m ou en .bide) dans un seul g1m ou fichier texte (.bide).

Il y a également possibilité de donner un (ou plusieurs) fichiers en tant qu'arguments, sans spécifier d'option. Dans ce cas BIDE ouvre l'interface en chargeant ce ou ces fichier(s). Ce comportement est pour permettre de définir BIDE comme programme par défaut pour les .g1m (c'est également pour ça qu'il y a désormais un .exe).

Implémentation du Ctrl+F

Plus besoin de passer par un éditeur externe pour faire du find-and-replace, BIDE gère ça.


Nettoyage de strings

Pour certains programmes qui ont été écrits avec FA-124, l'affichage sous BIDE présente quelques problèmes :


Ces remplacements (par exemple "!" devient "&fact;") viennent de l'encodage Casio. L'opcode "point d'exclamation" et l'opcode "factorielle" sont tous deux représentés par le caractère "!". BIDE les différencie (en représentant "factorielle" par "&fact;"), mais FA-124 ne le fait pas, et remplace par défaut "!" par "factorielle". BIDE ne fait donc que montrer cette différence.

Pour rendre les chaînes de caractères lisibles, le menu "Tools" comporte désormais un nettoyeur de strings, qui fait ces remplacements.


C'est donc tout pour cette update, je vous invite à signaler tout bug ou suggestion


Merci Zezombye ! On se retrouve la semaine prochaine pour une autre édition de la Revue des Projets !




Totoyo
Hors ligne
Membre d'honneur
Niveau: Vétéran
Points: 15813
Défis: 94
Message
Citer : Posté le 06/05/2018 20:32 | #
Waouh, je suis impressionné par ton travail, Zezombye
----------------------------------
Ne0tux
Hors ligne
Membre d'honneur
Niveau: Aucun
Points: 2973
Défis: 252
Message
Citer : Posté le 07/05/2018 09:01 | #
Idem, je ne pensais pas que c'était abouti à ce point là !

On dirait un travail de pro, c'est impressionnant. Et surtout, c'est inédit ! 8)

Félicitations, j'espère que nous saurons trouver un moyen de diffuser ce magnifique outil (comme l'a très bien fait ici Lephenixnoir).

Merci à vous deux.
----------------------------------
Deviens le roi de la banquise avec Ice Slider !
Sauras-tu sortir entier des locaux infernaux de CloneLab ?!?
Prêt à risquer ta peau face à Smaug le vilain dragon en cherchant l'Arkenstone ?
Projets de la communauté que je soutiens
Rejoins l'aventure !
Timeless II d'Alex_1186
Calc Center : un système de succès sur Casio
Le futur Jeu d'aventure de Remiweb
Le très attendu Pokemon de Dodormeur
La suite du premier volet : Robscape 2 de Ray
Zelda de Smash'
L'audacieux Projet Evolution de TheProg
Le fameux Yu-Gi-Oh d'Intelligide
Sans oublier cette folie qu'est MMGOC
On en trépignerait : Jetpack Joyride, de Drakalex
Zezombye
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 988
Défis: 9
Message
Citer : Posté le 07/05/2018 18:32 | #
Merci pour vos retours

Pour la prochaine update j'essaierai d'ajouter un transfert USB automatique vers la calto, l'inconvénient majeur de BIDE étant d'avoir à transférer sur la calto pour tester (ce qui prend beaucoup de temps avec fa-124), sauf si on a l'émulateur.
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
Message
Citer : Posté le 07/05/2018 18:38 | #
J'admets que le transfert USB serait d'un raffinement considérable !
----------------------------------
Watch me, as I build my empire with my own hands.
Ne0tux
Hors ligne
Membre d'honneur
Niveau: Aucun
Points: 2973
Défis: 252
Message
Citer : Posté le 07/05/2018 19:58 | #
Ça serait carrément dingue tu veux dire ?!?

Surtout si on peut éditer les Pictures et les transférer à la volée.
----------------------------------
Deviens le roi de la banquise avec Ice Slider !
Sauras-tu sortir entier des locaux infernaux de CloneLab ?!?
Prêt à risquer ta peau face à Smaug le vilain dragon en cherchant l'Arkenstone ?
Projets de la communauté que je soutiens
Rejoins l'aventure !
Timeless II d'Alex_1186
Calc Center : un système de succès sur Casio
Le futur Jeu d'aventure de Remiweb
Le très attendu Pokemon de Dodormeur
La suite du premier volet : Robscape 2 de Ray
Zelda de Smash'
L'audacieux Projet Evolution de TheProg
Le fameux Yu-Gi-Oh d'Intelligide
Sans oublier cette folie qu'est MMGOC
On en trépignerait : Jetpack Joyride, de Drakalex
Hackcell
En ligne
Membre
Niveau: Intermédiaire
Points: 597
Défis: 4
Message
Citer : Posté le 08/05/2018 23:01 | #
Sympa de revoir une RDP après tout ce temps
@Zz, je testerai la fonctionnalité de l'adaptation à la taille de l'écran ce week-end
----------------------------------
I only need black tea and sweets to survive...
But no matter what I eat, I need love to live...
So please, don't leave me alone...
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
Message
Citer : Posté le 08/05/2018 23:07 | #
Pour la RDP, on a quelques (quelque chose comme 2 ou 3) semaines d'avance où on a du contenu pour alimenter l'article, mais on a besoin de vous pour la suite !

Alors n'hésitez pas à envoyer quelque chose, parce que Zezombye ne sortira pas une nouvelle version majeure de BIDE toutes les semaines !
----------------------------------
Watch me, as I build my empire with my own hands.
Stexupery
Hors ligne
Membre
Niveau: Confirmé
Points: 125
Défis: 0
Message
Citer : Posté le 11/05/2018 10:28 | #
WOW, c'est complètement génial ce projet !


Index du Forum | Actualités | La revue des projets - 103

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 73 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Casio Education Casiopeia CodeWalrus

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd