AldeBasiClib
Posté le 23/04/2016 13:25
Salut à vous Casiofans !
Tu es en bon en programmation Basic Casio mais un noob en C ? (Comme moi
) Alors ce projet est fait pour toi !
Je vous présente dons mon nouveau projet que j’ai baptisé « AldeBasiClib » (Oui il y a de la recherche pour le nom
). J’entends déjà certains dire : Une librairie en Basic Casio, mais il a pété les plombs !
. Et bien, laissez-moi nous dire que ces personnes sont à côté de la plaque
. En fait, cette librairie permettra, entre autres, à ceux qui programment uniquement en basic de passer au C.
Le concept de la librairie est très simple : es fonctions définies par la lib seront toutes des fonctions du Basic Casio. Elles auront le même nom et feront la même chose. La syntaxe sera sensiblement la même (la seule grosse modification, ce sera d’ajouter des parenthèses).
Pour l’instant, les fonctions proposées seront essentiellement des fonctions pour les graphismes.
N’hésitez pas si vous avez d’autres idées de fonctions à rajouter de me le proposer (commentaires ou MP).
Fonctions prévues
Fonctions prévues
Cls
PlotOn
PlotOff
PlotChg
F-Line
Circle
Vertical
Horizontal
Text
Pxlon
Pxloff
PxlChg
PxlTest
Locate
Toute personne qui s’y connait en C (au moins un peu) est la bienvenue pour m’aider ! D’autre part, si des personnes veulent tester la lib pour vérifier qu’elle marche, faites le moi savoir !
Merci à Fife86 pour sont aide pour le débuggage, l'optimisation et le post sur la forge de la lib.
Une dernière chose : je compte, pour l’instant, m’appuyer sur le MonochromeLib de Pierotll, qui est plus simple d’utilisation que la fxlib.
Merci par avance de votre soutien et a bientôt sur Planète Casio
Citer : Posté le 23/04/2016 13:43 | #
Salut, bonne idée ! Je t'aurais bien aider si je n'étais pas en période de révisions... Si c'est toujours d'actualité cet été, why not ? Sinon, quitte à faire du Basic, tu peux proposer les List, Mat.
Ajouté le 23/04/2016 à 13:44 :
Ah et : soutien* par pitié
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 23/04/2016 13:44 | #
je modifie
Citer : Posté le 23/04/2016 13:50 | #
Au début, j'ai compris que tu voulais faire un traducteur, ce qui est une très mauvaise idée. Finalement ça n'a pas l'air d'être, ça, donc ça peut être une bonne idée pour faire la transition.
Bon après moi je te la fais en 14 lignes tout compris, vu que c'est que des macros de fonctions de la fxlib ou de MonochromeLib, mais si ça te fais progresser, tu peux toujours faire quelque chose de sympa.
Citer : Posté le 23/04/2016 13:54 | #
Je peux aider, je n'ai plus de révision car je suis pris dans mon école. Pour les List et les Mat, je peux faire quelque chose de correct.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 23/04/2016 13:55 | #
Non, faut surtout pas réimplémenter les structures de données complexes. ><
Le C ne se pense pas comme le Basic, et il faut éviter d'introduire les concepts plus évolués du C++.
Citer : Posté le 23/04/2016 13:58 | #
Je peux coder en C ( même si ça fait longtemps ), les utilisateurs pourrons utiliser les structures facilement. En déclarant au départ la taille de la matrice ou la taille de la liste.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 23/04/2016 14:15 | #
C'est justement le truc qu'il ne faut pas faire.
Comme si tu fais du vélo, et que t'apprend à conduire avec une Google Car… C'est pas le but.
Citer : Posté le 23/04/2016 16:58 | #
Le but du projet, comme le disait Fife, c'est de faire passer de plus en plus de gens du Basic au C. Comme, mon projet, c'est quand même de faire une librairie, surtout pour les graphismes, pour ceux qui ont l'habitude de coder en BC. Pour ce faire, je reproduis des fonctions du BC en C, pour que les programmeurs qui veulent passer du basic au C ne soient pas trop "dépaysés" et qu'ils puissent apprendre les autres commandes et leur syntaxe tranquillement.
Et puis c'est aussi pour moi, car je voudrais faire un Casio Dale et C, et je pense que ça m'aidera beaucoup de pas avoir à tout traduire et de juste modifier un peu la syntaxe
J'espere avoir répondu aux différentes questions sur l'utilité du projet
Citer : Posté le 23/04/2016 17:10 | #
moi je te la fais en 14 lignes tout compris
Ben oui, y a pas à se casser le coccyx, vu que les fonctions ML font le même travail que les fonctions BC
Citer : Posté le 23/04/2016 17:19 | #
Faut justement ne rien traduire ! Au risque de me répéter, on ne code pas en C comme on code en Basic, on ne pense pas en C comme on pense en Basic, on ne respire pas le C comme on respire le Basic.
Faire une librairie de fonctions qui permettent de ne pas avoir à chercher dans la doc comment dessiner, c'est une très bonne idée. Ça fait la transition avec le C. Mais pour le reste, si tu ne manipule les tableaux que via des structures de type Mat, que tu utilise les strings avec un objet String, tu ne pourra pas progresser.
C'est la métaphore que je faisais au dessus :
Faire du Basic, c'est comme faire du vélo. C'est marrant, on sait pas trop comment ça marche au début, mais on fini par trouver des astuces pour aller plus vite. Certaines sont crades, genre cramer les feux (utiliser des labels) mais bien pratiques. Au final, c'est facile de sortir le vélo pour faire 3 km (faire un petit programme sympa), et on peut en persévérant faire beaucoup plus (de gros programmes).
Faire du C, c'est comme conduire une grosse voiture. C'est encore plus marrant quand on sait la conduire, on peut faire le tour du monde avec, c'est hyper puissant. Mais ça demande un gros temps d'apprentissage, beaucoup plus que pour le vélo, et on a jamais fini de s'améliorer.
Pour en revenir à notre problème, tu veux aider les gens à passer du vélo à la voiture, mais si tu remplace le volant par un guidon, les pédales de la voiture par celles du vélo, etc., tu fini par te retrouver dans un kart à pédales, et ça c'est pas bon du tout.
Citer : Posté le 23/04/2016 18:13 | #
Je suis désolé DS je encore du m'être mal exprimé. Oublie cette histoire de traduction, en fait je me comprends moi-même.
Pour les Mat et les Strings, j'ai rien dit, c'est Fife
Quelques heures plus tard, Fife arriva devant la maison d'Alde; Il sonne; Personne ne répond. Il sonne une seconde fois. Cette fois quelqu'un ouvre la porte. Il est 11h58, une nuit de pleine lune. Fife prend la parole:
"Alors comme ça, tu t'es foutu de moi sur le chat! tu as osé dire que je partais dans mes délires tout seuls?!
-Euh, mais non pas du tout...
-Meurt chien! tu n'auras plus jamais l'occasion d'usurper mon C-Engine qui est bien meilleur que ton projet de lib!
:kill: :kill: :kill:
Le projet, c'est juste de faire une petite lib pour, comme l'a dit Fife, que les gens qui codent que en BC et qui veulent s'attaquer au C puissent le faire avec plus de simplicité.
Fife:"Oh non! Qu'ai je fait? je l'ai tué alors qu'il s'appretait à se repentir! Je suis un misérable... Mais puisqu'il faut le faire, rendons lui la vie pour qu'il sauve mon honneur!
J'espere avoir été plus clair cette fois.
Citer : Posté le 23/04/2016 18:40 | #
Cependant nous ne somme que en 2016, Fife ne trouva aucun moyen de ressusciter Alde. Il parti dans une grande dépression et interdit l'accès à tout ces projets. Il ne pourra plus annoncer dans la Rdp qu'il a presque fini Géometry Dash.
Mais cela est une autre histoire.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 23/04/2016 19:16 | #
Ajouté le 24/04/2016 à 14:46 :
@Fife si tu veux m'aider, ce sera (pour l'instant) pour les str avec les fonctions Text et Locate(en BC)
J'ai déjà commencé le boulot, et quelques fonctions sont déjà dispo.
Je poste sur Gitlab dès que DS m'aura fait le tuto pour que je sache comment on ajoute un fichier sans passer par un autre depot (enfin je crois )
Ajouté le 24/04/2016 à 22:27 :
J'ai bientôt fini les commandes. Il me reste pour l'instant:
-Cls (pouvez vous me dire si c'est plutôt VRAM ou l’écran que j'efface)
-Text, Locate (il faut que je voie au niveau des str)
-PlotChg, PxlChg (pas encore eu le temps)
J'ai pas encore fait de test, mais j’espère en faire bientôt.
Si vous avez des propositions à me faire, n'hésitez pas
Citer : Posté le 25/04/2016 00:03 | #
Tu peux très facilement gérer les strings pour Text et Locate. Après ça sera pour la gestion des nombres, mais tu peux toujours faire un N_Locate et N_Text pour Numeric Locate (et Text). Dedans, un sprintf, un appel à Locate et c'est plié.
Citer : Posté le 25/04/2016 08:16 | #
Put**, Aldeb tu me sauve !
C'est pile ce qu'il me fallait ! (car je galère trop en C++
même avec le C-Engine)J'ai hâte de que tu fasses les fonctions prévues ! Manquerait juste le Getkey ou MultiGetkey
-Helmet : Traverse la cour sans te faire assommer par les objets !
-Octopus : Ramasse les ressources et ramène-les dans le bateau sans te faire dévorer par la pieuvre !
Citer : Posté le 25/04/2016 15:28 | #
Pour le GetKey c'est facile
{
unsigned int key;
GetKey(&key);
return key;
}
Citer : Posté le 25/04/2016 16:18 | #
Bon bah ça a l'air d'un projet sympa, n'hésite pas à poster des nouvelles régulièrement dans la RDP
Citer : Posté le 25/04/2016 16:20 | #
Sauf que ça, ça arrête le programme
Citer : Posté le 25/04/2016 16:23 | #
Ben suffit d'utiliser le syscall GetKeyWait
Et puis si on code proprement on utilise des timers
Citer : Posté le 25/04/2016 21:46 | #
Holà, on se calme!
@Elto: tkt j'annocerais tout
Je ferais surement un truc pour les getkey. Je suis juste en train de voir pour le Text et le Locate(BC). Je ferais éventuellement un truc sur les str aussi