Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com Programmes Casio, Jeux, Cours pour Calculatrices Casio fr-FR https://www.planet-casio.com/images/logo.gif Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com 55 50 Programmes Casio, Jeux, Cours pour Calculatrices Casio. Mon, 24 Mar 2025 00:39:18 GMT Mon, 24 Mar 2025 00:39:18 GMT contact@planet-casio.com (Planet Casio) contact@planet-casio.com (Planet Casio) 5 Un équivalent graphique de std::cout pour Casio https://www.planet-casio.com/Fr/forums/topic18675--.html Hello les gens ! ^^ Pour simplifier le debugging de mes projets casio, j’ai conçu un flux de sortie graphique inspiré de std::cout, appelé casio::dout, et je vais vous le partager. Il gère : -La composition de flux avec << -Les retours à la ligne \n -Les fins de lignes avec casio::end -Les types string, int, float, etc. Exemple d’utilisation casio::dout(10, 20, C_WHITE) << "Valeur : " << 42 << casio::end; casio::dout(10, 60, C_WHITE) << "Pi ~ " << 3.14159f << "\nApproximatif" << casio::end; Comment ça marche ? Le système repose sur une classe DoutStream qui encapsule : -Les coordonnées (x, y) initiales -La couleur du texte -Un curseur de position mis à jour dynamiquement Le texte est découpé ligne par ligne, chaque mot est affiché avec dtext(), et les sauts de ligne sont simulés en ajustant les coordonnées via dsize(). Intégration Incluez simplement le fichier dout.hpp dans votre projet, et utilisez casio::dout() comme un flux standard. Code : #ifndef DOUSTREAM_HPP #define DOUSTREAM_HPP #include <gint/gint.h> #include <gint/display.h> #include <string> #include <sstream> #include <iostream> namespace casio { struct DoutEnd {}; inline DoutEnd end; class DoutStream { public: DoutStream(int x, int y, int color) : startX(x), curX(x), curY(y), color(color) {} template<typename T> DoutStream& operator<<(const T& value) { std::ostringstream oss; oss << value; processText(oss.str()); return *this; } DoutStream& operator<<(DoutEnd) { // Force une nouvelle ligne newline(); return *this; } private: int startX; int curX; int curY; int color; void processText(const std::string& text) { std::string line; for (char ch : text) { if (ch == '\n') { if (!line.empty()) draw(line); newline(); line.clear(); } else { line += ch; } } if (!line.empty()) draw(line); } void draw(const std::string& text) { dtext(curX, curY, color, text.c_str()); int w = 0, h = 0; dsize(text.c_str(), dfont_default(), &w, &h); curX += w; // Avancer horizontalement } void newline() { curX = startX; int h = 0; dsize("A", dfont_default(), nullptr, &h); // Hauteur de ligne curY += h + 1; } }; // Interface comme std::cout struct dout_creator { DoutStream operator()(int x, int y, int color) { return DoutStream(x, y, color); } }; inline dout_creator dout; inline void formatFloat(float val, char* out) { int sign = val < 0 ? -1 : 1; val = val < 0 ? -val : val; int int_part = static_cast<int>(val); int dec_part = static_cast<int>((val - int_part) * 1000 + 0.5f); // arrondi sprintf(out, "%s%d.%03d", (sign < 0 ? "-" : ""), int_part, dec_part); } inline DoutStream& operator<<(casio::DoutStream& out, float val) { char buf[32]; formatFloat(val, buf); return out << buf; } inline DoutStream& operator<<(casio::DoutStream& out, double val) { char buf[32]; formatFloat(static_cast<float>(val), buf); return out << buf; } } #endif Sun, 23 Mar 2025 19:06:51 +0100 Partenariats avec Calcuso et CASIO Éducation pour 2025 https://www.planet-casio.com/Fr/forums/topic18668--.html Une annonce un peu tardive, mais pleine de bonnes nouvelles ! Pour les événements de 2025 on a des sponsors comme jamais, et des lots uniques dont on compte bien vous faire profiter. :D Si vous voulez aller droit au but, vous pouvez consulter la trésorerie des lots dans ce topic : :here: Lots et goodies pour les événements Planète Casio CASIO Éducation Tout cela remonte aux Journées APMEP 2024. CASIO était bien sûr présent et étalait, parmi leurs nouveautés, de magnifiques nouvelles coques dédiées à l'achat groupé. ;) APMEP24-coque-light-luckycat.pngAPMEP24-coque-light-galaxy.pngAPMEP24-coque-mathp-luckycat.jpgAPMEP24-coque-mathp-galaxy.jpg Il y a deux designs : le « Lucky Cat » qui est symbole culturel japonais bien connu, et la « Galaxie » qui est pleine de couleurs. Les deux coques sont disponibles pour la Graph Light et la Graph Math+. Le Lucky Cat est gris sur la Light et rouge sur la Math+ ; la galaxie est identique sur les deux, à la taille près (la Graph Light étant plus petite). Nous avons profité de l'occasion pour demander des lots pour cette année, et CASIO nous a généreusement offert des calculatrices Graph Math+, une Graph Light, ainsi que ces superbes coques dont admettez que vous les adorez aussi. ;D goodies-2024-calcs.jpg Nous avons donc : 4 calculatrices Graph Math+ et une calculatrice Graph Light 2 coques Graph Light (une Lucky Cat grise et une Galaxie) 8 coques Graph Math+ (4 Lucky Cat rouges et 4 Galaxie) Merci CASIO de continuer à soutenir nos événements et nos activités ! :bounce: Calcuso On ne présente presque plus Calcuso, qui fait de la vente groupée de matériel et est présent sur le marché français des calculatrices depuis quelques années déjà (4-5 ans un truc comme ça ?). Calcuso était, sans surprise, aussi présent aux Journées APMEP, et c'est toujours un plaisir de les voir pour discuter. Nous avons (de façon un peu improvisée) conclu un petit partenariat, où nous mettons en valeur la Calcuso sur notre page d'accueil (vous aurez vu le lien dans la section « Réseaux sociaux et partenaires » sur la droite) en échange de lots. Qui sont très attirants puisque Calcuso offre des accessoires très uniques, notamment les housses et protections d'écran Wyngs. :D goodies-2024-protections-ecran.jpg goodies-2024-housses-1.jpg goodies-2024-housses-2.jpg goodies-2024-housses-3.jpg Calcuso fait de plus des gravures lasers personnalisées (habituellement pour graver le nom de l'établissement dans les commandes groupées), et nous offre une Graph Math+ à graver, texte qui sera laissé au choix du ou de la gagnant·e de ce lot. ;D Les housses feront de très bons seconds lots et un événement sera entièrement organisé sur les lots Calcuso avec la Math+ à graver et une housse formant deux lots. Nous avons donc : 4 protections d'écran Wyngs (2 pour la 35+E II, 2 pour la 90+E, et dans le futur pour la Math+) 6 housses Wyngs de différentes couleurs et textures, pour tous modèles confondus 1 Graph Math+ avec texte gravé personnalisé Merci Calcuso pour votre soutien, et bon courage pour les ventes ! :) Les événements de 2025 Le début de 2025 a été assez chargé côté administration, notamment en ce qui me concerne avec les restes du Puzzle de l'Avent et la bêta de MPM. Il n'y a donc pas encore de planning détaillé d'événements prévu, juste l'idée de fond de faire des événements plutôt petits avec ou ou deux lots à chaque fois. Si vous avez des événements favoris que vous voulez revoir, n'hésitez pas à faire signe dans les commentaires ! :D À bientôt sur Planète Casio ! Tue, 11 Mar 2025 14:34:31 +0100 Peut-on transférer des fichiers entre le 5800p et une calculatrice graphique Casio moderne ? https://www.planet-casio.com/Fr/forums/topic18667--.html Ce serait bien de pouvoir sauvegarder les données de mon 5800p sur une calculatrice avec interface USB... Tue, 11 Mar 2025 04:42:31 +0100 Un probleme pas comme les autres... https://www.planet-casio.com/Fr/forums/topic18666--.html Bonjour ! Je programme actuellement un petit moteur de jeu 2D style RPG en C. Pour le moment j'ai codé un ECS (fonctionnel !) mais je suis bloqué sur les maps... Voici le contexte : Les maps sont au format json lorsqu'elle sont stockés sur l'ordinateur et (de manière logique) il faut les convertir pour la calculatrice. Or, les maps contiennent les différentes layers de tiles MAIS, aussi et surtout, les différentes entités. Pour donner un exemple voici comment je crée une entité, ici le joueur : entity_t *player = entity_manager_add_entity(&game.entity_manager, "player"); rect_t player_bounds = {10.0f, 10.0f, 32.0f, 32.0f}; add_component(player, create_component(TRANSFORM_COMPONENT), player_bounds, PLAYER_DEFAULT_SPEED); add_component(player, create_component(SPRITE_COMPONENT), "player_idle_sheet"); add_component(player, create_component(ANIMATION_SYSTEM), 4, 0, PLAYER_DEFAULT_IDLE_ANIMATION_SPEED, true, true, false); add_component(player, create_component(PLAYER_SYSTEM)); (c'est beau hein :E ) Vous pouvez voir que ce n'est pas forcément simple de stocker ces différent types de donnés de manière propre dans une structure "map_t" par exemple... Donc voici ma question : Est-ce que ce serait plus propre de stocker la partie intéressante du fichier json qui contient toutes les définition des entités ou alors quelque chose de plus simple vous viendrai en tête ? En tout cas merci d'avance et j'espère que d'autres ont déjà eu le problème et donc une solution pas trop complexe... (et oui je vais publier le moteur) Mon, 10 Mar 2025 19:29:58 +0100 FX-CP 400+E Review https://www.planet-casio.com/Fr/forums/topic18665--.html http://i.imgur.com/IsWHjzE.mp4 Mon, 10 Mar 2025 12:13:59 +0100 Sending data over USB https://www.planet-casio.com/Fr/forums/topic18663--.html Hi, I am attempting to use the fxsdk/gint to engage in communication between my calculator and computer. I have attached the code I used on both ends to this post and I hope you can understand my logic from there. I only attempt to transmit a simple string, and whilst usb_fxlink_handle_messages is succesful, usb_read_sync blocks and usb_read_sync_timeout throws a timeout error. I suspect that the callback in fxlink_device_start_bulk_OUT isn't successful when sending my data, because if I call twice fxlink_device_start_bulk_OUT my usb_read_sync call just receives the header in place of my data. When browsing the forum for any advice I did find someone with a similar issue , but sadly it never seemed to be resolved. Sat, 08 Mar 2025 21:42:06 +0100 emulateur GBA https://www.planet-casio.com/Fr/forums/topic18661--.html Quelqu'un serait-il capable de créer un emulateur game boy advanced assez condensé pour passer sur une Graph 90 ? Thu, 06 Mar 2025 20:25:29 +0100 navigateur web pour calto https://www.planet-casio.com/Fr/forums/topic18660--.html quelqu'un serait-il capable de créer un navigateur web pour graph 90 connecté en bluetooth ? Thu, 06 Mar 2025 20:20:44 +0100 fx-CG50 calculator and program https://www.planet-casio.com/Fr/forums/topic18657--.html Hello everyone! A friend would like me to transfer programs (with basics of chemistry courses) to his calculator, he has just changed, I have a casio 35 E and he has a casio fx-CG50, normally on my calculator I use the Fa124 software but is it compatible with his calculator? Otherwise can you tell me which software should I install and how to do it? Thank you for your feedback! Have a nice day Wed, 05 Mar 2025 09:10:25 +0100 TLB Error with demo project https://www.planet-casio.com/Fr/forums/topic18650--.html Hello, I am on a MacOS M2 Pro Sequoia machine and am attempting to use fxsdk/gint to develop an application for the Casio FX CG-50. I tried to choose the quick installation method but realized this would not work so well for Mac (despite me trying to use the tips provided in the comments), so I have compiled gcc and binutils targeting the sh3b-elf architecture. https://i.imgur.com/xtpl5pm.png I have installed and compiled fxsdk and gint. I used fxsdk new to create a sample project and then compiled it with fxsdk build-cg. I connect my calculator and drag the addin on to the calculator and am then met by a TLB Error (Target 00010000). https://i.imgur.com/YeyokYO.png I am not sure what I have done wrong, I would appreciate any help Tue, 04 Mar 2025 01:07:24 +0100