Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » **Le SDK pour fx-9860/Graph85** Topic officiel
Matronix Hors ligne Ancien administrateur Points: 6058 Défis: 82 Message

**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.


Précédente 1, 2, 3 ··· 10 ··· 20, 21, 22, 23, 24, 25, 26, 27 ··· 30 ··· 40 ··· 46, 47, 48 Suivante
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 10/03/2014 21:19 | #


int readFile(unsigned char* name,unsigned char* extension,unsigned char* reception)
{

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;
}


Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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 ?
:
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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))

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 10/03/2014 21:44 | #


Non, l'ouverture renvoie un code d'erreur que tu peux retrouver dans filebios.h.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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 ?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 10/03/2014 21:48 | #


http://wiki.planet-casio.com/fr/Fxlib.h#Bfile_CreateFile
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 10/03/2014 21:52 | #


Oooh merci, je n'avais encore jamais entendu parler de cette caverne d'Ali baba
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 11/03/2014 01:05 | #



C'est juste la traduction commentée de la doc officielle fournie avec le SDK
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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 !
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 11/03/2014 09:28 | #


Toute la doc se trouve ici
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

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.
L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 18/03/2014 18:46 | #


Fabcvlr a écrit :
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
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 18/03/2014 18:53 | #


C'est beaucoup plus facile sur Notepad++ de programmer.
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

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 )
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-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


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 18/03/2014 20:35 | #


Ou alors SublimeText 2, même si vous êtes censés le payer

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

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
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 18/03/2014 20:39 | #


Pas faux
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

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.
Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

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... ?

L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Précédente 1, 2, 3 ··· 10 ··· 20, 21, 22, 23, 24, 25, 26, 27 ··· 30 ··· 40 ··· 46, 47, 48 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 82 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd