**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 07/06/2014 21:22 | #
Avec le gestionnaire des tâches, tu verras que la compilation continue lorsque tu fermes le SDK, c'est indépendant.
Citer : Posté le 07/06/2014 21:31 | #
Merci, c'est intéressant à savoir
En tout cas, ça à l'air de marcher maintenant. Pour information j'ai été amené à modifier une variable d'environnement en voulant installer un I.D.E., et en supprimant les chemins relatifs que j'ai ajouté à cette variable, le S.D.K. a repris son fonctionnement normal (ce qui est étrange, puisque je n'avais fait qu'ajouter ces chemins avec des points-virgules).
Citer : Posté le 10/06/2014 18:59 | #
J'ai un gros problème avec le S.D.K., mais dans le genre bizarre...
En fait il n'est plus capable d'effectuer de compilation complète : je clique sur Build, il commence à compiler, et il s'arrête en plein milieu (ou au début, ça dépend...).
Je n'ai donc plus qu'à cliquer sur "Stop Building", auquel cas l'U.C. utilisée grimpe à 100% et l'ordinateur se met à ramer monstrueusement. Et même lorsque je provoque l'extinction du programme, l'U.C. utilisée reste de 100% tant que je n'ai pas fermé ma session
J'ai réinstallé le S.D.K., sans succès...et je ne sais plus quoi faire. Qu'avez-vous à me proposer ?
Enfin quelqu'un qui a le même problème que moi. Y'a pas à tortilla, tu reformates ou tu utilises le SDK dans une VM. Pas d'autre moyen connu à ce jour.
Citer : Posté le 10/06/2014 19:37 | #
Une fois cela m'était arrivé, j'ai du supprimer pas mal de fichiers de mon DD, et puis étrangement ça avait remarcher (j'ai toujours pas compris pourquoi, ça m'est arrivé par hasard)
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/06/2014 20:01 | #
Le problème est déjà résolu Eiyeron, je l'ai dit dans mon précédent message
Et j'ai réussi à identifier la cause et à trouver la solution.
Citer : Posté le 10/06/2014 21:07 | #
Oh. (Faut que j'arrête de alt-tab j'ai l'attention qui diminue tiens)
Je prends note pour les variables. C'est curieux quand même. Tu sais quelles variables as-tu changé?
Citer : Posté le 10/06/2014 21:09 | #
Ben, c'est probablement le PATH ?
Citer : Posté le 10/06/2014 21:13 | #
Oui, certes mais qu'est-ce qui pourrait emm-ennuyer le fxSDK?
Citer : Posté le 10/06/2014 21:14 | #
Les exécutables de compilation.
Citer : Posté le 10/06/2014 21:16 | #
Merci, captain. Et quand j'ai pas d'IDE?
Ajouté le 10/06/2014 à 21:16 :
Ni de mingw ni rien?
Citer : Posté le 10/06/2014 21:18 | #
Et quand j'ai pas d'IDE?
Pas d'idée
Je sors
Ni de mingw ni rien?
Sûr que si tu l'enlèves du path, ça va plus fonctionner.
peralta diog Invité
Citer : Posté le 11/06/2014 11:07 | #
salut,
j'ai un problème avec ma calculette casio graph35+, dès que j'installe un programme issue de planète casio, mon menu run maths est completement modifié ( par exemple la touche fraction ne fonctionne plus et est remplacé par un angle droit ) merci de m'apporté votre aide car je souhaite garder mon programme tout en ayant mon menu run intacte. merci
Citer : Posté le 11/06/2014 11:09 | #
Il te suffit d'aller dans le menu de configuration ([SHIFT][MENU]) puis de sélectionner "Math" ou lieu de "Linear" à la première entrée ([F1]). Ensuite, tu ressors avec [EXIT].
diog Invité
Citer : Posté le 11/06/2014 11:13 | #
merci infiniment pour ton aide .
the phénix is the best of the world <3
Citer : Posté le 19/06/2014 18:39 | #
J'y arrive vraiment pô
J'ai bien essayé pendant 1h mais je désespère :
Tableau(){
int monTableau[10][10] = {0};
Jeu(monTableau);
}
Jeu(int * monTableau){}
Je ne comprends pas ce qui ne va pas
J'ai bien conscience que ce que je fais la ne sers a rien et que je pourrais directement déclarer mon tableau dans ma fonction Jeu mais c'est pour prendre un exemple ...
Merci beaucoup beaucoup d'avance
Citer : Posté le 19/06/2014 18:42 | #
Tu as un double tableau, donc le paramètre, c'est "int **monTableau".
Citer : Posté le 19/06/2014 18:43 | #
Si c'était en 3D ce serait donc int *** monTableau ?
Citer : Posté le 19/06/2014 18:48 | #
Oui. Mais évite de passer des tableaux à deux dimensions en paramètres, d'un part c'est un peu sale -- à mon goùt --, d'autre part ça a très tendance à générer des system errors. Utilise plutôt un tableau à une dimension en remplacant tab2d[x][y] par tab1d[y*width+x] ou tab1d[x*height+y].
Citer : Posté le 19/06/2014 18:50 | #
Oui. Mais évite de passer des tableaux à deux dimensions en paramètres, d'un part c'est un peu sale -- à mon goùt --, d'autre part ça a très tendance à générer des system errors. Utilise plutôt un tableau à une dimension en remplacant tab2d[x][y] par tab1d[y*width+x] ou tab1d[x*height+y].
ça a tendance ?
Si ça ne marche pas la, ça ne devrait jamais marcher ? si ?
Citer : Posté le 19/06/2014 18:53 | #
int main()
{
int tab[10][10];
fonction(tab);
}
void fonction(int **tab)
{
int x = tab[0][0];
}
Ce code ne fonctionne pas.
Ou alors, c'est que ce que j'ai dis sur la propension à générer des System ERROR est encore plus vrai.
Disons que ce style de codes ne fonctionne pas.
Citer : Posté le 19/06/2014 18:55 | #
Je dois essayer ou c'est un constat ?