**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 12/11/2013 20:11 | #
Voilà :
FindFiles.h
FindFiles.c
C'est une mini-lib qui simplifie leur utilisation, mais ça sert aussi d'exemple.
Citer : Posté le 12/11/2013 20:25 | #
Merci beacoup, je pense que je vais pouvoir comprendre un peux mieux qu'avec cette description donnée dans le pdf.
-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 13/11/2013 19:12 | #
C'est compatible fx-cg 20 ?
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 13/11/2013 19:49 | #
Il existe des syscalls pour toutes les fonctions Bfile sur Prizm (voir la doc), donc faut adapter les appels à ces fonctions.
Citer : Posté le 13/11/2013 20:09 | #
ok merci de ta réponse
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 14/11/2013 21:50 | #
Du jour au lendemain quand j'essaie de compiler mon programme, il me met une erreur (cf: fichier joint) comme quoi, il ne trouve plus le chemin d'accès.
Alors j'ai regardé partout dans les reglages du SDK mais tout était confo.
Je me suis rendu compte que j'avais la même erreur pour tous mes programmes, et que, même si j'en créais un nouveau, il ne trouvait de nouveau pas de chemin.
Mon invite de commande buggait et donc j'avais changé manuellement dans les réglages de windows (danger ) le chemin d'accès de l'invit, résultat, ce pour quoi je l'avais fait avait fonctionner mais, dégat collatéral, mes autres chemins buggait (sacré windows). J'ai réglé le problème et je repars coder
(des petits trucs mais ça fait tjs plaisir)
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
HELPME Invité
Citer : Posté le 17/11/2013 17:08 | #
Merci beaucoup pour ta réponse Dodormeur.
Cependant, quand je lance le programme (une fois corrigé), et que j'appuie sur la touche 4, le message "AUTRE TOUCHE" est affiché... Je ne vois pas pourquoi c'est ce message qui est affiché et pas le premier... Sinon, j'irai voir sur Open Classroom...
Merci
Citer : Posté le 17/11/2013 18:26 | #
c'est étrange... fais voir un peu ton code
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 !HELPME Invité
Citer : Posté le 20/11/2013 17:28 | #
Voici mon code (dsl pour le temps de réponse...) :
[brown]#include <revolution.h>[/brown]
[purple]int[/purple] AddIn_main(int isAppli, unsigned short OptionNum)
{
[purple]unsigned int[/purple] key;
[purple]unsigned int[/purple] code;
Bdisp_AllClr_DDVRAM();
PrintMini(1,[maroon]1[/maroon],[gray]"=========== PHYSIQUE ==========="[/gray], MINI_OVER);
PrintMini(1,[maroon]15[/maroon],[gray]"I. ACIDES / BASES"[/gray],MINI_OVER);
[b][blue]while[/blue][/b](1){
GetKey(&key);
[b][blue]if[/blue][/b] (key==KEY_CHAR_4) {
PrintMini(1,[maroon]22[/maroon],[gray]"TOUCHE NUM 4"[/gray],MINI_OVER);
}
[b][blue]else[/blue][/b] {
PrintMini(1,[maroon]22[/maroon],[gray]"AUTRE TOUCHE"[/gray],MINI_OVER);
}
}
[b][blue]return[/blue][/b] 1;
}
//PAS TOUCHE
[brown]#pragma section _BR_Size[/brown]
unsigned long BR_Size;
[brown]#pragma section[/brown]
[brown]#pragma section _TOP[/brown]
[purple]int[/purple] InitializeSystem(int isAppli, unsigned short OptionNum)
{
[b][blue]return[/blue][/b] INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section
J'ai essayé en remplaçant KEY_CHAR_4 par 73 mais j'obtiens le même résultat... Et je n'ai trouvé aucun tutoriel SPECIFIQUE à la programmation en C sur Casio. :/
Citer : Posté le 20/11/2013 17:59 | #
deja, #include fxlib.h plante a la compilation, tu as oublié de mettre les "".
chez moi quand je teste et en enlevant #include <revolution.h> et en mettant #include "fxlib.h", ca marche bien (cela m'affiche touche num 4 quand j'appuye sur 4).
essaye ce code :
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
unsigned int code;
unsigned char temporaire[10] = {0};
Bdisp_AllClr_DDVRAM();
PrintMini(1,1,"=========== PHYSIQUE ===========", MINI_OVER);
PrintMini(1,15,"I. ACIDES / BASES",MINI_OVER);
while(1){
GetKey(&key);
if (key==KEY_CHAR_4) {
PrintMini(1,22,"TOUCHE NUM 4",MINI_OVER);
}
else {
temporaire[0] = '0'+key%10;
temporaire[1] = '0'+(key/10)%10;
PrintMini(1,22,temporaire,MINI_OVER);
}
}
return 1;
}
//PAS TOUCHE
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section
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 26/11/2013 07:35 | #
Merci beacoup Dodormeur !
(je me suis finalement créé un compte planet-casio)
Merci infiniment !!! Je vais enfin pouvoir réellement commencer à programmer des Add-Ins !
Je les partagerais dès qu'ils seront créés
Citer : Posté le 26/11/2013 18:04 | #
chouette
pour bien demarrer, voici la doc de fxlib en francais, et si tu veux faire des graphismes, utilise monochromelib, c'est plus rapide et plus simple d'utilisation que les fonctions de bases (par contre, tu devras peut-etre la rendre compatible SH4)
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 16/12/2013 19:50 | #
petit pb passager: comment on fait l'équivalent du:
int *p;
p=malloc(10*sizeof(int));
en C++
(bref, comment on alloue dynamiquement un tableau sans utiliser Vector)
-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 16/12/2013 19:51 | #
Le code que t'as mis ne marche pas? Parce que si ça marche en C, ça devrait marcher en C++...
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 16/12/2013 19:55 | #
effectivement, j'avais oublié (et oui, les cours de C++ oublient souvent de nous rappeler que il y a des trucs bien dans le C aussi -_- qui marchent en C++)
-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 16/12/2013 19:58 | #
En fait, le C++ c'est comme le C, mais +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 16/12/2013 20:02 | #
ouaip, mais les cours ne parlent pas assez des fonctionnalités du C, tel que malloc et aussi les macros pour "..." (les paramètres inconnus) qui sont des choses que j'utilise beaucoup en C.
Ajouté le 16/12/2013 à 20:16 :
j'ai finalement réussi a faire ce que je voulais faire.
j'ai recommencé a apprendre le C++ (new attempt ) après l'échec d'il y a quelques mois, et cette fois j'arrive a faire des trucs qui marchent et j'ai enfin compris le concept d'objet (faut dire que vu ce que je fais en C ces derniers temps pour mon minecraft, je suis sur le point de réinventer le C++ )
-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 16/12/2013 20:52 | #
L'allocation dynamique en C++ se fait à l'aide des mots clés new et delete.
Citer : Posté le 16/12/2013 20:53 | #
(faut dire que vu ce que je fais en C ces derniers temps pour mon minecraft, je suis sur le point de réinventer le C++ )
T'inquiète, t'as de la marge
Citer : Posté le 16/12/2013 23:31 | #
je n'arrive pas a utiliser new pour créer une liste, c'est ça le pb. je suis un vieillard, je préfère mes bonnes vielles fonctions malloc et free (même si je n’hésite pas a mélanger avec des templates )
quant a darkstorm, quand tu commence a faire des structures avec leurs propres fonctions incluses dans la structure pour modifier les valeurs de la structure, ça commence a ressembler a du C++
-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 24/01/2014 22:54 | #
Quelqu'un sait comment faire pour qu'un timer accède à des variables globales ?