**Le SDK pour fx-9860/Graph85** Topic officiel
Posté le 18/07/2007 15:08
Vu la multitude de topics sur le SDK de la 85, j'ai décidé d'en faire un seul et unique, où l'on posera nos problèmes et explications sur ce même topic, et non pas sur 50, par souci de clareté et de facilité.
Des nouveautés ? Des problèmes ? Des idées ?
Exposez les ici !
Voici une liste de commandes commencées par Muelsaco. N'hésitez pas à rajouter vos commandes dans le topic je les rajouterai pour en faire profiter tout le monde. Merci.
// Locate X,Y,"Texte"
:arrow: locate(x,y); Print("Texte");
// Text X,Y,"Texte"
:arrow: PrintMini(x,y,"Texte",0);
// F-Line x1,y1,x2,y2
:arrow: Bdisp_DrawLineVRAM(x1,y1,x2,y2);
// Tracer une ligne blanche
:arrow: Bdisp_ClearLineVRAM(x1,y1,x2,y2);
// PxlOn x,y & PxlOff x,y
:arrow: Bdisp_SetPoint_VRAM(x,y,<couleur>)
<couleur> : 0 pour le blanc, 1 pour le noir
// Cls
:arrow: Bdisp_AllClr_DDVRAM();
// Actualiser l'écran
:arrow: Bdisp_PutDisp_DD();
Fonction très importante. Elle permet d'afficher une image tracée virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM puis affichée à l'écran. Vous ne verrez donc pas votre image s'afficher tant que vous n'aurez pas appelé Bdisp_PutDisp_DD(). À noter que les fonctions GetKey() et Print() l'appellent automatiquement.
While <exp1>
<code>
WhileEnd
:arrow:
while(<exp1>)
{
<code>
}
// StoPict x
:arrow: SaveDisp(x);
x variant de 1 à 3 uniquement.
// RclPict x
:arrow: RestoreDisp(x);
x variant de 1 à 3 uniquement.
// Ouvrir un popup (comme les erreurs syntaxe, etc)
:arrow: PopUpWin(<taille>);
<taille> : de 1 à 8.
Rappels sur les variables globales : Source
* Les variables globales sont à utiliser avec précaution, puisqu'elles créent des liens invisibles entre les fonctions. La modularité d'un programme peut en souffrir et le programmeur risque de perdre la vue d'ensemble.
* Il faut faire attention à ne pas cacher involontairement des variables globales par des variables locales du même nom.
* Le codex de la programmation défensive nous conseille d'écrire nos programmes aussi 'localement' que possible.
L'utilisation de variables globales est jusitifiée, si
* Plusieurs fonctions qui ne s'appellent pas ont besoin des mêmes variables, ou
* Plusieurs fonctions d'un programme ont besoin du même ensemble de variables. Ce serait alors trop encombrant de passer toutes les variables comme paramètres d'une fonction à l'autre.
Citer : Posté le 10/03/2014 21:15 | #
Quelqu'un connaît-il un tutoriel pour créer et manipuler des fichiers on-calc ? Apparemment ce n'est pas pareil que dans les programmes en console, et je n'ai trouvé des informations ni ici ni dans le cours de Top-progcasio
Citer : Posté le 10/03/2014 21:19 | #
{
unsigned short filename[20]={'\\','\\','f','l','s','0','\\'};
int a = 0;
int handle;
do
{
filename[7+a]=name[a];
a++;
}while(name[a] != 0);
filename[7+a] = '.';
filename[8+a] = extension[0];
filename[9+a] = extension[1];
filename[10+a] = extension[2];
filename[11+a] = 0;
handle = Bfile_OpenFile(filename,_OPENMODE_READ);
if(handle>-1)
{
Bfile_ReadFile(handle,reception,Bfile_GetFileSize(handle),0);
Bfile_CloseFile(handle);
return 1;
}
return 0;
}
int writeFile(unsigned char* name,unsigned char* extension,unsigned char* source,int taille)
{
FONTCHARACTER filename[20]={'\\','\\','f','l','s','0','\\'};
int a = 0;
int handle;
do
{
filename[7+a]=name[a];
a++;
}while(name[a] != 0 || a>7);
filename[7+a] = '.';
filename[8+a] = extension[0];
filename[9+a] = extension[1];
filename[10+a] = extension[2];
filename[11+a] = 0;
Bfile_DeleteFile(filename);
Bfile_CreateFile(filename,taille);
handle = Bfile_OpenFile(filename,_OPENMODE_WRITE);
if(handle>-1)
{
Bfile_WriteFile(handle,source,taille);
Bfile_CloseFile(handle);
return 1;
}
return 0;
}
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 10/03/2014 21:42 | #
Merci pour ta réponse détaillée
Plus sérieusement je pense pouvoir me débrouiller mais j'aimerais une petite précision : le fichier est-il créé à la lecture s'il n'existe pas ?
:
Citer : Posté le 10/03/2014 21:44 | #
Non, le handle est négatif si tu essaye d'ouvrir un fichier inexistant. (d'ou le if(handle>-1))
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 10/03/2014 21:44 | #
Non, l'ouverture renvoie un code d'erreur que tu peux retrouver dans filebios.h.
Citer : Posté le 10/03/2014 21:45 | #
Dans ce cas, comment faire pour le créer soi-même ?
Est-ce une manipulation à faire dans l'add-in où via l'ordinateur ?
Citer : Posté le 10/03/2014 21:48 | #
http://wiki.planet-casio.com/fr/Fxlib.h#Bfile_CreateFile
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 10/03/2014 21:52 | #
Oooh merci, je n'avais encore jamais entendu parler de cette caverne d'Ali baba
Citer : Posté le 11/03/2014 01:05 | #
C'est juste la traduction commentée de la doc officielle fournie avec le SDK
Citer : Posté le 11/03/2014 09:23 | #
Je n'avais jamais non plus entendu parler de cette doc, et c'est quand même une caverne d'Ali Baba !
Citer : Posté le 11/03/2014 09:28 | #
Toute la doc se trouve ici
Citer : Posté le 18/03/2014 12:58 | #
Bonjour, après avoir lu chaque ligne de ce sujet à m'en arracher les yeux ; il me vient encore quelques questions de base.
La première qui intéressera les tout débutants comme moi. Comment faire pour afficher les numéros de lignes dans l'éditeur du SDK ? (habituellement je les compte à la main, mais si c'est possible de demander un simple affichage dans les options qui m'aurait échappé ?!)
La seconde question va vous sembler curieuse mais comment entrer un float au clavier dans une variable pour l'utiliser dans un programme de calcul mathématique. Je sais c'est choquant ! Mais ça m'aiderait énormément pour bien débuter. Merci à tous.
Citer : Posté le 18/03/2014 17:20 | #
Pour les numéros de ligne, je ne sais pas s'il est possible de les afficher.
En revanche, le numéro de la ligne actuelle apparaît tout en bas à droite de la fenêtre
Il y a aussi Ctrl+G pour atteindre une ligne précise.
Pour les flottants, tu veux dire que c'est l'utilisateur qui l'entre ?
Ça paraît plutôt difficile. Néanmoins je crois que l'on a un scanf communautaire, tu devrais essayer ça.
Dans le code source, il suffit de mettre un point dans la valeur, ou de la caster en float.
Citer : Posté le 18/03/2014 18:46 | #
Comment faire pour afficher les numéros de lignes dans l'éditeur du SDK ?
Le SDK n'est pas du tout fait pour créer/éditer du code ! Utilise plutôt un éditeur de texte tel Notepad++.
En plus de la coloration syntaxique, tu as tout un tas d'options hyper utiles
Citer : Posté le 18/03/2014 18:53 | #
C'est beaucoup plus facile sur Notepad++ de programmer.
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 18/03/2014 20:25 | #
et pour ceux qui savent l'utiliser, code::block est encore plus pratique que notepad++ (entre autre pour la détection automatique des fonctions et variables, tapez ML_ et il vous sort la liste des fonctions de MonochromeLib avec leurs syntaxes )
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 18/03/2014 20:35 | #
Ou alors SublimeText 2, même si vous êtes censés le payer
Citer : Posté le 18/03/2014 20:37 | #
C'est pas comme si on nous incitait réellement beaucoup à la payer de la part des éditeurs
Citer : Posté le 18/03/2014 20:39 | #
Pas faux
Citer : Posté le 18/03/2014 20:59 | #
C'est sûr que le simple message pour nous proposer d'acheter la licence au bout de quelques enregistrements n'est pas très efficace.
Citer : Posté le 20/03/2014 13:37 | #
Merci pour vos réponses. et les astuces.
J'aurais aimé avoir un tout petit bout de code où on tape 2 nombres décimaux après une invite sur l'écran de la graph et qui affiche la somme.
style:
a?
12.7
b?
5
la somme est 17.7
Mon problème c'est que je ne connais pas encore la philosophie du C et je ne sais pas si il faut utiliser sscanf qui n'est pas évident à comprendre par rapport à scanf ; ou si je devrais passer par un GET et utiliser les commandes stro... ?