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 » Problèmes SDK divers et variés
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Problèmes SDK divers et variés

Posté le 26/10/2013 11:00

Salut j'ai fait un petit programme mais je comprends pas pourquoi la fonction Print ne veut pas afficher la chaine que je lui demande ...

Le code
Cliquer pour enrouler
#include "fxlib.h"
#include "stdio.h"

unsigned int key;
int caractere, caractere2;
char chaine[21];
char ident[21];
char domaine[30];
char mdp[30];
char destinataire[40];
char sujet[30];
char corps[50];


int AddIn_main(int isAppli, unsigned short OptionNum){
    Bdisp_AllClr_DDVRAM();
    demmarage();
    identif();
    
    return 1;
}

demmarage(){
    int key;
    Bdisp_AllClr_DDVRAM();
    PrintMini(80,58,"Version 1.0",0);
    Bdisp_DrawLineVRAM(10,10,10,50);
    Bdisp_DrawLineVRAM(10,50,117,50);
    Bdisp_DrawLineVRAM(117,50,117,10);
    Bdisp_DrawLineVRAM(10,10,117,10);
    Bdisp_DrawLineVRAM(10,10,63,25);
    Bdisp_DrawLineVRAM(117,10,63,25);
    locate(7,5);
    Print("Messagerie");
    do{
        GetKey(&key);
    } while(key != 30004);
    
    Bdisp_AllClr_DDVRAM();
}

identif(){
    Bdisp_AllClr_DDVRAM();
    locate(1,1);
    Print("Identifiant:");
    locate(1,2);
    Print("+------------------+");
    locate(1,3);
    Print("|                  |");
    locate(1,4);
    Print("+------------------+");
    remplichaine();
    
    caractere2=0;
    do{
        caractere2++;
        ident[caractere2] = chaine[caractere2];
    } while(caractere2+1 != caractere);
    ========================== > ICI < ========
    locate(2,3);
    Print(ident);
    do{
        GetKey(&key);
    } while(key != 30004);
    
}

remplichaine(){
    caractere=0;
    do{
        caractere++;
    ======================= > ET ICI < ========
        locate(2,3);
        Print(chaine);
        GetKey(&key);
        //==========Conversion==========
        if (key==48)key= 71;
        if (key==46)key= 61;
        if (key==15)key= 51;
        if (key==135)key= 41;
        if (key==30004)key= 31;
        if (key==49)key= 72;
        if (key==50)key= 62;
        if (key==51)key= 52;
        if (key==137)key= 42;
        if (key==153)key= 32;
        if (key==52)key= 73;
        if (key==53)key= 63;
        if (key==54)key= 53;
        if (key==169)key= 43;
        if (key==185)key= 33;
        if (key==55)key= 74;
        if (key==56)key= 64;
        if (key==57)key= 54;
        if (key==30025)key= 44;
        if (key==30015)key= 34;
        if (key==187)key= 75;
        if (key==30046)key= 65;
        if (key==40)key= 55;
        if (key==41)key= 45;
        if (key==44)key= 35;
        if (key==14)key= 25;
        if (key==30001)key= 76;
        if (key==149)key= 66;
        if (key==133)key= 56;
        if (key==129)key= 46;
        if (key==130)key= 36;
        if (key==131)key= 26;
        if (key==30007)key= 77;
        if (key==205)key= 67;
        if (key==168)key= 57;
        if (key==30002)key= 47;
        if (key==30023)key= 37;
        if (key==30021)key= 27;
        if (key==30006)key= 78;
        if (key==30008)key= 68;
        if (key==30016)key= 58;
        if (key==30020)key= 38;
        if (key==30018)key= 28;
        if (key==30009)key= 79;
        if (key==30010)key= 69;
        if (key==30011)key= 59;
        if (key==30012)key= 49;
        if (key==30013)key= 39;
        if (key==30014)key= 29;
        //==============================
        if(key==31)caractere=19;
        if(key==76)chaine[caractere]='a';
        if(key==66)chaine[caractere]='b';
        if(key==56)chaine[caractere]='c';
        if(key==46)chaine[caractere]='d';
        if(key==36)chaine[caractere]='e';
        if(key==26)chaine[caractere]='f';
        if(key==75)chaine[caractere]='g';
        if(key==65)chaine[caractere]='h';
        if(key==55)chaine[caractere]='i';
        if(key==45)chaine[caractere]='j';
        if(key==35)chaine[caractere]='k';
        if(key==25)chaine[caractere]='l';
        if(key==74)chaine[caractere]='m';
        if(key==64)chaine[caractere]='n';
        if(key==54)chaine[caractere]='o';
        if(key==73)chaine[caractere]='p';
        if(key==63)chaine[caractere]='q';
        if(key==53)chaine[caractere]='r';
        if(key==43)chaine[caractere]='s';
        if(key==33)chaine[caractere]='t';
        if(key==72)chaine[caractere]='u';
        if(key==62)chaine[caractere]='v';
        if(key==52)chaine[caractere]='w';
        if(key==42)chaine[caractere]='x';
        if(key==32)chaine[caractere]='y';
        if(key==71)chaine[caractere]='z';
        if(key==61)chaine[caractere]='.';
        if(key==57)chaine[caractere]='@';
    } while(caractere!=19);
    
    if(key==31)chaine[caractere]='\0';
    if(key!=31)chaine[caractere+1]='\0';
}


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section


la chaine ident fait 21 caracteres


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ··· 20, 21, 22, 23 Suivante
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 30/03/2014 19:06 | #


Ok si c'est une convention
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)
Gollum Hors ligne Membre Points: 1262 Défis: 2 Message

Citer : Posté le 02/04/2014 22:16 | #


Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=D:\programfiles\OS\SH\include
set PATH=D:\programfiles\OS\SH\bin
set SHC_LIB=D:\programfiles\OS\SH\bin
set SHC_TMP=C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\Debug
"D:\programfiles\OS\SH\bin\shc.exe" -subcommand=C:\Users\PIERROT\AppData\Local\Temp\hmk52B2.tmp
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(27) : C2202 (E) Number of parameters mismatch
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(28) : C2500 (E) Illegal token "}"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(29) : C2500 (E) Illegal token "while"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(34) : C2500 (E) Illegal token "}"

HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


    ERROR: Process failed with return code: 1
Build was not successful.


/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "MonochromeLib.c"
#include "MonochromeLib.h"


const unsigned char A[]={
    0x20,
    0x30,
    0x28,
    0x20,
    0x30,
    0x28,
    0x20,
    0x0
};
print (unsigned char A)
{
print( A, 0,0)
}
    while(1){
        GetKey(&key);
    }

    return 1;
}




//****************************************************************************
//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section


pourquoi ça marche pas ??
https://telegram.me/BrokenClock
Je suis de l'autre coté de la manche maintenant. Yay.
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 02/04/2014 22:21 | #


BEn... Ton code n'est même pas dans la fonction main (ou une autre fonction) qui n'existe même pas d'alleursi ... :S

T'as au moins réfléchi avant de nous montrer ça ? J'en doute un peu...
Et puis peut être deux trois petits mots en plus de "pourquoi ça ne marche pas"
auraient été les bienvenus...


Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 02/04/2014 22:22 | #


Tu m'expliques ou est passé ton main?

code correct :




#include "fxlib.h"
#include "MonochromeLib.h"//on inclut que les .h



print (unsigned char* A)// on doit recevoir une chaine de caracteres
{
print( A, 0,0)
}

int AddIn_main(int isAppli, unsigned short OptionNum)
{
const unsigned char A[]={
    0x20,
    0x30,
    0x28,
    0x20,
    0x30,
    0x28,
    0x20,
    0x0
};//on evite les variables globales
unsigned int key;
    while(1){
        print(A);
        GetKey(&key);
    }

    return 1;
}




//****************************************************************************
//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section



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 !
Gollum Hors ligne Membre Points: 1262 Défis: 2 Message

Citer : Posté le 02/04/2014 22:44 | #


/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "MonochromeLib.h"




int AddIn_main(int isAppli, unsigned short OptionNum)
{
const unsigned char A[]={
    0x20,
    0x30,
    0x28,
    0x20,
    0x30,
    0x28,
    0x20,
    0x0
};
print (unsigned char* A)
{
print( A, 0,0)
}unsigned int key;
    while(1){
        print(A);
        GetKey(&key);
    }

    return 1;
}




//****************************************************************************
//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section

Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=D:\programfiles\OS\SH\include
set PATH=D:\programfiles\OS\SH\bin
set SHC_LIB=D:\programfiles\OS\SH\bin
set SHC_TMP=C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\Debug
"D:\programfiles\OS\SH\bin\shc.exe" -subcommand=C:\Users\PIERROT\AppData\Local\Temp\hmk5976.tmp
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(28) : C2500 (E) Illegal token "unsigned"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(29) : C2500 (E) Illegal token "{"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(31) : C2500 (E) Illegal token "}"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(31) : C2500 (E) Illegal token "unsigned"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(31) : C2225 (E) Undeclared name "key"
C:\Users\PIERROT\Desktop\fichiersprogrammes\slider\Slider\EDIT.c(34) : C1016 (W) Argument mismatch

HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


    ERROR: Process failed with return code: 1
Build was not successful.

je comprends pas la logique, ça ne marche toujours pas
https://telegram.me/BrokenClock
Je suis de l'autre coté de la manche maintenant. Yay.
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 02/04/2014 22:48 | #


Tu as des accolades en trop autour du deuxieme print et il manque un point virgule après ce dernier et le premier aussi ... Et key n'est pas déclaré..
Ça m'a l'air très ambitieux un DigDugger pour l'instant

Ajouté le 02/04/2014 à 22:51 :
En plus t'utilises print de deux manières différentes... Je ne connais pas son prototype mais c'est bizarre un peu... (A moins qu'il y ait un nombre variable d'arguments, je ne connais pas la fonction )
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 02/04/2014 22:51 | #


Tu devrais lire le tuto du sdz, tu ne m'as pas l'air d'avoir compris les fonctions.
Tu dois les déclarer en dehors de ton main pour pouvoir les utiliser dans ton main.
Et il te manque un ou deux ;
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: 2180 Défis: 10 Message

Citer : Posté le 06/04/2014 20:05 | #


Comment on fait pour afficher une image complète que j'ai dessiné sur paint, sans prendre trop de mémoire
Un peut comme un sprite :huh:


Ajouté le 06/04/2014 à 20:06 :
Et aussi l'équivalent de While(Getkey) : WhileEnd en C
J'ai essayé des trucs mais bon... ça n'a pas fonctionné
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 Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 06/04/2014 20:21 | #


Tu convertit ton sprite en tableau de char avec SpriteCoder => http://wiki.planet-casio.com/tools/SpriteCoder/
Puis avec ML, tu fait :
unsigned char monImage[] = {0x42, ...}; // le code de SpriteCoder

ML_bmp_or(monImage, x, y, tailleX, tailleY);
ML_display_vram();


Tu devrais lire la doc de ML

Ajouté le 06/04/2014 à 20:22 :
Et pour le While Getkey != 42 :
while(IsKeyUp(KEY_CTRL_xxx))
{
    ... // actions à faire
}

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

Citer : Posté le 06/04/2014 20:28 | #


Ok pour l'affichage du sprite, c'est juste que je pensais pas que Monochrome.lib pouvais afficher des sprite 128*64
et pour le Getkey, en fait, je voudrais une boucle (vide) qui tourne tant que l'on appuis sur le clavier
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 Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 06/04/2014 20:46 | #


Si c'est pour un fond d'écran, inclus "string.h" (librairie de base), et fait
memcpy(ML_vram_adress(), fond, 1024);

C'est 128*64 fois plus rapide
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 06/04/2014 21:11 | #


Ok et pour le truc de l'appuis des touche, soit, rester dans la boucle tant qu'une touche (n'importe laquelle) est pressée ?
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 Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 06/04/2014 21:14 | #


Heu, si tu veux sans GetKey, faudra faire touche par touche (et/ou utiliser TL pour celles du bas)...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 06/04/2014 21:18 | #


Bon, ok, je pensais qu'il y avais un truc fait exprès, comme le Getkey qui vaut 0 si on appuis sur rien
Bon, je vais faire ça uniquement pour les touche fléchées alors
Et Dark storm, ensuite je t'envois le code pour que tu y incluse ton code touche.lib par contre, yahoo ne trouve pas ton adresse mail
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 En ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 06/04/2014 21:21 | #


GetKeyWait aurait parfaitement répondu à ton besoin... si elle fonctionnait.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 23/04/2014 19:44 | #


Bon voila j'etait fier de moi, j'avais fait une fonctions pour lire les scores dans un fichier:
void lect_scores(int* scores)
{
    unsigned int key;
    int i;
    int j;
    int buf_score;
    int handle;
    char buffer[101];
    FONTCHARACTER filename[]={'\\','\\','f','l','s','0','\\','s','n','i','p','r','.','s','c','r',0};
    
    handle = Bfile_OpenFile(filename,_OPENMODE_READ);
    // SI FICHIER OUVERT
    if(handle!=-1){
        Bfile_ReadFile(handle,buffer,100,0);
        // LECTURE SCORES ENREGISTRES
        for(i=0;i<5;i++){
            for(j=0;j<3;j++){
                buf_score = 0;
                switch(buffer[i*4+j]){
                    case '0': buf_score += 0*pow(10,2-j);
                    break;
                    case '1': buf_score += 1*pow(10,2-j);
                    break;
                    case '2': buf_score += 2*pow(10,2-j);
                    break;
                    case '3': buf_score += 3*pow(10,2-j);
                    break;
                    case '4': buf_score += 4*pow(10,2-j);
                    break;
                    case '5': buf_score += 5*pow(10,2-j);
                    break;
                    case '6': buf_score += 6*pow(10,2-j);
                    break;
                    case '7': buf_score += 7*pow(10,2-j);
                    break;
                    case '8': buf_score += 8*pow(10,2-j);
                    break;
                    case '9': buf_score += 9*pow(10,2-j);
                    break;
                    default : buf_score += 0*pow(10,2-j);
                }
                scores[i]=buf_score;
            }
        }
    }
    // SINON CREATION
    else{
        //*vitesse = 5;
        SaveDisp(1);
        Bdisp_AllClr_DDVRAM();
        
        Bfile_CreateFile(filename, 8);
        handle = Bfile_OpenFile(filename,_OPENMODE_READWRITE);
        sprintf(buffer,"110+053+022+009+004");
        Bfile_WriteFile(handle,buffer,19);
        
        locate(1,1);
        Print("Un fichier a ete cree");
        locate(6,2);
        Print("snipr.scr");
        locate(1,3);
        Print("  Merci de ne pas le");
        locate(1,4);
        Print("supprimer.");
        locate(5,6);
        Print("Press [ExE]");
        do{
            GetKey(&key);
        }while(key!=30004);
        lect_scores(scores);
        RestoreDisp(1);
    }
    Bfile_CloseFile(handle);
}

Mais elle me renvoie pas les bons scores
Lephenixnoir En ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 23/04/2014 19:48 | #


Tu te casses la tête !

#include <stdio.h>

int main()
{
  char ch[4] = "1475";
  int x;

  sscanf(ch,"%d",&x);
  // et c'est bon !
}

Ça c'est plus facile.
Et puis les puissances... rien de très optimisé
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: 11641 Défis: 176 Message

Citer : Posté le 23/04/2014 19:49 | #


Pourquoi ne pas enregistrer les scores en hexadécimal ?
Genre pour écrire (c'est plus de l'algo que du C, mais la méthode est correcte)
int bestScores[10] = {...};

handle = openFile(); // on ouvre le fichier
writeFile(bestScores, 10*sizeof(int)); // on écrit le contenu
closeFile();


Pour lire :
int bestScores[10];

handle = openFile(); // on ouvre le fichier
readFile(bestScores, 10*sizeof(int)); // on récupère le contenu
closeFile();


Ajouté le 23/04/2014 à 19:50 :
5000 points
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/04/2014 16:31 | #


Alors la je vous avourait ne rien avoir compris
Lephenixnoir En ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 24/04/2014 16:36 | #


C'est vrai que j'ai fait compliqué. Tu veux lire un entier, il a quelque chose justement faite pour ça dans la bibliothèque standard: la fonction atoi().
#include <stdlib.h>

int main()
{
  int x = atoi("1387493");
}

Cette fonction renvoie dans x la valeur "lue" dans la chaîne de caractères.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/04/2014 16:53 | #


oui mais admetont que mes scores sont enregistrés dans le fichier sous la forme
"123+234+123+432+001"
Faut que ca me lise le fichier seulement score par score vu que apres je stocke dans un tableau (scores[])
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ··· 20, 21, 22, 23 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 220 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