Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Casio Basic Web Interpreter
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Casio Basic Web Interpreter

Posté le 29/08/2014 15:06

Bonjour,

Je viens de m'inscrire pour vous faire part de la mise en ligne d'un "Casio Basic Web Interpreter" que j'ai commencé à écrire.
Je crois que le nom parle de lui-même.... c'est un interpreteur pour le langage basic des calculatrices Casio.
Le truc c'est que c'est un interpréteur en mode web, le rendu (=écran de la calculatrice) se fait sur un canvas HTML5.

Donc c'est ici => Casio Basic Web Interpreter



ATTENTION : ce que je partage avec vous est dans une version "alpha", il manque encore beaucoup de choses...
J'ai mis pleins de programmes en exemple.

En vrac la liste des instructions supportées :


[color] Plot
[color] PlotOn
PlotOff
PlotChg
[color] PxlOn
PxlOff
PxlChg
PxlTest
[color] Line
[color] F-Line
[color] Horizontal
[color] Vertical
[color] Circle
Plot/Line-Color color
Cls
ClrText
ClrGraph
AxesOn
AxesOff
Isz
Dsz
Lbl
Goto
Prog
Return
Mcl
Range
ViewWindow
Locate
Text
expr->variable
expr->variableStart~variableEnd
variable
"string"
?->variable
"string"?->variable
Ran#
RanInt#
GetKey
Int
Intg
Frac
Deg
Rad
Grad
sin
cos
tan
Rec
Pol
+
-
*
/
=> (If)
If/Then/Else/IfEnd
<=
>=
=
<> (or !=)
<
>
And/Or/Xor/Not
(expr)
-expr
Do/LpWhile
While/WhileEnd
For/Next
Break

List :
{1,2,3,4}->List n
x -> Dim List n
Dim List n
Filen
Seq(
x->List[n][expr]
List[n][expr]
ClrList
ClrList n


J'ai mis les sources sur mon gitlab.

A bientôt.
Krevo_


Pages : Précédente1, 2, 3, 4, 5Suivante
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 26/11/2018 18:49 | #


Ok, ..j'ai testé avec Firefox :-( j'ai uploadé 2 légères retouches.
Il faut que je pense à bien tester avec Chrome ET Firefox ....
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
LephenixnoirHors ligneAdministrateurPoints: 13774 Défis: 136 Message

Citer : Posté le 26/11/2018 18:52 | #


Super, ça marche maintenant ! Je réalise que mon cache était peut-être en faute...
Rise.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 27/11/2018 23:14 | #


Oui, le fichier "cbi.js" est potentiellement en cache.... Donc il faut bien recharger pour avoir les nouveautés. (Il faut que je rajoute un paramètre "bidon" après le nom du fichier js, genre "cbi.js?xxxxxx" où xxxx serait mon build number ... )

News du 27/11/2018 :
- ajout de And/Or/Xor/Not (et d'un programme de test/exemple : "Bool. table") ... comme ça on peut faire les exemples du tutoriel Basic Casio de ce site, en bas de la page conditions.
- (du coup revu ≥, ≤, ≠, <, > pour qu'ils renvoient bien 0 ou 1 et non true/false de Javascript)

Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
LephenixnoirHors ligneAdministrateurPoints: 13774 Défis: 136 Message

Citer : Posté le 28/11/2018 07:19 | #


Ha ha, j'ai fait un score de -200 à City... comme quoi la dichotomie n'est pas toujours une solution optimale !

Tout ça marche super, merci !
Rise.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 28/11/2018 11:38 | #


Pour la petite histoire City est un portage que j'ai fait du jeu Gorillas qui était une démo de QBASIC sur MS-DOS.

Je conseil de choisir un angle (disons entre 45° et 60°) pourvu qu'il permette de "sortir" (car parfois on est sur un immeuble un peu trop bas) .... puis de ne modifier que la force (entre 60 et 100 sont des valeurs courantes pour atteindre l'objectif). Si on change les 2 paramètres en même temps, ça devient compliqué.
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
LephenixnoirHors ligneAdministrateurPoints: 13774 Défis: 136 Message

Citer : Posté le 28/11/2018 13:39 | #


En l'occurrence mon adversaire était caché derrière une muraille, du coup j'ai du progressivement augmenter l'angle, je crois que j'ai fini à 75°, 70° ne passant pas. Pour la force, c'est effectivement là que j'ai tapé (80 de mémoire).
Rise.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 28/11/2018 14:31 | #


News du 28/11/2018 :
- ajout des variables manquantes : rhô ("r") et thêta ("θ" ou "t") .... parce que c'était pas grand chose à faire...
- ajout de la touche DEL (code touche Casio : 44) sur le clavier virtuel (mappée au Backspace du clavier PC)


Ajouté le 05/12/2018 à 19:37 :
(Mercredi 05/12)
Je travaille actuellement sur les listes.... Chantier en cours. J'espère une mise en ligne prochaine, au moins pour une partie des fonctions liées aux listes (déjà leur déclarations, les affectations, dimensionnement, lecture d'une valeur, ...).
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
LephenixnoirHors ligneAdministrateurPoints: 13774 Défis: 136 Message

Citer : Posté le 05/12/2018 22:22 | #


Grosse partie, les listes ! Bon courage !
Rise.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 14/12/2018 21:51 | #


News du 14/12/2018 : "Les listes, Acte I"
Début du support des listes,
. Dimensionne + affectation multiple: {1,2,3,4,5,6,7}→List 1
- Dimensionne: 7→Dim List 1
- Lecture dimension: Dim List 2
- Lecture: List 1[3]
- Affectation: 9→List 1[3]
- ? ->List 1[3] ou encore "Question"?->List 1[3]
- ClrList et ClrList n
- File n
- Seq(
.... la suite dans l' Acte II. Merci d'être patient.
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
ManoloHors ligneMembrePoints: 861 Défis: 13 Message

Citer : Posté le 15/12/2018 11:04 | #


comment on utilise le pxltest?
c'est bon, j'ai trouvé!
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 15/12/2018 11:26 | #


Cela me montre que toutes les fonctions n'ont pas de programme d'exemple, ce qui peux s'améliorer à terme.
C'est censé marcher comme https://www.planet-casio.com/Fr/reference_basic_casio/commande_basic.php?fonc=44
(sauf que je gère pas les mots clefs relatifs aux couleurs, pour l'instant)

Par exemple, tu "allume" le pixel 10,10 et tu le teste, ça doit renvoyer 1 :

PxlOn 10,10
PxlTest 10,10


Mais ceci ne marche pas , faut que j'enquête :

PxlOn 10,10
PxlTest 9,9
PxlTest 10,10


... ok, ça remarche !! Donc petit bug corrigé au passage. Merci.

Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
ManoloHors ligneMembrePoints: 861 Défis: 13 Message

Citer : Posté le 15/12/2018 14:55 | #


ah oui, c'est vrai qu'il y a pas de () sur les calculatrices monochromes!
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 15/12/2018 14:58 | #


C'est tellement pas cohérent d'avoir "PxlOn", "PxlOff" et "PxlTest(" ! Donc éventuellement on pourrais accepter avec et sans parenthèses.

Ajouté le 09/01/2019 :
Pas de nouvelles depuis presque un mois, mais rassurez vous je ne manque pas de choses à faire sur ce projet en 2019.
Voici un petit avant goût de la prochaine mise à jour importante :



ou encore :


Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
LephenixnoirHors ligneAdministrateurPoints: 13774 Défis: 136 Message

Citer : Posté le 09/01/2019 11:43 | #


Ooh, ça sent le support de la Graph 90 ça
Rise.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 09/01/2019 11:46 | #




Ajouté le 13/01/2019 à 20:02 :
Les nouveautés du jour sont (voir aussi la Rdp 136) :
- le support des couleurs (White, Black, Blue, Red, Magenta, Green, Cyan, Yellow) et les instructions qui vont avec (Plot/Line-Color color et le support de color devant une instruction graphique type F-Line, Horizontal, ...)
- le support d'une "haute" résolution d'écran de 379x187 pixels (qui correspond à la taille de la zone addressable en Basic de l'écran d'une Graph 90+E sauf erreur...)

Ainsi donc les démos "screen saver" et "random dots" sont modifiés pour utiliser des couleurs. Et un nouveau programme d'exemple fait son apparition "lines" :


Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
ManoloHors ligneMembrePoints: 861 Défis: 13 Message

Citer : Posté le 13/01/2019 20:10 | #


magnifique!!!
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 14/01/2019 09:58 | #


Et là :
- ajout de RanInt# (seulement la version à 2 arguments pour l'instant)
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
Sentaro21En ligneMembrePoints: 285 Défis: 0 Message

Citer : Posté le 14/01/2019 10:34 | #


I'm glad to see the progress of the project.
Will this web interpreter be able to change the execution speed?
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 14/01/2019 11:35 | #


Sentaro21 a écrit :
Will this web interpreter be able to change the execution speed?


Be able to adjust the execution speed is a planned feature !
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
Sentaro21En ligneMembrePoints: 285 Défis: 0 Message

Citer : Posté le 14/01/2019 11:41 | #


Thanks!
I'm looking forward to it.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Krevo_Hors ligneMaître du PuzzlePoints: 161 Défis: 0 Message

Citer : Posté le 14/01/2019 13:15 | #


14/01/2019 :
- retouche sur PxlTest pour accepter avec et sans parenthèses (et même avec seulement la parenthèse du début)

Ajouté le 14/01/2019 à 14:09 :
Sentaro21 a écrit :
Thanks!
I'm looking forward to it.


A speed adjust button is hidden on the right of the "STOP !" button

And for @Lephenixnoir debug mode is now false by default and a "Debug On/Off" button is hidden ... because I always forget to set debug mode to false before uploading to the public website.... (and Firefox is much much slower when debug mode is On). For information, this debug mode is just console.logging a lot of debug messages.
Mon projet principal : Casio Basic Web Interpreter ou le basic Casio dans votre navigateur web
Pages : Précédente1, 2, 3, 4, 5Suivante

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