[ Petit Computer ] Apprendre à programmer en Basic sur DS/3DS

Petit Computer est une petite tuerie développée par SmileBoom, qui permet de programmer sur DS/3DS dans un langage proche du Basic.

Et ils ont fait ça bien propre : en plus d’avoir optimisé le langage pour la plateforme (et donc pour les jeux) ils fournissent en natif des outils pour créer des sprites, des décors et de la musique, en fournissant dès le départ des banques graphiques et sonores, transformant Petit Computer en un équivalent portable (et plus modeste) de Game Maker. Pour prototyper des projets sur le pouce, ou tout simplement apprendre à programmer, c’est redoutable.

En proposant des outils d’importations/d’exportations modernes et malins (QR Code + Carte SD), Petit Computer est en quelque sorte la quintessence d’un concept né à la fin des années 70.

Vu que les ressources s’accumulent et qu’une version 3DS est en préparation, ce topic va vite s’avérer nécessaire

Le site : http://www.petitcomputer.com/
Le manuel : http://www.petitcomputer.com/manual/manual.zip
Une mini série de tutos sur Youtube qui permettent de prendre la température : https://www.youtube.com/watch?v=afWBOQH2JAw
Le wiki : http://petitcomputer.wikia.com/wiki/Petit_Computer_Wiki
L’utilitaire indispensable qui facilite plein de choses : http://micutil.com/ptcutilities/top_e.html
Un forum en Français : http://petitcomputer-france.forumactif.org

Pour une raison inconnue, l’aide en ligne traduite en Français s’arrête au chapitre 7, alors qu’elle semble aller beaucoup plus loin sur la version anglaise, et ça ne serait pas étonnant car dans l’état, il manque cruellement des informations, notamment la liste des commandes.

Une question qui me vient en me frottant aux limites du Basic (et surtout aux miennes), comment ça se gère le multitâche sur un langage d’adulte ? Parce que là je bosse sur plusieurs routines textuelles que j’enchaine en appuyant sur un bouton, mais je fais surement ça comme un porc, je scanne le bouton en question une fois par boucle principale. Alors forcément, quand les boucles sont longues, ça créé une latence bien dégueulasse et on rate souvent la frame qui passe par cette condition. Donc déjà, est-ce qu’en Basic il est possible de faire autrement, et sinon, dans un langage d’adulte du genre C, est-ce qu’il est possible de définir des fonctions “interruptions” prioritaires sur le reste ?

Je cherche aussi le moyen de compter le nombre de caractères d’une variable pour créer un tableau de cette dimension derrière, mais je n’ai pas encore trouvé la fonction qui me permettrait de le faire.

Et pour finir, ça fait deux heures que je me casse les dents sur un algo simplissime qui m’embrouille la tête : je cherche à afficher un mot d’une certaine couleur, puis à créer un effet de “vague” en changeant la couleur de la première lettre et à transposer cette couleur aux autres lettres jusqu’à la fin du mot. Avec bien sur pour impératif de remettre la lettre précédente à la couleur d’origine.

J’ai donc rentré les lettres du mot en question dans un tableau, puis à l’aide d’une boucle FOR de la longueur du mot j’affiche les lettres une par une avec la couleur principale, ça c’est pour le premier passage. C’est après que ça se complique. A chaque fois qu’on arrive à la fin du mot, je mets la variable DEBUT à 1 pour signifier qu’on commence un nouveau mot, et donc, que la lettre précédente à remettre dans la couleur d’origine n’est pas la L-1 mais la dernière lettre du mot. Si DEBUT = 0 ça veut dire qu’on est en train d’écrire le mot, et donc que la L-1 est bien la L-1 dans le tableaux et que je peux changer sa couleur. J’ai bon ? Parce que ça ne marche pas des masses…

est ce que tu as regardé la section “31 Search & Replace Character Functions” du manuel ? il y certainement des fonctions qui doivent pouvoir t’aider.