Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » AldeBasiClib
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

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



1, 2, 3 Suivante
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

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é
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

Citer : Posté le 23/04/2016 13:44 | #


je modifie

Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

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.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

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.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

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++.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

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.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

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.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

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


Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 23/04/2016 17:10 | #


Le grand Administrateur adoré a écrit :
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
Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

Citer : Posté le 23/04/2016 17:19 | #


m'aidera beaucoup de pas avoir à tout traduire


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.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

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
Un écrivain a écrit :
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é.
Le même écrivain a écrit :
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.

Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 23/04/2016 18:40 | #


Toujours le même écrivain a écrit :

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.


It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

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

Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

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é.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Fenysk Hors ligne Membre Points: 286 Défis: 0 Message

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
==========GAME & WATCH | Casio Edition==========

-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 !
Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

Citer : Posté le 25/04/2016 15:28 | #


Pour le GetKey c'est facile

int Getkey(void)
{
    unsigned int key;

    GetKey(&key);

    return key;
}

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

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
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Ninestars Hors ligne Membre Points: 2449 Défis: 24 Message

Citer : Posté le 25/04/2016 16:20 | #


Sauf que ça, ça arrête le programme
Dark storm En ligne Labélisateur Points: 11549 Défis: 176 Message

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
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

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

1, 2, 3 Suivante

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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 70 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