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 » 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 ··· 10 ··· 12, 13, 14, 15, 16, 17, 18 ··· 20, 21, 22, 23 Suivante
-florian66- Hors ligne Ancien rédacteur Points: 2370 Défis: 20 Message

Citer : Posté le 21/08/2014 17:41 | #


je pensais que jamais je ne mettrais un commentaire là mais j'ai un system error sur
int charge;
    char charge_val[3];
        for  (charge = 0; charge<100; charge ++ )
        {
        sprintf(charge_val,"%d",charge);
        PrintMini(92,58,charge_val,0);
        }


Je sais pas d'où ça viens
In Arch, I trust ! And you ?
Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 21/08/2014 17:52 | #


Tu as inclus stdio.h au début du fichier ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 19:23 | #


Bon c'est un peut en train de me rendre fou:
while(1){
        GetKey(&key);
        if(key == KEY_CTRL_EXIT || key == KEY_CTRL_F6){
            Serial_Close(0);
            SaveDisp(2);
            fenetre_f(0,45,2);
            for(i=10;i>=0;i--){
                ML_clear_vram();
                ML_bmp_or_cl(banniere_mp, 0, 56-i, 128, 8 );
                ML_bmp_or_cl(banniere_convois, 0, 65-i, 128, 8 );
                ML_display_vram();
                Sleep(50);
            }
            return;
        }
        if(key == KEY_CTRL_EXE) break;
        
    }

Si j’appuie sur EXE ça marche, mais si j’appuie sur Exit ou F6 ca marche pas :aie2:
-florian66- Hors ligne Ancien rédacteur Points: 2370 Défis: 20 Message

Citer : Posté le 18/09/2014 19:26 | #


tu devrai essayer avec le numéro des touches
In Arch, I trust ! And you ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 19:29 | #


C'est pas du a ça, juste après j'utilise le KEY_CTRL_EXIT et ca marche. De toute façon, ce sont des simples directives processeur donc je vois pas comment ça pourrait empêcher ça
Mais merci quand même
-florian66- Hors ligne Ancien rédacteur Points: 2370 Défis: 20 Message

Citer : Posté le 18/09/2014 19:31 | #


Mais sinon pour simplifier tu ne pourrais pas écrire key(KEY_CTRL_EXIT) ?
In Arch, I trust ! And you ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 19:32 | #


key() ?
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 18/09/2014 19:34 | #


TheProg, les defines sont fait pour faciliter la vie, si tu ne les utilisent pas, ton code est moins compréhensibles
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 19:36 | #


Mais j'ai jamais dit le contraire
Je repondait a Flo qui me disait que ca pouvait venir de la
Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 18/09/2014 20:05 | #


T'es sûr que le code à l'intérieur du bloc est pas exécuté ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 20:14 | #


Ben si le code dans la boucle est exécuté vu qu'en appuyant sur EXE j'en sort et j’accède a la suite du programme ...
Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 18/09/2014 20:47 | #


Oui mais le code qui est censé ne pas être exécuté même lorsque tu appuies sur [EXIT] ou [F6]... peut-être qu'il est exécuté mais que tu le vois pas...
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 21:23 | #


Comprend pas
La fonction
Cliquer pour enrouler
void convois()
{
    const unsigned char banniere_mp[]={
        0x3f,0xff,0xf9,0xff,0xff,0xcf,0xff,0xfe,0x7f,0xff,0xf3,0xff,0xff,0x9f,0xff,0xfc,
        0x2a,0xaa,0xa9,0x55,0x55,0x4a,0xaa,0xaa,0x55,0x55,0x52,0x0,0x0,0x15,0x55,0x54,
        0x35,0x55,0x51,0xaa,0xea,0x8d,0x55,0xd4,0x6a,0xee,0xa2,0x1,0x80,0x1a,0xae,0xa8,
        0x2a,0xfe,0xa9,0x55,0xf5,0x4a,0xbf,0xea,0x55,0x7d,0x52,0xf,0x38,0x15,0x7d,0x54,
        0x35,0xdf,0x51,0xbb,0xbb,0x8d,0x5d,0xd4,0x6a,0xee,0xa2,0x1f,0x3c,0x1a,0xef,0xa8,
        0x2a,0xfe,0xa9,0x5f,0xff,0x4a,0xaa,0xaa,0x55,0xd7,0x52,0x18,0x6c,0x15,0x75,0xd4,
        0x35,0xff,0x51,0xbf,0xff,0x8d,0x5d,0xd4,0x6a,0xaa,0xa2,0x18,0xc,0x1a,0xff,0xa8,
        0x2a,0x7e,0xa9,0x5f,0xff,0x4a,0xbe,0xaa,0x55,0x7d,0x52,0x18,0xc,0x15,0x7f,0x54
    };
    const unsigned char banniere_convois[]={
        0x3f,0xff,0xf9,0xff,0xff,0xcf,0xff,0xfe,0x7f,0xff,0xf3,0xff,0xff,0x9f,0xff,0xfc,
        0x20,0x0,0x9,0x0,0x0,0x8,0x0,0x2,0x40,0x0,0x2,0x0,0x0,0x90,0x0,0x0,
        0x20,0x0,0x9,0x30,0x1,0x8,0x0,0x2,0x58,0x0,0x2,0x0,0x0,0x90,0xe,0x0,
        0x20,0x0,0x9,0x42,0x63,0x8,0x0,0x2,0x54,0x8d,0x42,0x0,0x0,0x90,0xe,0x0,
        0x20,0x0,0x9,0x25,0x55,0x8,0x0,0x2,0x59,0x51,0x42,0x0,0x0,0x90,0x1f,0x0,
        0x20,0x0,0x9,0x14,0x55,0x8,0x0,0x2,0x55,0x11,0x42,0x0,0x0,0x90,0xe,0x0,
        0x20,0x0,0x9,0x63,0x53,0x8,0x0,0x2,0x54,0xcc,0x82,0x0,0x0,0x90,0x4,0x0,
        0x3f,0xff,0xf9,0x0,0x0,0xf,0xff,0xfe,0x40,0x0,0x3,0xff,0xff,0x90,0x0,0x0
    };

    int i, erreur1, erreur2;
    unsigned int j, k, temps, temps_m, temps_h, temps_j, key;
    unsigned char buffer[50];
    unsigned char config[] = {0, 5, 0, 0, 0, 0};
    char communication = '0';
    
    fenetre_f(0,54,1);
    for(i=0;i<10;i++){
        ML_clear_vram();
        ML_bmp_or_cl(banniere_mp, 0, 56-i, 128, 8);
        ML_bmp_or_cl(banniere_convois, 0, 65-i, 128, 8);
        ML_display_vram();
        Sleep(50);
    }
    PrintMini(3,3, "CONVOIS:", 0);
    SaveDisp(2);
    fenetre_o(0,45,2);
    SaveDisp(2);
    
    Serial_Open(config);
    Serial_ClearReceiveBuffer();
    Serial_ClearTransmitBuffer();
    
    ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
    PrintMini(3,17, "Connectez les 2 calculatrices", 0);
    PrintMini(3,24, "puis appuyez sur [EXE]...", 0);
    ML_display_vram();
    while(1){
        GetKey(&key);
        if(key == KEY_CTRL_EXIT || key == KEY_CTRL_F6){
            Serial_Close(0);
            SaveDisp(2);
            fenetre_f(0,45,2);
            for(i=10;i>=0;i--){
                ML_clear_vram();
                ML_bmp_or_cl(banniere_mp, 0, 56-i, 128, 8);
                ML_bmp_or_cl(banniere_convois, 0, 65-i, 128, 8);
                ML_display_vram();
                Sleep(50);
            }
            return;
        }
        if(key == KEY_CTRL_EXE) break;
        
    }

    ML_clear_vram();
    RestoreDisp(2);
    ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
    PrintMini(3,17, "Test de connection", 0);
    PrintMini(3,24, "( [EXIT] pour interrompre )", 0);
    ML_display_vram();

    communication = 'T';
    Serial_WriteByte(communication);
    communication = 'N';

    i = 500;
    while(sizeof(char) != Serial_GetRxBufferSize() && IsKeyUp(KEY_CTRL_EXIT) && i) i--, Sleep(10);
    Serial_ReadByte(&communication);

    if(communication == 'T'){
        ML_clear_vram();
        RestoreDisp(2);
        PrintMini(3,20, "Connection reussie !", 0);
        ML_display_vram();
        Sleep(3000);
        
        Serial_ClearReceiveBuffer();
        Serial_ClearTransmitBuffer();
        
        do{
            
            if(IsKeyDown(KEY_CTRL_F2)){
                ML_clear_vram();
                RestoreDisp(2);
                ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
                PrintMini(3,17, "Demande en cours...", 0);
                PrintMini(3,24, "( [EXIT] pour interrompre )", 0);
                ML_display_vram();
                
                // DEMANDE D'ENVOIE
                Serial_WriteByte('S');
                communication = 0;
                i = 5000;
                while(sizeof(char) != Serial_GetRxBufferSize() && IsKeyUp(KEY_CTRL_EXIT) && i) i--, Sleep(1);
                Serial_ReadByte(&communication);
                
                // ETUDE RETOUR
                if(communication == 'O'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    envoie();
                    break;
                }
                else if(communication == 'R'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Serial_WriteByte('O');
                    Sleep(2000);
                    recevoir();
                    break;
                }
                else if(communication == 'N'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande refusee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    break;
                }
                else if(communication == 'S'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Mettez-vous d'accord !", 0);
                    ML_display_vram();
                    Serial_ClearReceiveBuffer();
                    Serial_ClearTransmitBuffer();
                }
                else{
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Echec communication...", 0);
                    Serial_WriteByte('F');
                    ML_display_vram();
                    Sleep(2000);
                    break;
                }
            }
            
            if(IsKeyDown(KEY_CTRL_F4)){
                ML_clear_vram();
                RestoreDisp(2);
                ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
                PrintMini(3,17, "Demande en cours...", 0);
                PrintMini(3,24, "( [EXIT] pour interrompre )", 0);
                ML_display_vram();
                
                // DEMANDE D'ENVOIE
                Serial_WriteByte('R');
                communication = 0;
                i = 5000;
                while(sizeof(char) != Serial_GetRxBufferSize() && IsKeyUp(KEY_CTRL_EXIT) && i) i--, Sleep(1);
                Serial_ReadByte(&communication);
                
                // ETUDE RETOUR
                if(communication == 'O'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    recevoir();
                    break;
                }
                else if(communication == 'S'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Serial_WriteByte('O');
                    Sleep(2000);
                    recevoir();
                    break;
                }
                else if(communication == 'N'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande refusee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    break;
                }
                else if(communication == 'R'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Mettez-vous d'accord !", 0);
                    ML_display_vram();
                    Serial_ClearReceiveBuffer();
                    Serial_ClearTransmitBuffer();
                }
                else{
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Echec communication...", 0);
                    Serial_WriteByte('F');
                    ML_display_vram();
                    Sleep(2000);
                    break;
                }
            }
            
            if(IsKeyDown(KEY_CTRL_F6) || IsKeyDown(KEY_CTRL_EXIT)) break;
            
            if(sizeof(char) == Serial_GetRxBufferSize()){
                Serial_ReadByte(&communication);
                
                if(communication == 'S'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
                    PrintMini(3,17, "  Voulez-vous recevoir ?", 0);
                    PrintMini(3,24, "( [EXE] OUI  /  [EXIT] NON )", 0);
                    ML_display_vram();
                    
                    communication = 0;
                    do{
                        if(IsKeyDown(KEY_CTRL_EXE)) communication = 'O';
                        if(IsKeyDown(KEY_CTRL_EXIT)) communication = 'N';
                    }while(communication == 0);
                    Serial_WriteByte(communication);
                    if(IsKeyDown(KEY_CTRL_EXIT)) break;
                    
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    
                    recevoir();
                    break;
                }
                if(communication == 'R'){
                    ML_clear_vram();
                    RestoreDisp(2);
                    ML_rectangle(2,56,125,65,1,ML_BLACK,ML_WHITE);
                    PrintMini(3,17, "  Voulez-vous envoyer ?", 0);
                    PrintMini(3,24, "( [EXE] OUI   /  [EXIT] NON )", 0);
                    ML_display_vram();
                    
                    communication = 0;
                    do{
                        if(IsKeyDown(KEY_CTRL_EXE)) communication = 'O';
                        if(IsKeyDown(KEY_CTRL_EXIT)) communication = 'N';
                    }while(communication == 0);
                    Serial_WriteByte(communication);
                    if(IsKeyDown(KEY_CTRL_EXIT)) break;
                    
                    ML_clear_vram();
                    RestoreDisp(2);
                    PrintMini(3,20, "Demande acceptee !", 0);
                    ML_display_vram();
                    Sleep(2000);
                    
                    envoie();
                    break;
                }
            }
            
        }while(1);
    }
    else{
        ML_clear_vram();
        RestoreDisp(2);
        ML_rectangle(2,56,104,65,1,ML_BLACK,ML_WHITE);
        PrintMini(3,17, "Echec de la connection", 0);
        PrintMini(3,25, "Reponse trop lente", 0);
        ML_display_vram();
        while(IsKeyDown(KEY_CTRL_F6) || IsKeyDown(KEY_CTRL_EXIT));
        while(IsKeyUp(KEY_CTRL_F6) && IsKeyUp(KEY_CTRL_EXIT));
    }

    Serial_Close(0);
    
    SaveDisp(2);
    fenetre_f(0,45,2);
    for(i=10;i>=0;i--){
        ML_clear_vram();
        ML_bmp_or_cl(banniere_mp, 0, 56-i, 128, 8);
        ML_bmp_or_cl(banniere_convois, 0, 65-i, 128, 8);
        ML_display_vram();
        Sleep(50);
    }
}

Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 18/09/2014 21:47 | #


C'est pas grave, laisse tomber.
T'as essayé de conditionner ton bloc qui s'exécute pas par la touche [EXE] pour voir ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 21:53 | #


Pas con, c'est fou comment parfois tu me résous des problèmes en 5 minutes, ça m'énerfe, tout ca pour des macarons, mas bon, y parait qu'ils sont bons
Sinon ca marche avec EXE, comme quoi j'ai négligé Flo mais il avait peut-être pas totalement tord
Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 18/09/2014 21:55 | #


À mon avis il avait même carrément raison.

Bref, t'as essayé -- même si c'est pas forcément recommandé, ce qui ne m'empêche pas de le faire tout le temps -- de remplacer KEY_CTRL_EXIT par 30002 et KEY_CTRL_F6 par 30014 ?
Et tu es sûr d'avoir inclus keybios.h ou à défaut, fxlib.h dans le fichier source ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 18/09/2014 22:02 | #


C'etait sur que non dans le sens ou il y a 44 occurrences de KEY_CTRL_F6 ou de KEY_CTRL_EXIT dans mon code et que c'est les deux seuls qui ne marchent pas
(oui avec les codes non plus ca marche pas )
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 19/09/2014 06:37 | #


Theprog a écrit :
... ça m'énerfe, tout ca pour des macarons, mas bon, y parait qu'ils sont bons ...


Cliquez pour découvrir
Cliquez pour recouvrir
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 02/10/2014 20:36 | #


Trouvé

Salut,
J'ai encore des soucis avec les types de variables (int/doucle) pour mon Fourmizzz.
Le probleme se fait a l'affichage des barres dans le menu principal, quand on lance l'add-in. En fait, j'ai un nombre n de nourriture, un nombre m qui definit la quantité max de stockage. Ce que je veux c'est afficher une barre sur 100 pixels qui soit a 100 pixels pour l'entrepot rempli au max et a 0 pixel pour le min (evident).

Voila ce que je fait actuellement:
j=1700;
for(i=0;i<data[2][2];i++)
    j=j*2-500;
i=j;
j=100000/j*data[0][1];
ML_horizontal_line(16, 4, j/1000+4, ML_BLACK);

1700 est le m pour le niveau de base, que l'on multiplie par 2 et auquel on retranche 500 pour avoir le niveau supperieur.
Et apres c'est le merdier
On a aussi data[0][1] qui equivaut a n.
Les data, i et sont des entiers.

Ajouté le 09/10/2014 à 18:24 :
Pour flo:
int type = 0;
unsigned int unite[12] = {0};
const char nom_unite[12][25]={
    "Jeunes soldates naines",
    "Soldates naines",
    "Naines d'elite",
    "Jeunes soldates",
    "Soldates",
    "Concierges",
    "Artilleuses",
    "Artilleuses d'elite",
    "Soldates d'elite",
    "Tanks",
    "Tueuses",
    "Tueuses d'elite"
};

PrintMini(35,22,nom_unite[type],0);
sprintf(buffer, "%u", unite[type]);
PrintMini(35,29,buffer,0);

Lephenixnoir En ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 09/10/2014 19:01 | #


Pourquoi tu t'embêtes ? Tu peux pas utiliser un truc simple des fois ?
Bon, je vois pas trop comment fonctionne ton code mais il te suffit de tracer une ligne, après c'est selon ton ui.
Bdisp_DrawLineVRAM(base_x, y, base_x + (valeur * 100 / maximum), y);

Attention à bien faire la multiplication avant la division !
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/12/2014 21:18 | #


Retour des problèmes
Je pensait qu'il était possible de déclarer des variables dans des if mais j'ai une erreur:
void drawBriques(int x, int y, int rotation, Type type)
{
    int tx, ty;
    
    if(type == BRIQUE)
    {
        const unsigned char sprite[]={
            0x6f, 0x9f, 0x9f, 0xbf, 0x9f, 0x9f, 0xdf,
            0x9f, 0x9f, 0xbf, 0x9f, 0x9f, 0xdf, 0x9f, 0x6f,
        };

        tx = 4;
        ty = 15;
    }
    
    ML_bmp_or_cl(sprite, x, y, tx, ty);
}

L'erreur c'est a la ligne du ML_bmp: C2225 (E) Undeclared name "sprite"
Précédente 1, 2, 3 ··· 10 ··· 12, 13, 14, 15, 16, 17, 18 ··· 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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 48 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