Planète Casio - Vos tutoriels et astuces - 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 - Vos tutoriels et astuces - Flux RSS http://www.planet-casio.com 55 50 Programmes Casio, Jeux, Cours pour Calculatrices Casio. Fri, 27 Jan 2023 07:31:06 GMT Fri, 27 Jan 2023 07:31:06 GMT contact@planet-casio.com (Planet Casio) contact@planet-casio.com (Planet Casio) 5 Conseils pour pixel art https://www.planet-casio.com/Fr/forums/topic17229--.html Bonjour,je sais qu'il n'y a pas de rapport avec les calculatrices,mais c'est pour mon jeu. En effet,je fais un jeu en ce moment. un jeu sur PC. Donc,je le fais en pixel art,et je ne suis pas très fort la dedans,du coup je pioche dans des bibliothèques mais c'est pas très perso. je voudrais faire des choses moi même,donc je vous demande des conseils,des techniques,des logiciels,autant pour ordi que pour mobile. pour info,je me suis déjà intéressée au Pixel Art. j'ai fait quelques dessins,que je vous joindrai si je les retrouvent. il y en a un dans le lot que j'ai pris sur internet que j'ai redessiner. Tue, 06 Dec 2022 14:59:33 +0100 Référence du Ascii art pour la FX 92 (+ SC) https://www.planet-casio.com/Fr/forums/topic17222--.html Pour commencer,cette nuit j'ai découvert des trucs de dingue des choses sympa pour ta calculatrice. Racer 1 et maintenant je vais vous présenter des trucs en ASCII art que j'ai trouvé. Je ne vois pas forcément l'utilité de tous,mais ils vous serviront certainement à quelques chose. N'hésitez pas à poster ici vos trucs création créatives. Je commence par ; (^(^( (^(^( ) (^(^(°) (00) ( )==( ) ( )( ) et un truc qui vous sera sûrement utile,une vision 3D 😀 ==--== ici ça a l'air pourri mais ça fait so' effet sur la calculatrice. vous allez voir ;) Thu, 01 Dec 2022 11:13:21 +0100 De nouveaux jeux pour FX 92+SC !! (Racer 1) https://www.planet-casio.com/Fr/forums/topic17221--.html Bonjour tout le monde,après avoir fait Minecraft sur la plate-forme ( Minecraft 92 ),je me suis arrêté un peu dans mes recherches (j'ai eu une autre calculatrice.). Mais maintenant,enfin cette nuit,j'ai eu un éclair de lucidité. Alors,pour vous prévenir,j'ai découvert des émojis,des trucs en ASCII Art (dont je ne sais pas quoi en faire) et...deux jeux. Alors,le premier,le plus simple,je l'ai baptisé "Racer 1" (c'était cette nuit,me critiquez pas :p ) . C'est un jeu de course qui se joue à trois,pour les règles originales,à deux pour pas se faire (...) et tout seul quand on se fait (...). Alors,avant de vous expliqué les règles,commençons par le jeu. Écrivez ceci ; x1 [ ( ]x1 [ ) ]x1 x14 [ ( ]x1 [ ) ]x1 [=]x1 [ ( ]x1 [ ) ]x1 Vous avez la voiture de base. youpiiii ! maintenant,positionnez votre curseur (il doit être en baton debout et pas sous les caractères. En mode Insertion quoi.) derrière le [ ( ] et spammez [ , ].Normalement,ceci fait avencer la voiture. Donc,vous devez spammez le plus vite possible (Faites attention...) pour être en dernier à la fin. Pour gagner,il suffit de dire,une fois arrivé à la fin "Racer 1;Defi terminé !" . Le coach vérifie ensuite. ⚠️Si vous jouez avec trop de violence,la calculatrice pourrait s'abîmer (touche qui s'envole,etc.) . Je ne m'en rendrais pas responsable.⚠️ ANNUAIRE DES VOITURES ( ( ) ) ( )=( ) / camion/calèche ( )==( ) /moto (00) ( )==( ) /voiture banal ( 0 ) ( )=( ) /voiture banal ( ) ( )=( ) /kart/voiture de course ( ( ( ) ( )=( ) /camion ( ( ) ( )=( ) /voiture de course Thu, 01 Dec 2022 10:35:03 +0100 Minecraft sur FX 92+ ?! https://www.planet-casio.com/Fr/forums/topic17186--.html Salut,j'ai fait cette découverte cette nuit après avoir passé le week-end sur cette calculatrice,j'ai bien sur découvert bien d'autres chose,mais je ne vais pas vous en parler maintenant histoire de répertoriés. IL SUFFISAIT D'Y PENSER L'astuce,vous la connaissez tous. 🔵Par exemple,faites +[menu/config]+[1]+[4].(la base que vous devez avoir pour régler l'écran.) 🔵8×18/,×11/8×2/,×2/8×19 🔵Maintenant,tous a la fin,vous spamez la touche cos (ou autre) pour rapidement remplir l'écran et vous vous arrêtez une fois que votre curseur devient un gros carré. 🔵À présent,positionnez votre curseur sur la première virgule, 🔵Appuyez sur + et vous avancez a l'aide des flèches directionnel. 🔵Pour mettre un "bloc" appuyez sur la touche en question en prenant bien attention d'avoir appuyer sur +. 🔵Pour le détruire,positionnez vous sur le bloc en question en remplacez le en tapant sur la touche en question. 🔸(glossaire en bas de la page) 🔺 8=mur de terre,de briques,bref. ,=sol en tous genres (herbe,fer,bois,etc.). 1=vitre/parquet 9=ennemi 0=porte 4=chaise,toilettes etc (×)=pouf (××)=lit (×××)=grand lit (×××) (×××)=grand lit deux places,etc. 🟠-Glossaire des problèmes a résoudre- -La map (je n'en ai pas encore fait :E )❌ -heu... je sèche. 🟣-Glossaire des problèmes régler- -Les combats;Avancer vous sur l'ennemi en question et remplacez le par un bloc comme une virgule;✅ -La mémorisation de map (partielle:écrivez votre map et faites .vous pouvez appuyer sur ,et faire [⬅️] ou [➡️] pour la retrouver à la fin où au début.) 🟡🌐-Glossaire des liens- voici quelques liens pour vous permettre de mieux comprendre votre FX 92+. Quelques programmes simples Un autre jeu Une recherche toute simple 🔍 Test de cette même calto c'est tous pour le moment ! Hé,cest deja pas mal,non ? PS:Je ne m'intéresse pas au jeu Minecraft,mais il a le mérite d'attirer des joueurs (notamment sur calculatrice ) et il y a beaucoup de demandes. j'ai donc trouvé ça,je vous le partage. Bonne journée. -AcrosCasio- Ps: si sa vous intéresse,voici le lien de mon journal dédiée à la FX 92+ Ici je prévois aussi un petit PDF avec des cartes et tout. Mon, 17 Oct 2022 07:56:31 +0200 Casio Compiler Explorer Setup Tutorial! https://www.planet-casio.com/Fr/forums/topic17143--.html Today I will show you how to run a local instance of compiler explorer (https://godbolt.org) with a compiler option for Casio calculators! Please note I have only tried this on Linux although it probably also works on MacOS. https://cdn.discordapp.com/attachments/743577895494221894/1015984694606696498/Casio_Compiler_Explorer.png #Step 0: Install basic build tools for your operating system On Linux it is often “build-essential” if you are on a debian based distro or “base-devel” if you are on an Arch based distro. On MacOS it is “xcode-select --install”. If that doesn’t work you may need to install XCode from the AppStore first (please note I am not a Mac expert). #Step 1: Install nodejs and npm If you already have them installed make sure you are using node version 16 LTS release and skip to step 2. It is not recommended to install nodejs and npm from your Linux distro’s repository! You should install them with a version manager like nvm or fnm. I will show you how to use fnm which is written in rust. If you are using MacOS you should install fnm with homebrew. Then go to (https://github.com/Schniz/fnm#shell-setup) and use the instructions for your shell and go to step 2. If you are unsure which one you have, type "echo $0" into the terminal and it will tell you. To install nodejs and npm type “fnm install 16” followed by “fnm use 16”. If you are on Linux do not install rustup or cargo from your Linux distro’s repository! Instead, go to the rust website (https://www.rust-lang.org/tools/install) and use the script to install rustup. Press 1 and hit enter to proceed with the default installation. Once it is finished you must close and reopen your terminal. Now type “cargo install fnm”. Once it is installed go to (https://github.com/Schniz/fnm#shell-setup) and use the instructions for your shell and go to step 2. If you are unsure which one you have, type "echo $0" into the terminal and it will tell you. To install nodejs and npm type “fnm install 16” followed by “fnm use 16”. #Step 2: Install Compiler Explorer Go to (https://github.com/compiler-explorer/compiler-explorer) and clone the repository to the directory of your choice. Then go into the directory and type “make”. If all has gone according to plan after a while (it can take quite some time) it should compile and you can access compiler explorer at http://localhost:10240. For now, just Ctrl+C to stop it and proceed to step 3. #Step 3: Install the Casio calculator compiler and build tools Go to (https://gitea.planet-casio.com/Lephenixnoir/GiteaPC) and install giteapc. If you are using MacOS make sure to also look at (https://www.planet-casio.com/Fr/forums/topic16614-8-giteapc-installer-et-mettre-a-jour-automatiquement-des-projets-gitea.html#186763). You may need to restart your terminal after you are done installing giteapc. Now we need to install gint and the compiler. Type “giteapc install Lephenixnoir/gint”. Please note that this will compile a lot of stuff including gcc and binutils so it will take quite some time. After that restart your terminal once more. Once that is done continue to step 4. #Step 4: Configure compiler explorer to add an option for a casio compiler If you want to download the config files instead I will attach them (https://gitea.planet-casio.com/Atrt7/Compiler-Explorer-Casio-Config). For additional information read (https://github.com/compiler-explorer/compiler-explorer/blob/main/docs/AddingACompiler.md). Please note in the provided config files you must put your username in the fields that require them, search for username and you fill find two in each config file. In the directory for compiler explorer go into the “etc” directory and then go into the “config” directory. Copy the file “c.defaults.properties” and paste it into the same directory with the name “c.local.properties”. Open “c.local.properties” and change the second line from “compilers=:&gcc:&clang” to “compilers=:&gcc:&clang:&casio”. By doing this we will add a Casio compiler group. Go to the bottom of the file and copy the following after an empty line. group.casio.compilers=ccasiodefault compiler.ccasiodefault.exe=/home/ChangeToYourUsername/.local/bin/sh-elf-gcc compiler.ccasiodefault.supportsExecute=false compiler.ccasiodefault.needsMulti=false compiler.ccasiodefault.objdumper=/home/ChangeToYourUsername/.local/bin/sh-elf-objdump compiler.ccasiodefault.name=casio default Make sure you put your username where ChangeToYourUsername is, there are two spots. Also where it says “defaultCompiler=gdefault” change "gdefault" to “ccasiodefault”. Now we must do the same for c++. Copy “c++.defaults.properties” and name the copy “c++.local.properties”. Open “c++.local.properties” and change the second line from “compilers=:&gcc:&clang” to “compilers=:&gcc:&clang:&casio”. You will notice a block of continuous lines that starts with group.gcc.compilers=g44:g45:g46:g47:g48:g5:g6:g7:g8:g9:g10:g11:gdefault and ends with compiler.gdefault.name=g++ default After this continuous block of configurations add a blank line followed by group.casio.compilers=cppcasiodefault compiler.cppcasiodefault.exe=/home/ChangeToYourUsername/.local/bin/sh-elf-g++ compiler.cppcasiodefault.supportsExecute=false compiler.cppcasiodefault.needsMulti=false compiler.cppcasiodefault.objdumper=/home/ChangeToYourUsername/.local/bin/sh-elf-objdump compiler.cppcasiodefault.name=casioc++ default Please note that you must put your username where ChangeToYourUsername is, there are two spots. Now go to the bottom of the file. Finally around the bottom of the file there should be a line that says “defaultCompiler=gdefault”. Change “gdefault” to “cppcasiodefault”. #Step 5 Now everything should be set up, you can go to the top of the compiler explorer directory and type “make” again and everything should work. Because we don’t have a fully set up cmake project in compiler explorer, you must put “#define FX9860G” or “#define FXCG50” for the respective platform you are using if you want to use gint headers in compiler explorer. Don’t put that #define in your actual project code however, only use it for compiler explorer. Also if you want many more languages and architectures for your local compiler explorer instance read (https://github.com/compiler-explorer/infra). Note that these are the ones you find on godbolt not anything related to casio calculators. If you get a makefile error after running “make” try “make clean” and then “make” again. Please let me know if everything works and if there are any mistakes or any improvements I can make. I hope my work proves helpful to you all! Sun, 04 Sep 2022 16:08:50 +0200 TechTuto #01 - Utiliser la STL sur Casio - Partie 1 - Intro / Installation https://www.planet-casio.com/Fr/forums/topic17097--.html Soyez les bienvenus dans cette petite série d'articles que nous pourrions qualifier de "techniques", dans le sens où le but est de proposer des éléments de résolution de problèmes concrets et pratiques qui apparaissent souvent durant la création d'un programme. Le but n'est clairement pas de proposer des tutoriels exhaustifs sur un sujet, il en existe certainement des milliers d'autres soit plus complets, soit plus détaillés et donc tout simplement meilleurs sur Internet, mais bien de préciser ce qu'il est possible de faire sur nos belles machines Casio avec les outils disponibles. Nous allons donc donner dans le tutoriel applicatif sur nos machines favorites ;) Dans la philosophie, il s'agit avant tout d'un échange, tout commentaire (constructif bien entendu) et toute expérience (bonne ou mauvaise) sera intéressante à partager via les commentaires/messages. Alors n'hésitez pas à participer. Pour commencer ce que j'espère être une série au moyen/long terme, je vous propose de regarder d'un peu plus près une librairie très intéressante : la Standard Template Library ou STL. La STL, c'est quoi au juste ? La Standard Template Library (on écrira STL par la suite, c'est nettement plus court :E ) est une bibliothèque destinée au langage C++ et normalisée par l'ISO à travers le document ISO/CEI 14882. Elle est mise en œuvre à l'aide des templates (ou autrement nommés modèles/patrons en français). Cette bibliothèque offre les fonctionnalités (principales) suivantes : - un ensemble de classes conteneurs (containers), telles que les vecteurs (vector), les tableaux associatifs (map), les listes doublement chaînées (list), etc. qui peuvent être utilisées pour contenir n'importe quel type de données à condition que le type concerné supporte certaines opérations telle que la copie et l'assignation. - une abstraction des pointeurs : les itérateurs (iterator), qui fournissent un moyen simple et élégant de parcourir des séquences d'objets dans les conteneurs sus-cités et qui permettent la description d'algorithmes indépendamment de toute structure de données. - des algorithmes génériques tels que des algorithmes d'insertion/suppression, recherche et tri dans les conteneurs. - une classe string permettant de gérer efficacement et de manière sûre les chaînes de caractères. - et diverses autres classes ou méthodes qui rendent la vie du programmeur C++ nettement plus facile :D Cette définition est assez large, mais elle contient des points néanmoins très très importants : - il s'agit d'une librairie C++, pas C. Elle n'est pas utilisable sans avoir accès à un compilateur C++, qui fort heureusement est disponible pour nos machines Casio (ce bon vieux GCC dans sa version SH). En particulier la définition des classes reposant sur l'usage de templates rend nécessaire le langage C++. - il s'agit d'une librairie normalisée (au sens de correspondant à une norme, i.e. standardisée), donc compatible sur diverses architectures, permettant ainsi la retranscription aisée d'un programme sur une autre cible, en minimisant les parties à ré-écrire. OK, OK, mais concrètement on peut faire quoi avec cette STL ? Imaginons un instant que vous vouliez écrire un programme dont les données seront contenues dans un tableau, mais dont la taille vous est par avance inconnue (par exemple reposant sur les entrées au bon vouloir d'un utilisateur). Il existe classiquement la méthode de l’allocation dynamique via malloc, que les programmeurs avec un peu d’expérience connaissent bien. Mais cela nécessite l’écriture de routines spécifiques pour gérer un nombre de cas usuels (insertion d’un nouvel éléments dans le tableau, suppression d’un élément, …). Les plus courageux peuvent se lancer dans l'écriture de fonction permettant d'opérer dans un tableau dynamiquement alloué ou dans une liste chaînée. Bien entendu tout cela est faisable, mais au prix d’un effort conséquent de programmation. Disons simplement que c'est sympa à faire une fois pour comprendre, mais devient vite pénible si on considère que ce cas revient dans de très nombreux programmes. L'idéal serait d'avoir des méthodes génériques permettant d'opérer de la même manière quel que soit le contenu à stocker. En gros, séparer le contenant du contenu, comme une bouteille en verre sait aussi bien contenir du lait que de l'eau ou même du sable ... Et bien soyez heureux, nous allons justement voir comment arriver à ce résultat dans vos programmes. En effet, la STL offre un ensemble de conteneurs qui permettent de stocker divers types de données indépendamment de leur type. Par exemple, si vous voulez stocker des données de type uint32_t, ou de type char* ou bien encore de type tartampion, la STL vous offre un certain nombre de conteneurs génériques opérationnels de manière totalement transparente (par exemple une liste chainée list ou bien un tableau dynamique vector pourraient être de bons candidats). Ainsi si on désire stocker dans une liste doublement chaînée (pas de panique, on expliquera bientôt) des entiers non signés sur 16bit, rien de plus simple, il suffit de déclarer : std::list<uint16_t> maListe;pour ensuite remplir la liste, il suffit d’ajouter des éléments à la fin de cette dernière : maListe.push_back( 10 ); maListe.push_back( 45 ); maListe.push_back( 60 );ce qui en langage décodé revient à créer une liste d'entiers positifs sur 16bits dans une liste portant le doux nom de maListe (je sais c'est original et recherché comme nom ;) ). Ensuite on ajoute à cette liste les entiers 45 puis 60. De même pour stocker des pointeurs vers des objets de type Point2D, là encore très facile : class Point2D { public: float x; float y; Point2D( float xn, float yn ) {x=xn; y=yn;}; ~Point2D( ); }; std::vector<Point2D *> maListeDePoint2D;l’insertion est dans ce cas juste un peu plus subtile, car il faut créer les instances d’objets dont on désire garder trace du pointeur dans notre liste : Point2D *monPoint = new Point2D( 1.0f, 2.0f ); maListeDePoint2D.push_back( monPoint );cette fois on stocke dans un tableau dynamique (vector, mais on y reviendra là encore par la suite) les adresses des pointeurs de type Point2D instanciés par l'opérateur new. Donc vous l’aurez compris, le but de la STL est d’offrir tout un éventail de classes permettant de gagner énormément de temps lors de la réalisation d’un programme en C++. Elle permet en effet de ne pas avoir à coder des pans entiers de programmes simplement destinés à manipuler des types de données en offrant des classes génériques, mais surtout ces classes sont très largement utilisées par la communauté depuis de nombreuses années et les bugs ont été très largement corrigés (les premières pierres de la STL ayant été posées à la fin des années 70). Le principal apport de la STL est d'offrir un code C++ normalisé pour certains objets classiques, garantissant ainsi un code source lisible, facilement réutilisable et maintenable. Comment on se sert de la STL sur Casio ? Nous partirons sur le principe que vous codez via gint, l’implémentation de la STL étant basée sur gint/fxSDK/fxlibc et le compilateur GCC adapté à l’architecture SH. Sur une installation fonctionnelle de gint/fxSDK, il suffit alors de passer par giteapc pour ajouter la librairie µSTL2.3 giteapc install Slyvtt/uSTL2_3 µSTL est une implémentation légère de la STL destinée en priorité aux architectures dites embarquées et n’offrant pas une puissance de calcul démesurée (typiquement nos Casio correspondent bien à cette définition). Cette version légère reprend néanmoins le standard de la STL et offre les fonctions les plus importantes de cette dernière. Je vous invite éventuellement à regarder le fil du développement de cette librairie ici : µSTL pour Casio Lors de la création d’un nouveau projet avec fxSDK fxsdk new monProjet il vous faudra procéder à quelques ajustements dans le projet afin de vous mettre en ordre de bataille pour compiler en C++ et pour préciser le linkage avec la librairie STL. Pour ce faire, deux étapes sont à réaliser : 1/ le fichier main.c situé dans le répertoire src de votre projet doit être renommé en main.cc afin de faire comprendre au compilateur GCC que le code source est bien en C++ et pas en C (note: a priori ceci est inutile si on applique bien le point 2/, mais reste néanmoins recommandé afin d'éviter tout problème). 2/ il faut indiquer les options de compilation et de linkage dans le fichier CMakeLists.txt situé à la racine de votre projet et le mettre en conformité avec votre changement fait en 1/ : a) il faut changer les lignes set(SOURCES src/main.c # ... ) par set(SOURCES src/main.cc # ... ) afin de refléter le changement d’extension du fichier main vu en 1/. b) il faut changer la ligne target_compile_options(myaddin PRIVATE -Wall -Wextra -Os) par target_compile_options(myaddin PRIVATE -Wall -Wextra -Os -c -std=c++11 -fno-rtti -fno-use-cxa-atexit) ceci permet de dire au compilateur quel standard du langage il doit utiliser (ici C++ version du standard 2011) ainsi que diverses options nécessaires pour avoir une STL fonctionnelle. c) enfin, il faut changer la ligne target_link_libraries(myaddin Gint::Gint) par target_link_libraries(myaddin Gint::Gint -lustl -lc) afin de correctement linker votre programme avec la librairie µSTL compilée pour votre toolchain. A ce stade, il devient possible d'utiliser la STL dans un projet pour Casio (Graph 35 ou 90). Mon premier exemple utilisant la STL sur Casio Nous allons écrire notre tout premier programme utilisant la STL afin de vérifier que tout fonctionne bien, ce qui nous permettra de clore ce premier article avec une installation fonctionnelle. Nous entrerons plus en avant dans l'utilisation de la STL dans les articles à venir. Ce petit programme ne sera donc pas explicité dans le détail, mais permettra seulement de vérifier que votre installation fonctionne correctement, ce qui constituera le point de départ pour les articles suivants (nous considérerons donc que cette étape est franchie et ne reviendrons donc pas sur cette phase d'installation). Notre premier programme consiste donc en un simple remplissage d'un tableau dynamique de type vector, et en son affichage afin de vérifier que tout fonctionne de manière adéquate (compilation, linkage et exécution sur les machines Graph 35/Graph 90). Ouvrons donc le fichier source main.cc de notre projet et copions le texte du programme suivant : #include <gint/display.h> #include <gint/keyboard.h> #include <vector> #define std ustl // A garder pour pouvoir faire des appels via std:: int main(void) { dclear(C_WHITE); dtext(1, 1, C_BLACK, "uSTL vector test."); std::vector<int> v; v.push_back( 10 ); v.push_back( 20 ); auto it = v.emplace( v.begin(), -10 ); v.emplace( it+1, 0 ); for( unsigned int k=0; k<v.size(); k++) dprint( 1, 10+k*10, C_BLACK, "v[%d] = %d", k, v ); dupdate(); getkey(); return 1; } Le fichier CMakeLists.txt complet doit ressembler au minimum à cela: cmake_minimum_required(VERSION 3.15) project(MyAddin) include(GenerateG1A) include(GenerateG3A) include(Fxconv) find_package(Gint 2.4 REQUIRED) set(SOURCES src/main.cc # ... ) # Shared assets, fx-9860G-only assets and fx-CG-50-only assets set(ASSETS # ... ) set(ASSETS_fx assets-fx/example.png # ... ) set(ASSETS_cg assets-cg/example.png # ... ) fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA) add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}}) target_compile_options(myaddin PRIVATE -Wall -Wextra -Os -c -std=c++11 -fno-rtti -fno-use-cxa-atexit) target_link_libraries(myaddin Gint::Gint -lustl -lc) if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G) generate_g1a(TARGET myaddin OUTPUT "Tuto001.g1a" NAME "STLTuto001" ICON assets-fx/icon.png) elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50) generate_g3a(TARGET myaddin OUTPUT "Tuto001.g3a" NAME "STLTuto001" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png) endif() Ce simple code peut être compilé via : fxsdk build-fx pour les monochromes Graph 35 (fx9860G) avec ce résultat visuellement lors de l'exécution sur la machine uSTL_Tuto001_G35.png ou fxsdk build-cg pour la Graph 90+E (fxCG 10/20/50) avec ce résultat visuellement lors de l'exécution sur la machine uSTL_Tuto001_G90.png Petite remarque en passant: n'ayant que des machines en SH4 (Graph 90+E, Graph 35+E II et fxCG-20), je n'ai pas pu tester sur les anciens modèles monochrome en SH3. Donc mea culpa si tout ne fonctionne pas très bien. Une recompilation de la librairie STL est certainement à prévoir sur cette architecture :oops: . Logiquement la compilation devrait se passer sans problème. Si tel n'est pas le cas, laissez un commentaire afin que le SAV puisse vous aider à atteindre cette étape importante pour la suite. Il vous reste donc à copier le fichier g1a ou le g3a à la racine de votre machine selon son type et à exécuter l'Addin correspondant. Vous devriez obtenir le résultat présenté sur les captures d'écran précédentes. Si vous arrivez à ce point, bravo à vous 8-) , vous avez désormais une installation complètement fonctionnelle de la STL dans votre toolchain de développement pour Casio. Vous pourrez donc profiter des nombreux avantages offerts par cette libraire. La suite ... Dans les articles à venir, nous ferons un tour rapide des différents conteneurs disponibles dans la STL afin de vous en présenter les avantages et inconvénients (et les points à considérer pour choisir le meilleur candidat pour telle ou telle application) ainsi que les principales méthodes associées. En attendant, n'hésitez pas à faire vos commentaires et/ou à faire remonter vos questions/avis ... A très bientôt pour les prochains épisodes. Liens utiles Si vous voulez trouver plus de documentation sur la STL, la µSTL ainsi que sur leur utilisation, voici quelques liens utiles pour aller plus loin : Site de la µSTL par l'auteur de la librairie Mike Sharov. Le site CPlusPLus et en particulier le chapitre sur les containers. Le site CppReference et là encore le chapitre sur les containers. Pour ces deux derniers sites, n'hésitez pas à les mettre dans vos favoris, si vous codez en C++, ils constituent une mine d'or et permettent de trouver plein infos sur le C/C++. Thu, 09 Jun 2022 18:41:23 +0200 Faire un jeu fx 92+ ? Finalement, c'est pas compliqué ! https://www.planet-casio.com/Fr/forums/topic17094--.html Avez vous déjà rêvé (si vous en avez une) de pouvoir faire ou jouer à un jeu sur votre limité fx 92+ ? Et bien c'est possible ! Grâce aux caractéres et à un peu d'imagination ! Ne vous inquiétez pas ce n'est pas si compliqué que ça. Déjà, posons les bases. Vous n'allez pas pouvoir faire un jeu de dingue non plus. Ce ne sera que vous et vous seule qui donnerez un sens à votre jeu. Et puis vous pouvez quand même contourner un peu le fonctionnement pour pouvoir l'améliorer et le partager à la communauté. Et je ne vais pas vous faire un jeu vidéo. Je vais juste vous apprendre à faire un jeu sur fx 92+ et après vous en ferez ce que vous voudrez. Il reste aussi d'important problème à régler comme ; °Le système d' attaque et de riposte. (il n'y en a tout simplement pas) °Les ennemies statiques. °etc... Bref. Je vais être court. Suivez ce petit schéma et vous comprendrez ou je veux en venir. 8=mur 0=porte ,=sol de tous genre ou zone vide ex. L'entrée d'une grotte ou un mur cassé. A=enemie -=chemin basique ÷=chemin qui mène à autre chose. (généralement une porte) = =de l'eau Etc 🔵N'oubliez pas de détaillé vos carte si vous les publiez. Ex: 16x8, 7x-,etc... Je ne vous en dit pas plus et je vous laisse continuer votre jeu tranquillement. 😁 (N'oublier pas d'en partager le code) Et si cela n'était pas très clair, je vous laisse me demander de faire un autre tuto plus détaillé ! Sur ce, a bientôt ! 🖖 PS: si cela vous intéresse,vous pouvez jetter un œil a mon journal entièrement dédié à la FX 92+ici Wed, 08 Jun 2022 15:50:00 +0200 [Tutoriel] Utiliser les émulateurs CASIO sous Linux avec Wine https://www.planet-casio.com/Fr/forums/topic17072--.html Les émulateurs officiels de CASIO sont très utiles pour avoir un aperçu de chaque modèle, pour tester des programmes sur les calculatrices qu'on ne possède pas, prendre des captures d'écran ou des captures vidéo, ou même tester des add-ins en développement. Ils ne sont officiellement pas compatibles avec Linux, mais Wine vient à notre rescousse pour les utiliser de façon transparente ! Wine Wine est un outil classique des Linuxiens. C'est un niveau de compatibilité qui traduit les API Windows en Linux/BSD, ce qui permet de lancer nativement des applications Windows sous Linux. Généralement, la difficulté avec Wine c'est qu'il est difficile de supporter l'intégralité de l'environnement Windows et ses API, et donc il y a souvent des subtilités pour installer/lancer correctement les applications. D'où ce tutoriel, qui vous aidera à tout mettre en place :) Émulateur Graph 90+E Commencons par un facile : l'émulateur Graph 90+E (ici en version 3.60 - lien de téléchargement). Lancez le fichier téléchargé avec la commande `wine` ou directement depuis une interface graphique : % wine fx-CG_Manager_PLUS_Subscription_for_fx-CG50_GRAPH90_series_Ver.3.60.exe Wine démarre. Si une popup s'affiche parlant de `wine-mono` pour les applications .NET, vous povez l'ignorer ("Cancel"). Ensuite vient la sélection de la langue. https://gitea.planet-casio.com/Lephenixnoir/Tutoriels/raw/branch/master/Utiliser%20les%20%C3%A9mulateurs%20CASIO%20sous%20Linux%20avec%20Wine/cg50-lang.png Ensuite le contrat de licence, et après quelques étapes l'installation se termine de façon automatique. https://gitea.planet-casio.com/Lephenixnoir/Tutoriels/raw/branch/master/Utiliser%20les%20%C3%A9mulateurs%20CASIO%20sous%20Linux%20avec%20Wine/cg50-license.png Pour lancer l'émulateur, il faut maintenant appeler l'exécutable qui a été installé. Cependant, il faut aussi spécifier un argument, sans quoi on a une erreur (un fait découvert par Redoste) : wine "$HOME/.wine/drive_c/Program Files (x86)/CASIO/fx-CG Manager PLUS Subscription for fx-CG50series/fx-CG_Manager_PLUS_Subscription_for_fx-CG50series.exe" /n"fx-CG Manager PLUS Subscription for fx-CG50series" Et voilà ! Je conseille d'ajouter un alias à votre terminal. https://gitea.planet-casio.com/Lephenixnoir/Tutoriels/raw/branch/master/Utiliser%20les%20%C3%A9mulateurs%20CASIO%20sous%20Linux%20avec%20Wine/cg50-emu.png Émulateur Graph 35+E II L'émulateur Graph 35+E II (ici en version 3.50 - lien de téléchargement) est plus récent et un peu plus complexe : il faut aussi installer des dépendances. Pour ça, on va utiliser WineTricks, un utilitaire de Wine (technique découverte par Ptitjoz). # Installation de WineTricks pour Debian/Ubuntu/Linux Mint et dérivés: % sudo apt install winetricks # Installation de WineTricks pour Manjaro/Arch et dérivés % sudo pacman -S winetricks Les deux composants dont on a besoin sont `vb6run` et `vcrun2015`: % winetricks vb6run % winetricks vcrun2015 Une fois ces formalités accomplies, on peut continuer comme pour la Graph 90+E : % wine fx_Manager_PLUS_Subscription_for_fx_9860GIII_GRAPH35_series_Ver.3.50.exe Et de même, il faut un argument spécial pour le lancer : wine "$HOME/.wine/drive_c/Program Files (x86)/CASIO/fx-Manager PLUS Subscription for fx-9860GIIIseries/fx-Manager_PLUS_Subscription_for_fx-9860GIIIseries.exe" /n"fx-Manager PLUS Subscription for fx-9860GIIIseries" Et voilà, ça roule ! https://gitea.planet-casio.com/Lephenixnoir/Tutoriels/raw/branch/master/Utiliser%20les%20%C3%A9mulateurs%20CASIO%20sous%20Linux%20avec%20Wine/fx-emu.png Émulateur fx-92 Scientifique Collège+ L'installation se déroule comme pour les autres. Commencez par lancer l'installeur directement dans Wine : % wine "ClassWiz Emulator Subscription for fx-92+ Speciale College Ver.2.01_b.exe" Pour celui-ci le lancement est direct, pas besoin d'un argument supplémentaire : wine "$HOME/.wine/drive_c/Program Files (x86)/CASIO/ClassWiz Emulator Subscription/fx-92+ Speciale College Emulator/fx-92+ Speciale College Emulator.exe" Et voilà ! Le terminal se plaint de divers problèmes, mais ça marche quand même. https://gitea.planet-casio.com/Lephenixnoir/Tutoriels/raw/branch/master/Utiliser%20les%20%C3%A9mulateurs%20CASIO%20sous%20Linux%20avec%20Wine/fx92-emu.png Amusez-vous bien avec ces émulateurs ! :D Sun, 08 May 2022 18:21:45 +0200 [Snippet] File.h, une petite bibliothèque pour rechercher des fichiers dans votre calculatrice https://www.planet-casio.com/Fr/forums/topic17020--.html Hello Cher Casiophile ! :D Ce que je te présente ici n'est pas un programme. Hein ??! Mais du coup, qu'est-ce que c'est ? Il s'agit en réalité d'une petite bibliothèque (enfin, si l'on peut appeler bibliothèque une fonction unique), destinée aux développeurs C. Cette fonction, User_Choose_File(), permet à l'utilisateur de choisir un fichier dans la mémoire de stockage ou dans la carte SD (pour les caltos équipées). En voici un aperçu : https://ejkblw.bn.files.1drv.com/y4m0du-A0yEXilD1l9PuJwEKl7NCXsK8O3bbW-7tI3eShhwzwEUuG861x49Ow63jitsj6NTYJ2Z8hk9AsH9b-ekspo-rHHbHf67L90Tvpff8Ff0bLsiFfVSbIFUQGkNhVzcCCw8qLD4gOrEtdaOm8NsbTND28ugAlhfBuK20Oc4_nEDJkvsxPI9aMA5Wlw6dr0iMfqwvZpwMzcZDtFm8pfJIA/GIF.gif?download&psid=1 Elle se comporte un peu comme lorsque vous faites CTRL + o dans un éditeur de texte. Elle dépend de MonochromeLib. Cette fonction peut être utilisée par une Graph 85, 75+E SH3/SH4, et théoriquement même par une 35+E II. Cependant, étant donné que la fonction fouille la mémoire de votre calculatrice, la compatibilité avec ce modèle n'est pas certaine. :here: Le zip contient les deux fichiers sources (.c et .h) ainsi qu'une documentation détaillée. Lisez la documentation fournie dans le zip pour pouvoir en comprendre l'utilisation, et n'hésitez pas à commenter pour tout retour de bogue ou idées d'améliorations ! ;) Ce produit est sous license Creative Commons CC BY-NC-SA 4.0. En vous souhaitant (oui, oui, avec du retard…) une excellente année 2022 pleine de programmes, de projets, et de succès ! :D Sat, 12 Mar 2022 17:43:30 +0100 [100% VRAI] 5 astuces pour rendre son jeu plus populaire ! https://www.planet-casio.com/Fr/forums/topic17017--.html Bonsoir à toutes et à tous ! Cette nuit, nous nous retrouvons pour un tout nouvel épisode de "Casio Techno", dédié cette fois-ci à la promotion de son jeu ! La plus grande angoisse de nos jeunes programmeurs est d'avoir un faible compteur de téléchargements, trahissant une mauvaise qualité de ses jeux. Tout le monde rêve de reproduire le mythique succès de Dumb Clicker, or la tâche n'est pas facile. Aujourd'hui dans "Casio Techno", la rédaction vous propose 5 conseils indispensables pour rendre votre jeu plus populaire et atteindre le top 10 ! Tip #1 – Faites un platformer ou un RPG pour la Graph 90+E ! Que serait Planète Casio sans ses innombrables jeux de plateforme et autres jeux de rôle ? Le marché est inondé de ces créations, et prouve bel et bien qu'il est pri-mor-dial de s'orienter vers ces deux genres afin de toucher un public plus large. De plus, évitez les jeux en monochrome. Le noir et blanc, c'est moche, c'est has-been et de toute façon t'auras pas d'émulateur NES sur ta Graph 35+E II. Nah. Tip #2 – Faites des jeux durs. Très durs ! Parce qu'on sait que l'humain est masochiste par nature, faites vos jeux le plus dur possibles. Si votre platformer a plus de blocs d'airs que de pics, il faut remettre votre level design en question. Si votre RPG n'a pas de monstres avec 10 niveaux de plus que vous au bout d'une douzaines de minutes, alors la courbe de progression est mal calculée. L'homme aime se surpasser, jouez avec ça ! De plus, la frustration d'un niveau non terminé fera revenir le joueur à l'avenir. Dans la même veine, ne faites pas de checkpoint ni de points de sauvegarde. C'est pour les loosers, ne prenez pas le public pour des bébés. Tip #3 – Prenez votre temps, vous avez toute une vie ! Faites de la promotion dans la Revue des Projets, partagez des semblants d'avancées dans un topic dédié, ou bien spammez subtilement le channel #projets. Ne rendez pas votre jeu public avant l'heure, ce serait gâchez totalement la hype entourant votre ouvrage de maître. Ne le faites pas playtester, n'en faites pas des vidéos qui dévoilent trop : contentez-vous de longs devlogs textuels sans image afin de stimuler l'imagination et le curiosité du lecteur. Prenez votre temps ! Mieux vaut un jeu bien fait avec plein de contenu et une longue durée de vie – quitte à augmenter la difficulté, plutôt qu'un prototype moche dont personne ne voudra. Voyons, vous avez tout le temps qu'il faut, que pourrait-il arriver de mal ? Tip #4 – Il n'y a jamais assez de waifus et des explosions ! C'est assez explicite. Tip #5 – Postez vos jeux sur TI-Planète à la place de Planète Casio ! De toute façon Planète Casio est un vieux forum obsolète. Tous les jeunes se fournissent sur TI-Planète de nos jours ! Ne vous privez pas d'une audience aussi large. En prime, Critor fera la promotion de votre jeu contrairement aux feignasses qui se prétendent rédacteurs sur Planète Casio. "Casio Techno", l'émission qui fait éclater la vérité ! Et bien chers amis auditeurs, c'est tout pour cette nuit. Bien évidemment, la liste de conseils est vaste, et nous aurions pu parler aussi des remakes de jeux déjà existant pour attirer le public ou bien l'emploi du Comic Sans MS sur fond de couleurs flashy afin d'attirer les joueurs. La rédaction vous souhaite un bon moment de programmation et un glorieux succès. À bientôt sur "Casio Techno !" Note de l'éditeur : N'hésitez pas à partager vos plus belles astuces en commentaire et à partager ce post sur tous les réseaux sociaux ! Note de l'auteur : À l'aiiiide ils m'ont trouvmmmh— mmmh— —— Sat, 12 Mar 2022 01:00:33 +0100