Seuls les membres ayant 30 points peuvent parler sur le chat.

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 ··· 30 ··· 40, 41, 42, 43, 44, 45, 46, 47, 48 Suivante
Lephenixnoir Hors ligne Administrateur Points: 17794 Défis: 142 Message

Citer : Posté le 06/07/2015 17:53 | #


Les premières erreurs sont dues au fait que tu as ajouté un fichier dans la liste des headers alors qu'il ne faut pas.

La dernière, en effet, est liée au fait que le SDK est installé dans un dossier dont le chemin est syntaxiquement incorrect du point de vue du compilateur/linker/outil quelconque.
Dark storm En ligne Membre d'honneur Points: 11040 Défis: 176 Message

Citer : Posté le 06/07/2015 17:55 | #


D'ailleurs tout ça est écrit dans le topic des erreurs de compilation.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 06/07/2015 17:56 | #


Il n'aime pas les parenthèses
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 06/07/2015 17:57 | #


Oula oula , j'comprend pas parce que j'ai juste récupéré mes sources sur disque dur externe puis je les ai remises sur l'ordi sans rien toucher ...
Mais du coup vous me proposez quoi comme soluce pour le truc du chemin ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Lephenixnoir Hors ligne Administrateur Points: 17794 Défis: 142 Message

Citer : Posté le 06/07/2015 17:58 | #


Réinstalle-le dans un chemin sans parenthèses.
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 06/07/2015 18:01 | #


Je l'ai déplacé dans un autres dossier mais quand je lance le SDK avec l'iconne sur le bureau ça me le réinstalle dans le dossier avec la parenthèse ...
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Dark storm En ligne Membre d'honneur Points: 11040 Défis: 176 Message

Citer : Posté le 06/07/2015 18:02 | #


Le SDK n'aime pas ça : Program Files (x86)

Ajouté le 06/07/2015 à 18:03 :
Ben déplace-le à la main, ça marche d'habitude.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 06/07/2015 18:05 | #


Ben justement, en le coupant puis collant, quand je le lance, il se recrée dans le dossier "Program Files (x86)"
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Lephenixnoir Hors ligne Administrateur Points: 17794 Défis: 142 Message

Citer : Posté le 06/07/2015 18:06 | #


Modifie ton raccourci de bureau ! Si tu ne le changes pas, ça ne peut pas fonctionner !
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 06/07/2015 18:10 | #


Il veut toujours pas rester la où je le place !
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Lephenixnoir Hors ligne Administrateur Points: 17794 Défis: 142 Message

Citer : Posté le 06/07/2015 18:13 | #


Désinstalle-le et réinstalle-le... il n'y a pas de solution miracle.
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 06/07/2015 18:26 | #


Oooookaaaay !
Merci les gars !
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Dark storm En ligne Membre d'honneur Points: 11040 Défis: 176 Message

Citer : Posté le 06/07/2015 18:44 | #


Chez moi le SDK marche très bien malgré un déplacement forcé. D'ailleurs j'avais bien fait attention au dossier d'installation, et ben ça me l'avait quand même mis dans Program Files (x86)…

Bref.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 01/09/2015 10:45 | #


Yo les gens, j'aimerais que cette fonction fonctionne
Fonction pour afficher le menu de fin de partie
Voilà
void DessinMenuMort(int X, int Y){
    ML_bmp_or_cl(MenuMort,X,Y,85,64);            //Dessin du menu de mort
    ML_bmp_and_cl(MenuMort,X,Y,85,64);
    ML_bmp_or(ImageModeJeu[ModeJeu],X+76,Y+5,5,27);                                //Nom du mode de jeu
    AffichageNombre(Record[ModeJeu],Chiffres,X+75,Y+44,1,1);                            //Record
    AffichageNombrePetits(Etage,ChiffresPetits,X+66,Y+55,1,2);                                //Nombre d'étage
    AffichageNombrePetits(NombreBoulesAttrape[0],ChiffresPetits,X+60,Y+5,2,0);                    //Nombre boules +2
    AffichageNombrePetits(NombreBoulesAttrape[0]*2,ChiffresPetits,X+60,Y+55,1,2);                //Points boules +2
    AffichageNombrePetits(NombreBoulesAttrape[1],ChiffresPetits,X+54,Y+5,2,0);                    //Nombre boules +5
    AffichageNombrePetits(NombreBoulesAttrape[1]*5,ChiffresPetits,X+54,Y+55,1,2);                //Points boules +5
    AffichageNombrePetits(NombreBoulesAttrape[2],ChiffresPetits,X+48,Y+5,2,0);                    //Nombre boules +30
    AffichageNombrePetits(NombreBoulesAttrape[2]*30,ChiffresPetits,X+48,Y+55,1,2);                //Points boules +30
    AffichageNombrePetits(NombreBlocsCasses+NombreBlocsExploses,ChiffresPetits,X+42,Y+5,2,0);        //Nombre blocs cassés + explosé
    AffichageNombrePetits((NombreBlocsCasses+NombreBlocsExploses)*3,ChiffresPetits,X+42,Y+55,1,2);    //Points blocs cassés
    AffichageNombrePetits(PointsDoubles,ChiffresPetits,X+36,Y+55,1,2);                        //Points doublés
    AffichageNombrePetits(PointsPerdu,ChiffresPetits,X+30,Y+55,1,2);                            //Points perdus
    AffichageNombrePetits(Score,ChiffresPetits,X+22,Y+55,1,2);                                //Score
    ML_bmp_or_cl(Personnage[4+NumeroPersonnage*9],X+22,Y+5,7,7);                        //Personnage
    }

J'espère qu'il y a plus simple que de devoir rentrer TOUTES les informations de la partie en argument ...
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 01/09/2015 11:17 | #


A vue de pied, un truc comme ca devrait marcher :


void DessinMenuMort(int X, int Y,int* args){
    ML_bmp_or_cl(MenuMort,X,Y,85,64);
    ML_bmp_and_cl(MenuMort,X,Y,85,64);
    ML_bmp_or(ImageModeJeu[ModeJeu],X+76,Y+5,5,27);
AffichageNombre(Record[ModeJeu],Chiffres,X+75,Y+44,1,1);
AffichageNombrePetits(Etage,ChiffresPetits,X+66,Y+55,1,2);                              
for(int i = 0;i<x;i++)
AffichageNombrePetits(args[i],ChiffresPetits,X+60-i>>1)*6,Y+5+50*(i&1),2-(i&1),2*(i&1));      
    }


Avec x le nombre d'arguments a afficher
(j'ai fait ca un peu a l'arrache, a toi de modifier et d'arranger ce qu'il te faut )
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 !
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 01/09/2015 13:39 | #


Bon alors j'ai pas trop compris ce que tu m'as montré Dodo, mais en gros t'as juste réduit la taille de la fonction en simplifiant nan ?

Mais moi mon problème c'est que ça m'affichait dans le Build :
Undeclared name "MenuMort"
Cannot convert parameter "1"

etc...

Mais ça je crois l'avoir résolu en rajoutant ça pour chaque variable non déclarée :
char *MenuMort;
etc...

Car ce sont des sprites déclaré en hexadécimal.

Mais ! ça compile, mais ça plante lors de l'exécution de la fonction (SYSTEM ERROR etc...) ...

iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 01/09/2015 14:01 | #


En même temps, si tu dis pas pourquoi t'as besoin d'aide, on peut pas faire grand chose

En l’occurrence, il faut que MenuMort (et tout le reste) soit déclaré quelque part (j’imaginai en global, ce qui est pas très propre quand même )
et juste les déclarer en début de fonction sans les initialiser ne marche pas, faut vraiment que tu les déclare ET les initialise quelque part. Faut que tu donnes un peu plus de contexte si tu veux qu'on t'aide bien
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 !
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 01/09/2015 14:07 | #


Il sont déclaré juste après :
int AddIn_main(int isAppli, unsigned short OptionNum){

Comme je fais d'habitude pour déclaré mes sprites.
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 01/09/2015 14:16 | #


Mais... Si tu les déclares a l'intérieur d'une fonction, tu peux pas y accéder en dehors de cette fonction (a moins de les passer en argument, mais bon, c'est lourd quand même...)

Donc soit tu les déclares en dehors de la fonction (global), soit tu les déclares dans la fonction qui les utilise
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 !
Kirafi Hors ligne Membre Points: 2140 Défis: 10 Message

Citer : Posté le 01/09/2015 18:30 | #


Okaaay, en global c'est avant la fonction Main ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Lephenixnoir Hors ligne Administrateur Points: 17794 Défis: 142 Message

Citer : Posté le 05/09/2015 19:20 | #


Oh non, pas en global.

Tu passes la variable en argument. Pourquoi s'embêter ?
Précédente 1, 2, 3 ··· 10 ··· 20 ··· 30 ··· 40, 41, 42, 43, 44, 45, 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
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
: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 v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 78 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