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

Forum Casio - Projets de programmation


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

Casio Basic Web Interpreter

Posté le 29/08/2014 15:06

Je vous présente ici mon projet "Casio Basic Web Interpreter" qui a débuté en 2014 et dont le développement se poursuis encore actuellement.

Il s'agit d'un interpréteur 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 :

[color1] Plot
[color1] PlotOn
PlotOff
PlotChg
[color1] PxlOn
PxlOff
PxlChg
PxlTest
[color1] Line
[color1] [sketchMode2] F-Line
[color1] [sketchMode2] Horizontal
[color1] [sketchMode2] Vertical
[color1] [sketchMode2] Circle
Plot/Line-Color color1
S-L-Normal
S-L-Dot
S-L-Broken
S-L-Thick
S-L-Normal
S-L-Thin
Cls
ClrText
ClrGraph
BG-Pict
BG-None
StoPict
RclPict
AxesOn
AxesOff
LabelOn
LabelOff
Isz
Dsz
Lbl
Goto
Prog
Return
Stop
Mcl
Range
ViewWindow
Menu
Locate
Text
expr->variable
expr->variableStart~variableEnd
variable
"string"
?->variable
"string"?->variable
Ran#
RanInt#
GetKey
MOD(
Int
Intg
Frac
Deg
Rad
Grad
sin
cos
tan
Rec
Pol
Ans
+
-
*
/
=> (If)
If/Then/Else/IfEnd
<=
>=
=
<> (or !=)
<
>
And/Or/Xor/Not
(expr)
-expr
Do/LpWhile
While/WhileEnd
For/Next
Break

{1,2,3,4}->List n
List n->List m
List Ans
x->Dim List n
Dim List n
Filen
Seq(
x->List n[expr]
List n
List n[expr]
ClrList
ClrList n
Sum list
Prod list
Mean(list
Median(list
Max(list
Min(list
SortA(list
SortD(list
Fill(value,list)
Augment(list,list)
Cuml list
?List list
Percent list
RanInt#(min,max,nb)
RanList#(int)

[[1,2,3][4,5,6]...]->Mat n
Mat n
Mat Ans
{l,c}->Dim Mat n
Dim Mat i
x->Mat n[expr,expr]
Mat n[expr,expr]
Mat n->Mat m

1 color can be Black, Blue, Red, Magenta, Green, Cyan or Yellow
2 sketchMode can be SketchNormal, SketchThick, SketchBroken, SketchDot, SketchThin


Vous trouverez les sources sur GitHub.

A bientôt.
Krevo_


Pages : Précédente1 ... , 3, 4, 5, 6, 7, 8
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 24/10/2019 20:09 | # | Fichier joint


J'ai rajouté une démo draw sin/cos qui utilise quelques trucs implémentés récemment (GridOn/GridOff, Affectation/lecture des variables Xmin/Xmax/Ymin/Ymax/....., Revu dessin des axes et ajout des graduations).



voir le site web

J'espère bientôt dessiner un truc du genre cycloïde en implémentant GraphXY()
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 25/10/2019 21:57 | # | Fichier joint


Voilà, ajout de Graph(X,Y)=(

On peut par exemple dessiner ça =>

Graph(X,Y)=(2T - 3*sin T, 2 - 3*cos T

Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Sentaro21Hors ligneMembrePoints: 642 Défis: 0 Message

Citer : Posté le 26/10/2019 04:53 | #


This is a Lissajous sample program.(from C.Basic GraphXY sample program)
It works fine.
The waveform changes with the cursor keys.
Deg
'G-Connect
CoordOff
GridOff
AxesOff
LabelOff
ClrGraph
ViewWindow -2,2,0,-1,1,0,0,360,1
Cls
2->A
1->B
-10->C
5->D

Do
Getkey->K
If K<>L:Then
K=39=>D+(D<10)->D
K=29=>D-(D>-10)->D
K=28=>B+(B<10)->B
K=37=>B-(B>-10)->B
K=27=>A+(A<10)->A
K=38=>A-(A>-10)->A
K->L
IfEnd

C+D->C

Cls
'Text 1,1,"A(LR)="
'Text 1,65,A

'Text 18,1,"B(UD)="
'Text 18,65,B

Graph(X,Y)=(sin ((A*T)+C),cos (B*T)


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: 373 Défis: 2 Message

Citer : Posté le 26/10/2019 18:09 | # | Fichier joint


Thanks for this nice program.

The 'Concours de rentrée 2019 - Épreuve de tracé !' has given me an idea ... (which in some way was more or less already in my mind ...).

So here it is : source code of Casio basic program can be encoded in Url !!! Just click here to see the Lissajous sample program :-)



Now, ... I just need to add a 'share this program' feature to automatically generate the URL for the user.
(UPDATE: the "share" button is now online !)
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Sentaro21Hors ligneMembrePoints: 642 Défis: 0 Message

Citer : Posté le 27/10/2019 10:15 | #


Thanks!
I made one mistake.
The value of TθPtch was 3.6 instead of 1.
However, the command processing speed of Web Interpreter is fast, so the difference is not noticeable.

The "share" button is very useful.

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: 373 Défis: 2 Message

Citer : Posté le 27/10/2019 12:31 | #


Sentaro21 a écrit :
I made one mistake.
The value of TθPtch was 3.6 instead of 1


No, problem. I've updated the link posted above.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
NinestarsHors ligneMembrePoints: 2254 Défis: 22 Message

Citer : Posté le 03/11/2019 21:07 | #


Salut,

Je n'ai pas la calto sous la main pour vérifier, mais ajouter
"abcde"
après les locates ne doit pas écrire "abcde" à la suite, ni remonter les lignes écrites avec locates
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 03/11/2019 21:35 | #


Je suis en train justement de revoir cette partie là, (notamment parce que je voulais autoriser les couleurs devant locate). Et je me suis aperçu de ce genre de problème... donc c'est vraiment le tout prochain truc qui sera en ligne.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 10/11/2019 16:51 | # | Fichier joint


Ninestars a écrit :
Salut,

Je n'ai pas la calto sous la main pour vérifier, mais ajouter
"abcde"
après les locates ne doit pas écrire "abcde" à la suite, ni remonter les lignes écrites avec locates

Voilà, aujourd'hui je mets en ligne des corrections sur le Locate (à l'occasion de l'ajout de la possibilité de mettre une couleur devant le Locate, c'est surtout sur ça que je travaillais ces derniers jours).

Le programme suivant :
Green Locate 7,4,"GEO"        
Red Locate 13,4,"GRAPH"
"ABC"
"DEF"

donnait :


Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 10/11/2019 16:52 | # | Fichier joint


Maintenant cela donne :

exemple en ligne ici
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
DisperseurHors ligneMembrePoints: 1703 Défis: 1 Message

Citer : Posté le 10/11/2019 17:24 | #


@Krevo_: Ce logiciel est vraiment bien, je suis fan !
"GEO GRAPH" ... ça me dit quelque chose ça
Mes meilleurs jeux
N'hésitez pas, notez !

Jeux BasicCasio / CBasicCasio:
-World Tank War II
-Apollo 11
-GeoGraph ! Élu Jeu du Mois de Mars 2019 !
Jeux C:
-Planétarium 2 ! Chef d'Oeuvre !


√(2+2-2+2-2+2+2-2-2-2) = 0
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 10/11/2019 18:03 | #


Merci.

C'est dans ton programme que j'ai découvert que l'on pouvait mettre une couleur devant le Locate (et accessoirement que ce n'était pas supporté par mon interpréteur).
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
LephenixnoirEn ligneAdministrateurPoints: 16460 Défis: 140 Message

Citer : Posté le 10/11/2019 18:04 | #


On peut mettre des couleurs devant à peu près toutes les fonctions graphiques soit dit en passant...
DisperseurHors ligneMembrePoints: 1703 Défis: 1 Message

Citer : Posté le 10/11/2019 18:06 | #


Au moins un truc qui marche bien en Basic
Mes meilleurs jeux
N'hésitez pas, notez !

Jeux BasicCasio / CBasicCasio:
-World Tank War II
-Apollo 11
-GeoGraph ! Élu Jeu du Mois de Mars 2019 !
Jeux C:
-Planétarium 2 ! Chef d'Oeuvre !


√(2+2-2+2-2+2+2-2-2-2) = 0
Krevo_Hors ligneMaître du PuzzlePoints: 373 Défis: 2 Message

Citer : Posté le 10/11/2019 18:22 | #


Oui, mais pour moi les fonctions graphiques c'était ... sur l'écran graphique seulement !

Ajouté le 30/11/2019 à 17:05 :
Je viens enfin de merger ma branche 'IF_Reloaded' sur master. Ce qui en gros signifie que j'ai terminé ma nouvelle implémentation et donc corrigé les divers bugs rencontrés sur les If/Then/Else ... certains programmes s'en portent beaucoup mieux comme par exemple Carton de loto de Corne2plum3 qui s’exécute ici en ligne sans modification (à part l'ajout d'une directive #lowres pour être bien sûr d'être en basse résolution)

ça avance .... ça avance ...
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Pages : Précédente1 ... , 3, 4, 5, 6, 7, 8

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