Version Française English Version

Planète Casio - Programmes, jeux et cours pour calculatrices Casio

Bookmark and Share
Bienvenue sur Planète Casio, n'hésitez pas à poser vos questions sur le forum, et pensez à rejoindre Planète-Casio sur Facebook !
Jeu de tennis
Forums Casio - Problèmes de programmation ou avec un programme

Index du Forum | Problèmes de programmation ou avec un programme | **Le SDK pour fx-9860/Graph85** Topic officiel
Matronix
Hors ligne
Administrateur
Niveau: Elite
Points: 6138
Défis: 82
Email | Message
Posté le 18/07/2007 15:08

**Le SDK pour fx-9860/Graph85** Topic officiel:

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"
locate(X,Y);
Print("Texte");

Text X,Y,"Texte"
PrintXY(X,Y,"Texte",couleur) //couleur=0 pour texte noir, fond blanc et inversement pour couleur=1

F-Line X1,Y1,X2,Y2
Bdisp_DrawLineVRAM(X1,Y1,X2,Y2)
Bdisp_ClearLineVRAM(X1,Y1,X2,Y2) efface une ligne (donc trace une ligne blanche).

Plot X,Y
Bdisp_SetPoint_VRAM(X,Y,couleur) //couleur=1 => noir, couleur=0 => blanc

Bdisp_AllClr_DDVRAM(); Permet d'effacer l'écran (et la VRAM, mémoire temporaire).

Bdisp_PutDisp_DD(); Fonction TRES importante Elle permet de d'afficher une image tracé virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM. Vous ne verez donc pas votre image s'afficher si vous ne faite pas çà. A noter que les commandes GetKey ont cette fonction intégrée, c'est pour çà que l'on voit quelque chose lorsqu'on l'execute.

While expr
cmd
WhileEnd
while(expr){
cmd;
}

StoPict X
SaveDisp(X); //X = SAVEDISP_PAGE1 ou SAVEDISP_PAGE2 ou SAVEDISP_PAGE3

RclPict X
RestoreDisp(X);

PopUpWin(taile de la fenetre); permet d'ouvrir une fenetre du meme style que la fenetre qui s'affiche lors des syn error. La taille de la fenetre doit etre de 1 a 8 apres ca sort de l'ecran.

PrintMini( 32,56,sat,MINI_OR); écrit en mode graphique et en petit. MINI_REV permet de surligner l'écriture.

Bookmark and Share

smiley



Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Dernier message de la page précédente :Posté le 21/12/2011 09:45 |
Dans ta fonction il signale une erreur: tu veux passer un char sur un const unsigned char à Print().
J'ai essayé le passage de force mais il veut vraiment pas le mettre en const...
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42



Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 | Suivante

Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 21/12/2011 12:28 |
Le compilateur C++ du SDK (contrairement au compilateur C) considère comme une erreur une conversion implicite de char* à unsigned char*
C'est si compliqué de rajouter un unsigned ?
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 22/12/2011 08:15 |
Relis mon dernier message STP...

Le passage en unsigned char marche mais pas la conversion en const !
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 22/12/2011 13:43 |
...
Bon, la fonction Print demande un const unsigned char*, ce qui signifie qu'elle ne modifie pas la chaîne. La fonction PrintInt que j'ai écrite déclare une chaîne de caractères et écrit dedans, donc faut pas la déclarer en const, ça semble évident. Tu sais maintenant que le compilateur C++ génère une erreur lors d'un cast implicite d'un char en unsigned char, il suffit donc de rajouter un unsigned à la déclaration de la chaîne dans la fonction PrintInt, d'où mon message précédent.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 22/12/2011 20:09 |
J'ai bien compris cela. Je n'ai pas déclarer en const mais j'ai mis const dans mon cast, parce que sinon il génère une erreur pour le cast implicite.

De toute manière je n'ai plus besoin de cette fonction.
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42
Eiyeron
Hors ligne
Modérateur
Niveau: Confirmé
Points: 3948
Défis: 37
Email | Message
Citer : Posté le 23/12/2011 17:23 |
? Les const te les cast?

Info: tout ce qui est sprite, et tout ce qui ne va pas être modifié, foutez-les en const.

Pour moi, ça m'a permis de ne pas faire dépasser la section .text d'un projet, et provoquer un segfault error durant des compils sur gcc...

Dpnc toujours utiliser du const, c'est votre ami pour les ressources
----------------------------------
smileysmileysmiley
smileysmiley
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 23/12/2011 17:54 |
Oui, ça t'assure aussi que les données soient lues depuis la ROM (vu que l'OS exécute l'addin depuis la ROM) et ne soient pas copiées en RAM.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Eiyeron
Hors ligne
Modérateur
Niveau: Confirmé
Points: 3948
Défis: 37
Email | Message
Citer : Posté le 23/12/2011 21:26 |
DOnc économie de RAM
----------------------------------
smileysmileysmiley
smileysmiley
Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 24/12/2011 09:00 |
Si ça peut optimiser un peu, alléger lors de l'exécution ou n'importe quoi je suis partant.
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42
Limachi
Hors ligne
Membre
Niveau: Confirmé
Points: 891
Défis: 44
Email | Message
Citer : Posté le 13/01/2012 23:18 |
help, j'ai trouvé un code qui utilise:
<<

A quoi sa sert? Comment on l'utilise?
(code complet:
Point2D[v].x=(Point3D[v].x<<8)/(Point3D[v].z);
)
----------------------------------
Mes programmes


-mon tuto sur les Str

Mes calto: G25+, G75

Je me suis mit recement au C.
smiley
cliquez vite ici et découvrez un moteur 3D pour un projet de minecraft en construction, VIVE LES GEEKBROTHERS (précision en passant, c'est le moteur qui n'est pas finit , mais vous pouvez télécharger les tests).

smiley
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 14/01/2012 02:32 |
Les opérateurs du C
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Limachi
Hors ligne
Membre
Niveau: Confirmé
Points: 891
Défis: 44
Email | Message
Citer : Posté le 14/01/2012 20:01 |
ok, merci,Point3D[v].x<<8
revient a multiplier Point3D par 2^8, c'est sa?
----------------------------------
Mes programmes


-mon tuto sur les Str

Mes calto: G25+, G75

Je me suis mit recement au C.
smiley
cliquez vite ici et découvrez un moteur 3D pour un projet de minecraft en construction, VIVE LES GEEKBROTHERS (précision en passant, c'est le moteur qui n'est pas finit , mais vous pouvez télécharger les tests).

smiley
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 14/01/2012 21:35 |
Exactement.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Purobaz
Hors ligne
Membre
Niveau: Aucun
Points: 2166
Défis: 108
Email | Message
Citer : Posté le 21/02/2012 13:07 |
Y'a t'il un moyen pour éviter que le timer interrompt sa propre fonction (si elle est un peu longue) ?
----------------------------------
smiley
smiley

Cliquer pour dérouler
Cliquer pour enrouler

graph 35+ USB

jeux :
Solitr

cours :
Solution


graph 35+ USB / 75 / 85 /95

jeux basic :
Escape prison
London 12 puro
Plumber
Yetisport ic
Platstre
M-niais
Akinator
Solitr
Robots

jeux addin :
Snowball

jeux lua :
Where am i
Mario

utilitaires basic :
Bitmap PRGM2
QR code
Boussole
Nombre en or
Calendr

utilitaires addin :
PRGM2
picture 1024

utilitaires Lua :
Pi en Lua

cours :
Solution


Prizm

jeux :
Free wheel
Yetisport puro
Rush hour color
Plumber
Prizm pack
Flight cg20

utilitaires :
Sprite maker cg
Paint 20
Menu cg20


Tutorials
PRGM2
Chaines de caractères et tableaux 2D


Projets

Ultimate solution
   73%


OBELIB
   28%


Un RPG en basic qui envoie du lourd !
   38%

Mario pour Prizm
   46%

Fight pour Prizm
   56%

addin PacMan
   90%



La programmation est pour moi la chose la plus sacrée !... c'est pour ça que j'y touche pas !
Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 21/02/2012 13:31 |
Un timer qui exécute une fonction plus longue que le timer lui-même ?!?

Optimise ton code ou rallonge le timer...
A la limite arrête-le.
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 21/02/2012 15:36 |
Je ne comprends pas la question, c'est justement le but d'un timer d'interrompre le travail en cours pour exécuter une autre tâche.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Purobaz
Hors ligne
Membre
Niveau: Aucun
Points: 2166
Défis: 108
Email | Message
Citer : Posté le 21/02/2012 20:45 |
C'est pas grave, je vais trouver une solution pour éviter ça.

Par contre comment indiquer la position des octets à écrire dans un fichier.
Je ne comprend pas trop la doc à ce sujet.
Dans la fonction qui permet de lire le fichier il y a un paramètre indiquant la position, mais ce paramètre n'existe pas dans la fonction d'écriture dans le fichier.
----------------------------------
smiley
smiley

Cliquer pour dérouler
Cliquer pour enrouler

graph 35+ USB

jeux :
Solitr

cours :
Solution


graph 35+ USB / 75 / 85 /95

jeux basic :
Escape prison
London 12 puro
Plumber
Yetisport ic
Platstre
M-niais
Akinator
Solitr
Robots

jeux addin :
Snowball

jeux lua :
Where am i
Mario

utilitaires basic :
Bitmap PRGM2
QR code
Boussole
Nombre en or
Calendr

utilitaires addin :
PRGM2
picture 1024

utilitaires Lua :
Pi en Lua

cours :
Solution


Prizm

jeux :
Free wheel
Yetisport puro
Rush hour color
Plumber
Prizm pack
Flight cg20

utilitaires :
Sprite maker cg
Paint 20
Menu cg20


Tutorials
PRGM2
Chaines de caractères et tableaux 2D


Projets

Ultimate solution
   73%


OBELIB
   28%


Un RPG en basic qui envoie du lourd !
   38%

Mario pour Prizm
   46%

Fight pour Prizm
   56%

addin PacMan
   90%



La programmation est pour moi la chose la plus sacrée !... c'est pour ça que j'y touche pas !
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 21/02/2012 20:58 |
Pour ton histoire de timer, tu crées une variable globale initialisée à 1, dans la fonction de callback du timer tu mets un return dès le début si cette variable n'est pas à 1, et tu mets cette variable à 0 dans la fonction qui ne doit pas être interrompue par le timer.

Pour ton histoire de fichier, la fonction Write écrit à la position courante du curseur (puis déplace le curseur après le dernier caractère qu'elle écrit) et tu as la fonction Seek pour déplacer le curseur dans le fichier. C'est tout à fait standard comme fonctionnement.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Purobaz
Hors ligne
Membre
Niveau: Aucun
Points: 2166
Défis: 108
Email | Message
Citer : Posté le 22/02/2012 12:50 |
Pour le timer c'est ce que je pensais faire.
Est-ce que le SDK supporte les booléens ?
Faut il mieux utiliser une variable globale ou une variable static dans la fonction du timer.

Et merci pour la fonction Seek. J'avais pas fait attention.
----------------------------------
smiley
smiley

Cliquer pour dérouler
Cliquer pour enrouler

graph 35+ USB

jeux :
Solitr

cours :
Solution


graph 35+ USB / 75 / 85 /95

jeux basic :
Escape prison
London 12 puro
Plumber
Yetisport ic
Platstre
M-niais
Akinator
Solitr
Robots

jeux addin :
Snowball

jeux lua :
Where am i
Mario

utilitaires basic :
Bitmap PRGM2
QR code
Boussole
Nombre en or
Calendr

utilitaires addin :
PRGM2
picture 1024

utilitaires Lua :
Pi en Lua

cours :
Solution


Prizm

jeux :
Free wheel
Yetisport puro
Rush hour color
Plumber
Prizm pack
Flight cg20

utilitaires :
Sprite maker cg
Paint 20
Menu cg20


Tutorials
PRGM2
Chaines de caractères et tableaux 2D


Projets

Ultimate solution
   73%


OBELIB
   28%


Un RPG en basic qui envoie du lourd !
   38%

Mario pour Prizm
   46%

Fight pour Prizm
   56%

addin PacMan
   90%



La programmation est pour moi la chose la plus sacrée !... c'est pour ça que j'y touche pas !
Pierrotll
Hors ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Citer : Posté le 22/02/2012 13:45 |
La notion de variable booléenne n'existe pas en C, seulement en C++.
Une variable static n'est pas accessible à l'extérieur de la fonction dans laquelle elle est créée.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine
Louloux
En ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 22/02/2012 18:18 |
La notion existe ( les conditions booléennes sont partout en informatique ) mais il n'existe pas de type booléen.

Le SDK les supporte si tu lui donnes en .cpp.


@Pierrotll: j'ai des vilains problèmes avec ML que j'ai un peu remixée pour mon dernier projet que je viens de commencer.

Le compilateur me dit toujours
C:\Users\Louis\programmes casio\mes Add-ins\-secret-\MonochromeLib.h(51) : C5065 (E) Expected a ";"

alors que mon point virgule y est...

La ligne est:
char* ML_vram_adress();
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 | Suivante

Index du Forum | Problèmes de programmation ou avec un programme | **Le SDK pour fx-9860/Graph85** Topic officiel
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée.

Un petit test (entrez le résultat en chiffres):
Combien font un plus quatre ?

Recherche :
Publicité et partenaires

Omnimaga
Casio Education
Casio Éducation
Casio Scene
Casio Scene

TI-Planet
CasioFan, la communauté ClassPad
CasioFan
Space-Raider
Space-Raider
GameMaster
GameMasters.fr

Jeux Casio - www.planet-casio.com v3.0 © créé par Neuronix et Muelsaco 2004-2012 | Il y a 54 connectés | Nous contacter | Recherches effectuées
Rugby Manager | Jeu de handball | Jeu de foot | Jeu de rugby | Jeu de tennis | Space raider | Sublinet | Top-cinema, films, cinéma, séries | Pension pour chats

Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd