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, 4, 5 ··· 10 ··· 20 ··· 30 ··· 40 ··· 46, 47, 48 Suivante
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 19/03/2012 19:22 | #


Mon star wars a inspiré ?
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 19/03/2012 19:38 | #


c'est pas dans le même genre, mais vu le nom de mes variables, ça ne m'étonne pas
Non, je planche sur un truc simple: l'adaptation de Metro Siberia 2 (voir sur Google si vous ne connaissez pas) vu que c'est mon premier add-in.
Kill the Wabbit est un peu trop compliqué pour moi pour l'instant. Je le reprendrait peu être plus tard...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 19/03/2012 19:40 | #


Moi j'ai 3 add-ins non terminés, un qui promettait pas mal mais j'ai pas ni le temps, ni le courage ni même le niveau pour le finir, un que j'ai effacé parce qu'il m'énervait trop, et un qui est fini mais il y a un bug inexpliqué quand on tire...
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 19/03/2012 21:04 | #


Moi aussi j'en ai un terminé, mais c'est un intermédiaire pour le portage sur Prizm.
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 19/03/2012 21:44 | #


petite question :

si je fait cela ça marche.
int tableau[4] = {10, 23, 45, 12};


mais comment faire si on a un int tableau[4][2] ?
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

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
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 20/03/2012 13:04 | #


Juste pour savoir : la fonction strstr est codée comme une simple boucle ou est-ce qu'il y a une autre astuce.
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 20/03/2012 13:12 | #


En cherchant un peu on peut trouver des exemples de sources de strstr : lien1, lien2, lien3
C'est tout con, on cherche dans la chaine str1 le premier caractère de str2. Si on le trouve, on check tous les caractères suivants pour voir s'ils sont identiques et dès qu'on trouve une différence on reprend la recherche du premier caractère.
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 20/03/2012 17:01 | #


merci beaucoup
j'avais bien essayé par moi-meme mais je n'avais pas la bonne syntaxe
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

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

Citer : Posté le 23/03/2012 07:48 | #


J'ai un soucis au niveau de l'affichage d'une variable: il faut passer par une chaine de caractères ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message
Adbook Hors ligne Membre Points: 1050 Défis: 19 Message

Citer : Posté le 23/03/2012 22:55 | #


Je suis perplexe...
C:\Users\Adrien\Desktop\Projets\towerDef\cursor.c(1) : C2404 (E) Illegal character code "EF"

Dans un fichier qui contient ceci:
Afficher
Masquer

#include "cursor.h"


void showCursor(cursor *c, char *grid, camera *cam)
{
    if(grid[c->gridY * GRID_LENGTH + c->gridX] == 0)
        ML_rectangle(c->gridX*9 - cam->x -1, c->gridY*9 - cam->y - 1, (c->gridX+1)*9 - cam->x - 1, (c->gridY+1)*9 - cam->y - 1, 1, BLACK, TRANSPARENT);
    else
        ML_rectangle(c->gridX*9 - cam->x - 1, c->gridY*9 - cam->y - 1, (c->gridX+1)*9 - cam->x - 1, (c->gridY+1)*9 - cam->y - 1, 1, BLACK, CHECKER);
}

int moveCursor(cursor* c, camera *cam, char *grid)
{
    
    if(KeyDown(K_LEFT))
    {
        c->gridX--;
        if(cam->x / 9 > c->gridX)
            cam->x-= 9;
    }
    if(KeyDown(K_RIGHT))
    {
        c->gridX++;
        if((cam->x + 128)/ 9 < c->gridX)
            cam->x+= 9;
    }
    if(KeyDown(K_UP))
    {
        c->gridY--;
    }
    if(KeyDown(K_DOWN))
    {
        c->gridY++;
    }
    if(KeyDown(K_EXE) && grid[c->gridY * GRID_LENGTH + c->gridX]==0)
    {
        openTowerSelectionMenu(c, cam, grid);
        
    }
        
}

--------------------------------------------------

Calculatrice: Graph 35+ (modifiée 75) + graph 75
Dead Labs est sorti ! N'hésitez pas à l'essayer et à voter !!!
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 24/03/2012 00:19 | #


Vérifie l'encodage de ton fichier, et vérifie aussi qu'il n'y ait pas de caractère spécial invisible (avec Notepad++ par exemple)
Adbook Hors ligne Membre Points: 1050 Défis: 19 Message

Citer : Posté le 24/03/2012 15:23 | #


Justement: le fichier est en UTF-8, et il n'ya a aucun caractère spécial (j'utilises toujours notepad++).
Je vais regarder avec un éditeur hexa
--------------------------------------------------

Calculatrice: Graph 35+ (modifiée 75) + graph 75
Dead Labs est sorti ! N'hésitez pas à l'essayer et à voter !!!
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 24/03/2012 15:26 | #


Tu peux installer un éditeur hexa sur notepad++
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Adbook Hors ligne Membre Points: 1050 Défis: 19 Message

Citer : Posté le 24/03/2012 15:54 | #


Je sais
Il ya effectivement un symbole 0xEF au début de ce fichier... c'est l'équivalent du ï en extended ascii (donc en utf-8 aussi logiquement...), donc la question est: pourquoi ne s'affiche-t-il pas sous notepad++...
Je vous joint le fichier en question

Ajouté le 24/03/2012 à 15:54 :
Les fichiers .c ne sont pas acceptés

En fait notepad++ a ajouté au début du fichier 0xEF 0xBB 0xBF.
Pouquoi
Enfin bref, il suffit de virer ces trois caractères.

Ajouté le 24/03/2012 à 16:04 :
Compilé.
--------------------------------------------------

Calculatrice: Graph 35+ (modifiée 75) + graph 75
Dead Labs est sorti ! N'hésitez pas à l'essayer et à voter !!!
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 24/03/2012 17:06 | #


C'est ce qu'on appelle le BOM (Byte Order Mark), qui apparemment n'est pas pris en compte par le compilo.
Il est donc préférable d'utiliser l'encodage UTF-8 sans BOM.
Adbook Hors ligne Membre Points: 1050 Défis: 19 Message

Citer : Posté le 24/03/2012 17:07 | #


Merci pour l'info

Ajouté le 24/03/2012 à 19:11 :
Putain, mais c\'est pas vrai...
C:\Users\Adrien\SDK\OS\FX\include\dispbios.h(65) : C2102 (E) Illegal type combination


Dans le fichier en question:
60 typedef struct tag_DISPBOX{
61    int     left;
62    int     top;
63    int     right;
64    int     bottom;
65 } DISPBOX;

Je ne vois absolument pas en quoi il pourrait y avoir un problème...

Ajouté le 24/03/2012 à 19:18 :
J\'ai rien dit j\'avais oublié un point virgule après un typedef.
--------------------------------------------------

Calculatrice: Graph 35+ (modifiée 75) + graph 75
Dead Labs est sorti ! N'hésitez pas à l'essayer et à voter !!!
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 27/03/2012 23:03 | #


Petite question (excusez moi si elle a déjà été posé) mais est-ce que tile creator peut transformer le binaire du sprite en décimale?
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

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
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 28/03/2012 00:22 | #


J'ai pas compris ce que tu voulais, mais dans tous les cas c'est très simple de coder un petit utilitaire qui fera ce que tu veux.

@Adbook, il ne peut pas y avoir d'erreur dans un header du SDK, l'erreur venait forcément de ton code.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 28/03/2012 07:19 | #


Ah j'ai compris: il veut le code du sprite, mis en décimale...
Prends la fidèle calculatrice pour convertir
Précédente 1, 2, 3, 4, 5 ··· 10 ··· 20 ··· 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 77 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