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.

Forum Casio - Actualités


Index du Forum » Actualités » La revue des projets - 103
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

La revue des projets - 103

Posté le 06/05/2018 19:41

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 Points: 16102 Défis: 102 Message
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 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.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 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 En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 07/05/2018 18:38 | #


J'admets que le transfert USB serait d'un raffinement considérable !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 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.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Hackcell Hors ligne Maître du Puzzle Points: 1531 Défis: 11 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
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 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 !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Stexupery Hors ligne Membre Points: 147 Défis: 0 Message

Citer : Posté le 11/05/2018 10:28 | #


WOW, c'est complètement génial ce projet !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 60 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