Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du 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, 11, 12, 13, 14, 15, 16, 17 ··· 20 ··· 30 ··· 40 ··· 46, 47, 48 Suivante
Bondgers Hors ligne Membre Points: 27 Défis: 0 Message

Citer : Posté le 03/05/2013 18:47 | #


J'ai essayé de faire une fonction d'input de caractères, mais je n'arrive même pas à faire une simple fonction qui renvoie un string . Dans cet exemple ma fonction "string" ne renvoie rien (comme inputstring de libg85), et si je rajoute la ligne "strcat (str,"ajout");" ça fait planter le SDK !
#include "fxlib.h"
#include "string.h"
#include "stdlib.h"
#include "stdio.h"

char *string(){
  char str[]="test";
  //strcat (str,"ajout");   //cette ligne fait planter le SDK
  return str;
}
  
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
char *texte;
  
texte = string();
locate(1,2);
Print(texte);

   while(1){
        GetKey(&key);
    }
    return 1;
}

Quelqu'un pourrait m'expliquer ce qui ne va pas, et comment faire pour qu'une fonction renvoie une chaine de caractère? Merci
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 04/05/2013 02:09 | #


a quoi sert la fonction strcat? a allonger une chaîne de caractères? si oui, un équivalent qui marche pourrait être:

void strcatlike(char *str, const char *add)
{
int i,l;
while(!str[l++]) ;
while(!add[++i]) ;
str=realloc(str,i);
memcpy(str+l,add,i);
}

(n'ayant pas testé ce code, je ne peux te garantir son fonctionnement, mais moi il me semble assez correct)
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)
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 04/05/2013 02:24 | #


c'est bizarre, moi j'utilise tout le temps cette fonction sans probleme...
tu a essayé en disant la taille du tableau (str[20])?
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 !
Bondgers Hors ligne Membre Points: 27 Défis: 0 Message

Citer : Posté le 04/05/2013 11:17 | #


Dodormeur> En mettant str[20] il y a un petit mieux, car la fonction strcat ne fait plus planter le SDK, mais ma fonction string() ne renvoie toujours rien. C'est ça le problème, je n'arrive pas à faire une fonction qui retourne une chaine de caractères. Ou alors c'est c'est moi qui ne sais pas afficher un résultat Pourtant avec les nombres je n'ai pas de prob. Voila mon code :
#include "fxlib.h"
#include "string.h"
#include "stdlib.h"
#include "stdio.h"

char *string(){
  char str[20];
  strcat (str,"ajout");
  return str;      
}
  
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
char *texte;
texte = string();
locate(1,2);
Print(texte);     //rien ne s'affiche !
Bdisp_PutDisp_DD();

   while(1){
        GetKey(&key);
    }
    return 1;
}


Limachi> Je n'arrive pas à utiliser ta fonction (je débute en langage C ). Tu pourrais donner un exemple complet comment l'utiliser?
Merci
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 04/05/2013 11:40 | #


tu a essayé en declarant text comme un tableau et pas comme un pointeur?
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 !
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 04/05/2013 11:57 | # | Fichier joint


Aller les gars, c'est pas un problème compliqué à lui expliquer quand même.

char *string(){
    char str[]="test"; [green]// Le compilateur comprend avec cette ligne que str est un tableau de 5 char.[/green]
    strcat (str,"ajout"); [green]// Ici tu écris dans les cases d'index 4-9 d'un tableau de 5 cases.[/green]
    return str; [green]// Ici tu retourne l'adresse d'un tableau qui (comme toute variable) est libéré à la fin de la fonction, donc un pointeur sur un truc qui n'existe plus.[/green]
}


Tu veux que ta fonction retourne un tableau utilisable par la fonction appelante ? Dans ce cas, soit c'est la fonction appelante qui déclare le tableau et l'envoie à ta fonction (comme le fait strcat, elle te demande la chaîne dans laquelle écrire), soit ta fonction alloue un tableau avec malloc (mais la fonction appelante devra alors libérer le buffer avec free, et c'est pas forcément très joli et un oublie provoque une fuite mémoire.

Faire une fonction d'input c'est pas compliqué. il te faut juste un grand buffer, le nombre total de caractères entrés, et la position du curseur. Lorsqu'une touche est enfoncée, si c'est un caractère on l'insert à la position du curseur (décaler toutes les lettres suivantes d'une case en commençant par la dernière, placer la lettre à la position du curseur, décaler le curseur d'une case). Sinon, ça peut être une touche de déplacement du curseur (gauche-droite seulement si tu veux faire simple), DEL pour décaler tous les caractères vers la gauche à partir du curseur, ou EXE pour quitter la fonction.

Et comme je suis sympa, je t'ai bricolé un truc vite-fait : http://pastebin.com/MCrSEzJ8
Bondgers Hors ligne Membre Points: 27 Défis: 0 Message

Citer : Posté le 04/05/2013 12:49 | #


Merci Pierrotll, ça marche !
Par contre je vois que tu as fais une fonction void, sans return donc. Chez moi le "return str" ne renvoyait rien. Tu dis que la variable str n'existe plus au moment de l'envoie?
Bon je vais revoir tout ça ce soir à tête reposée. Super pro en tout cas ton code
Merci encore !
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 04/05/2013 15:58 | #


Bodgers, comme je te l'ai dis, je ne peux en rien garantir le bon fonctionnement de ma fonction car je ne l'ai pas testée, cela dit, théoriquement, si tu met:

char* str="test";
strcatlike(str,"ajout");
locate(1,2);
Print(texte);

Ce qui devrait s'afficher serait: "testajout"
et vu que tu débute, je vais reprendre ma fonction et expliquer ligne par ligne comment je l'ai pensée:

int i=0,l=0; [green]//ici, je déclare deux variables temporaires, le nom n'a pas vraiment d'importance, du moment que l'on fait attention de ne pas oublier la quelle sert a quoi[/green]

while(!str[l++]) ; [green]//ici, je fais une boucle a vide qui cherche le 0 de fin de chaîne (toutes les chaines de caractères sont des liste ayant 0 pour dernier terme) si je la traduis, sa donne: "tant que (while) str[] a la position l++ (str[l++]) (l++ veut dire que l'on utilise la valeur de l en premier, puis qu'on l'incrémente après utilisation) est différent de zero (!) alors on ne fait rien ( ; )
//en gros while(!str[l++]) ; est une bète boucle qui me sert a trouver la longeur de la chaîne str sans son 0 de fin et a la stocker dans l[/green]

while(!add[++i]) ;[green] //même principe que précédemment, sauf que cette fois je veux incrémenter i AVANT de l'utiliser, de manière a inclure le 0 a la fin cette fois[/green]

str=realloc(str,i+l); [green]//realloc est une fonction de ré-allocation de mémoire, autrement dit, cela sert a modifier la taille d'une liste allouée précédemment. ce que retourne cette fonction est éventuellement (pas toujours) un nouveau pointeur (dans le cas où le précédent ne pouvait plus s'étendre correctement dans la zone de la mémoire où il avait été stocké). Ici, "str" est le pointeur a ré-allouer, et i+l est la nouvelle logeur (en octet, ce qui est équivalent aux chars) de la liste.[/green]

memcpy(str+l,add,i); [green]//enfin vient la dernière ligne, un memcpy. Le memcpy est une fonction qui copie un bloc de donné vers un pointeur. Il est utilisé généralement pour copier une liste vers une liste. Ici, je demande de copier "i" octets de "add" dans "str+l". A quoi correspond str+l? je me suis juste permis de décaler le pointeur str en lui ajoutant l, l étant la valeur de la logeur de la chaîne de caractère str moins son 0 de fin.[/green]


(oui, j'ai fait une petite correction dans ce code là, parce que la première fois, je ne me suis pas relu )
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)
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 04/05/2013 17:13 | #


Bondgers : Une variable (ou tableau) déclarée dans une fonction est supprimé à la fin de la fonction. Donc une fonction ne peut pas créer un tableau et le retourner. Ma fonction input demande une chaîne dans laquelle elle doit écrire. Elle pourrait aussi retourner le pointeur sur cette chaine, ça ne change rien, je ne lui ai pas mis de return juste pour ne pas t'embrouiller avec ça.

Ajouté le 05/05/2013 à 12:23 :
Limachi : Tu ne peux utiliser realloc qu\'avec un buffer alloué dynamiquement. Donc le faire dans une fonction comme ça avec un pointeur qui vient d\'on-ne-sait-où c\'est un peu crade.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 05/05/2013 14:27 | #


mmm... oui, c'est vrai (depuis quelques temps, j'ai perdu l'habitude d'utiliser des buffer déclaré normalement, non dynamiquement )
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)
Alp96 Hors ligne Membre Points: 239 Défis: 3 Message

Citer : Posté le 01/06/2013 17:33 | #


Salut à tous!
Je débute sur le c, j'ai planché sur le site du zéro le tuto... etc
MAIS, je suis bloqué dès les premières images de mon jeu au menu par le IsKeyDown.
Je veux que si j'appuie sur 1, ca démarre le jeu, et sur 2 que ca le stop.
Le p^roblème, c'est que je ne trouve pas la valeur des touches 1 et 2, et que mon add-in fait pour les définir ne marche pas...

Quelqu'un connaitrait les valeurs à mettre?

while(1)
    {
    IsKeyDown(key);
    sprintf( temp, "Valeur:%d", key );
    locate (1,1);
    Print(temp);
    }


Quand j'essaie comme ca, ca me donne 0 quelque soit la touche pressé...

SVP aidez moi
Alp96, celui qui programme n'importe quoi pourvu que ce soit inventif!!! :demon:
Calcu: graph 35+ tweaké
Transformez votre graph 35+ SH4 en graph 75!
C'est par ici!
Mes progs#Cliquez!!
Cliquez pour recouvrir

Etes vous un vrai trader???
Business

Saurez vous vaincre les puissances ennemis?
Swords and Sandals 2

Un 2048 ca vous tente??
2048
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 01/06/2013 17:49 | #


la fonction IsKeyDown te renvoye 1 ou 0 si la touche dont tu passe le code en argument est pressée ou pas.
donc pour savoir si la touche 1 est pressée, tu utilise

if(IsKeyDown(KEY_CHAR_1))menu();
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 !
Dark storm En ligne Labélisateur Points: 11579 Défis: 176 Message

Citer : Posté le 02/06/2013 14:09 | #


Et pour savoir quelle touche est pressée, il y a le Getkey:

whil(1)
{
    GetKey(&key); [green]// il faut mettre un pointeur[/green]
    sprintf( temp, "Valeur:%d", key );
    locate (1,1);
    Print(temp);
}

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dynasty Hors ligne Membre Points: 464 Défis: 2 Message

Citer : Posté le 05/06/2013 21:08 | #


Dites... moi j'ai abandonné la création d'add-in au début parce que le SDK me semblait un peu obscure et les menu était tout le temps grisés sans que je comprenne pourquoi... MAIS LA c'est décidé je veux faire des add-ins alors je vous le demande : Que faut-il mettre dans les différentes parties du SDK? parce qu'à chaque fois je ne peut pas cliquer sur les menus déroulants...

Help
Le monde ne tourne pas rond.... sa m'en donne le tourni U_u'

Mon projet actuel
Un combat au tour par tour !

Projet de combat au tour par tour type DOFUS mais totalement orienté sur le PvP. Le projet va demander un peu de temps mais soyons patient...

Menus
   85%

Gestion des Caractéristiques
   90%

Gestion des déplacements
   100%

Implémentation des sorts
   50%

Création carte
   100%



Mon ancien projet (en attente)
Revenge
Il s'agit d'un RPG assez gros, je ne sais pas si j'aurais la place suffisante sur une calto... peut être ferais-je des programmes à installer séparément pour les donjons/instances...
Menus/présentation
   75%
Systèmes niveaux/sorts...
   65%

Système de combat
   10%
Map
   1%

Donjons/Instances
   1%





Mon autre projet
Laby3D

Le titre (laby3D) en dit long sur son contenu : il s'agit d'un simple moteur de labyrinthe en "3D" (enfin on va dire juste un effet de profondeur ). il aura la particularité d'être aggrémenté de superbes petites animations sur les rotations d'angles de vue ! j'y bosse pas mal et j'espère bien le réussir !
Editeur de niveaux
   100%

Graphismes
   95%

Moteur du jeu
   95%

Animations
   100%

Level Design
   80%


Le jeu devrait sortir bientôt


Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 05/06/2013 21:19 | #


Déjà , je sais pas si ça peux aider :
http://wiki.planet-casio.com/fr/Fx-9860G_SDK
Alp96 Hors ligne Membre Points: 239 Défis: 3 Message

Citer : Posté le 05/06/2013 23:50 | #


j'ai essayé ca marche! j'ai les valeurs des getkey!
mais malheureusement, mon prog ne marche pas!
j'utilise 49 pour [1] et 50 pour [2] mais ca marche pas, la calculoatrice ne semble pas reconnaitre l'appui!

while (0==0)
    {
    if(IsKeyDown(49)==1)
        {
        Bdisp_AllClr_DDVRAM();
        PrintMini(5,5,"OK",1);
        }
    if(IsKeyDown(50)==1)
        PrintMini(5,5,"Flute",0);
    }
}


et là ca me donne rien! pas le moindre texte! ><
quelqu'un peut-il m'aider s'il vous plait?
Alp96, celui qui programme n'importe quoi pourvu que ce soit inventif!!! :demon:
Calcu: graph 35+ tweaké
Transformez votre graph 35+ SH4 en graph 75!
C'est par ici!
Mes progs#Cliquez!!
Cliquez pour recouvrir

Etes vous un vrai trader???
Business

Saurez vous vaincre les puissances ennemis?
Swords and Sandals 2

Un 2048 ca vous tente??
2048
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 06/06/2013 01:56 | #


Tu as oublié d'utiliser la fonction Bdisp_PutDisp_DD();
Cette fonction permet d'afficher tout le contenue de la VRAM , place-le juste après les fonctions PrintMini
Dark storm En ligne Labélisateur Points: 11579 Défis: 176 Message

Citer : Posté le 06/06/2013 18:26 | #


Les valeurs du GetKey sont différentes que celles du Basic: met "KEY_CHAR_2" a la place de "49" et "KEY_CHAR_1" a la place de "50" (ou l'inverse, sais plus)

Tu as la liste de toutes les touches soit sur le wiki, soit dans le fichier "Key Chars" ou quelque chose comme ça fourni avec le SDK
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dynasty Hors ligne Membre Points: 464 Défis: 2 Message

Citer : Posté le 06/06/2013 20:21 | #


d'ailleurs les codes des touches sont donnés dans le code qui rend un add-in compatible SH4...

Sinon merci Ziqumu pour le wiki, ça m'a été effectivement d'une grande aide et maintenant je peux enfin compiler et donc ENFIN me lancer dans la programmation d'add-in
par contre ça m'explique pas à quoi ils servent les emplacement "keyboard" et "display"... ça sert à quoi? ^^'
Le monde ne tourne pas rond.... sa m'en donne le tourni U_u'

Mon projet actuel
Un combat au tour par tour !

Projet de combat au tour par tour type DOFUS mais totalement orienté sur le PvP. Le projet va demander un peu de temps mais soyons patient...

Menus
   85%

Gestion des Caractéristiques
   90%

Gestion des déplacements
   100%

Implémentation des sorts
   50%

Création carte
   100%



Mon ancien projet (en attente)
Revenge
Il s'agit d'un RPG assez gros, je ne sais pas si j'aurais la place suffisante sur une calto... peut être ferais-je des programmes à installer séparément pour les donjons/instances...
Menus/présentation
   75%
Systèmes niveaux/sorts...
   65%

Système de combat
   10%
Map
   1%

Donjons/Instances
   1%





Mon autre projet
Laby3D

Le titre (laby3D) en dit long sur son contenu : il s'agit d'un simple moteur de labyrinthe en "3D" (enfin on va dire juste un effet de profondeur ). il aura la particularité d'être aggrémenté de superbes petites animations sur les rotations d'angles de vue ! j'y bosse pas mal et j'espère bien le réussir !
Editeur de niveaux
   100%

Graphismes
   95%

Moteur du jeu
   95%

Animations
   100%

Level Design
   80%


Le jeu devrait sortir bientôt


Alp96 Hors ligne Membre Points: 239 Défis: 3 Message

Citer : Posté le 08/06/2013 00:26 | #


ca marche pas

ca n'efface même pas l'écran alors que j'ai utilisé Bdisp_AllClr_DDVRAM();
j'ai l'impression qu'il ne rentre pas dans la boucle!

while (1)
    {
    Bdisp_AllClr_DDVRAM();
    if(IsKeyDown(KEY_CHAR_1)==1)
        {
        PrintMini(5,5,"OK",1);
        }
    if(IsKeyDown(KEY_CHAR_1)==1)
        PrintMini(5,5,"Flute",0);
    }

Alp96, celui qui programme n'importe quoi pourvu que ce soit inventif!!! :demon:
Calcu: graph 35+ tweaké
Transformez votre graph 35+ SH4 en graph 75!
C'est par ici!
Mes progs#Cliquez!!
Cliquez pour recouvrir

Etes vous un vrai trader???
Business

Saurez vous vaincre les puissances ennemis?
Swords and Sandals 2

Un 2048 ca vous tente??
2048
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 08/06/2013 01:29 | # | Fichier joint


Bdisp_AllClr_DDVRAM(); supprime juste le contenu de la VRAM, mais ne supprime pas le contenu de l'écran si je ne me trompe pas

essaye avec ce code :

Bdisp_AllClr_DDVRAM();
while (1)
{
     Bdisp_PutDisp_DD();
     if(IsKeyDown(KEY_CHAR_1)==1)
     {
          Bdisp_AllClr_DDVRAM();
          PrintMini(5,5,"OK",1);
     }
     if(IsKeyDown(KEY_CHAR_1)==1)
     {
          Bdisp_AllClr_DDVRAM();
          PrintMini(5,5,"Flute",0);
     }
}

La fonction Bdisp_PutDisp_DD(); est très importante pour afficher des choses à l'écran, en effet elle "actualise" l'affichage.

Voici un petit schéma que j'avais faites et qui explique assez rapidement le code.

Cliquez pour découvrir
Cliquez pour recouvrir

Précédente 1, 2, 3 ··· 10, 11, 12, 13, 14, 15, 16, 17 ··· 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 v42 © créé par Neuronix et Muelsaco 2004 - 2023 | Il y a 51 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