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 ··· 8, 9, 10, 11, 12, 13, 14 ··· 20, 21, 22, 23 Suivante
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 14:55 | #


À quel niveau est-ce que ça bugge ?
Au pire, teste avec des commentaires pour repérer que fonction plante.
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 11/05/2014 14:57 | #


Soit vaisseau prend des valeurs incongrues, soit l'initialisation plante, soit j'ai des systemes error, ...

donc:
là:
cible.x = 120;
cible.y = 64;
cible.rayon = 5;
cible.gmm = 3.;
ou la:
x = vaisseau.x;
y = vaisseau.y;
de toute facon je pense que j'ai un probleme avec les valeurs vu que les cercles ne se tracent pas ...
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 15:02 | #


Lorsque tu est sûr que tu vas modifier toutes tes valeurs, déjà n'initialise pas ta structure avec "=".
Ensuite dans affiche_piaf(), pourquoi ne pas passer le pointeur plutôt que de t'embêter ?
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 11/05/2014 15:22 | #


Alors voila le nouveau code:
Le code
Cliquer pour enrouler
#include "fxlib.h"
#include "MonochromeLib.h"
#include "memory.h"
#include "jeu.h"
#include "AGBS.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


void level(int monde, int niveau)
{
    int victoire = 0;

    Vaisseau vaisseau={5.,32.,0.,0.,1};
    Corps corps_1={0,0,0,0};
    Corps corps_2={0,0,0,0};
    Corps corps_3={0,0,0,0};
    Corps cible={0,32,0,0};
    
    lecture_piaf(&(vaisseau.type));
    
    if(monde == 1){
        // faire tuto !
        if(niveau == 2){
            // POS INITIALE vaisseau
            vaisseau.x = 5.;
            vaisseau.y = 32.;
            vaisseau.vx = 2.;
            vaisseau.vy = 0.;
            
            // POS CIBLE
            cible.x = 120;
            cible.y = 64;
            cible.rayon = 5;
            cible.gmm = 3.;
            
            // POS CORPS
            corps_1.x = 64;
            corps_1.y = 32;
            corps_1.rayon = 5;
            corps_1.gmm = 3.;
            
            victoire = jeu_1C(&vaisseau ,cible, corps_1);
            
            
        }
    }
}


int jeu_1C(Vaisseau *vaisseau, Corps cible, Corps corps)
{
    char buf[21];

    while(1){
        sprintf(buf,"%f - %f",(*vaisseau).x, (*vaisseau).y);
        PrintXY(1,1,buf,0);
        ML_display_vram();
        Sleep(1000);
        
        Bdisp_AllClr_DDVRAM();
        ML_filled_circle(corps.x, corps.y, corps.rayon, ML_BLACK);
        ML_circle(cible.x, cible.y, cible.rayon, ML_BLACK);
        affiche_piaf(&vaisseau);
        Bdisp_PutDisp_DD();
        
        integre_2C(&vaisseau, cible, corps);
    }
}

void integre_2C(Vaisseau *vaisseau, Corps cible, Corps corps)
{
    double fx, fy;
    double bfx, bfy;
    forceSubie(*vaisseau, cible, &fx, &fy);
    bfx = fx;
    bfy = fy;
    forceSubie(*vaisseau, corps, &fx, &fy);
    fx+=bfx;
    fy+=bfy;
    
    vaisseau->x += fx/2;
    vaisseau->y += fy/2;
    vaisseau->vx += vaisseau->vx+fx/2;
    vaisseau->vy += vaisseau->vy+fy/2;
}

void forceSubie(Vaisseau vaisseau, Corps corps, double *fx, double *fy)
{
    double xSatCorps = (double)(corps.x)-vaisseau.x;
    double ySatCorps = (double)(corps.y)-vaisseau.y;
    double r = sqrt(xSatCorps*xSatCorps+ySatCorps*ySatCorps);
    *fx = xSatCorps*(corps.gmm)/r/r/r;
    *fy = ySatCorps*(corps.gmm)/r/r/r;
}

void affiche_piaf(Vaisseau *vaisseau)
{
    double x, y;
    
    x = vaisseau->x;
    y = vaisseau->y;
    
    if (x <1) x = 1.;
    if (x >128) x = 128.;
    if (y <1) y = 1.;
    if (y >64) y = 64.;
    
    Bdisp_SetPoint_VRAM((int)(x+0.5)+1,(int)(y+0.5),1);
    Bdisp_SetPoint_VRAM((int)(x+0.5)-1,(int)(y+0.5),1);
    Bdisp_SetPoint_VRAM((int)(x+0.5),(int)(y+0.5)+1,1);
    Bdisp_SetPoint_VRAM((int)(x+0.5),(int)(y+0.5)-1,1);
}

Mais quand je veux faire mon debug (sprintf(buf,"%f - %f",(*vaisseau).x, (*vaisseau).y);) j'ai droit a un SE. Pourtant je vois pas d'erreur
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 15:23 | #


Pourquoi tu ne mets pas simplement
sprintf(buf,"%f - %f",vaisseau->x, vaisseau->y);

?
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 11/05/2014 15:24 | #


Ca revient en meme j'ai le SE. Justement j'avait mis ca, ca a buggé alors j'ai testé l'autre
n'initialise pas ta structure avec "=".

J'ai pas compris ...
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 15:27 | #


Corps cible, corps_1;

Encore une fois, je ne vois pas pourquoi tu t'embêtes.
Et un conseil, laisse toujours les flèches pour déférencer des structures, c'est bien plus lisible.

Ajouté le 11/05/2014 à 15:28 :
Tu es sûr que ton buffer est assez grand ? Vu qu'il faut compter 6 décimales... je ne pense pas.
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 11/05/2014 15:37 | #


Oui le buffer est assez grand (je l'ai mis a 50).
Corps cible, corps_1;

t'as trouvé ca ou ?
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 15:40 | #


Justement, c'est que je te conseille de mettre car ça évite d'initialiser pour rien (au début de la fonction jeu()).

Et !
affiche_piaf(&vaisseau);

vaisseau est déjà un pointeur.
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 11/05/2014 16:17 | #


C'est bon ca marche
Encore encore encore ... merci

Ajouté le 11/05/2014 à 16:41 :
Encore une question:
Le code
Cliquer pour enrouler
int jeu_1C(Vaisseau *vaisseau, Corps cible, Corps corps)
{
    Bdisp_AllClr_DDVRAM();
    ML_filled_circle(corps.x, corps.y, corps.rayon, ML_BLACK);
    ML_circle(cible.x, cible.y, cible.rayon, ML_BLACK);
    SaveDisp(1);
    
    lancer(vaisseau);
    
    while(1){
        RestoreDisp(1);
        affiche_piaf(vaisseau);
        ML_display_vram();
        
        integre_2C(vaisseau, cible, corps);
    }
}

void lancer(Vaisseau *vaisseau)
{
    unsigned int key;

    while(1){
        RestoreDisp(1);
        affiche_piaf(vaisseau);
        ML_line((int) vaisseau->x, (int) vaisseau->y, (int)(vaisseau->x + vaisseau->vx), (int)(vaisseau->y + vaisseau->vy), ML_BLACK);
        ML_display_vram();
        
        GetKey(&key);
        
        if(key == KEY_CTRL_UP) (vaisseau->vy)--;
        if(key == KEY_CTRL_DOWN) (vaisseau->vy)++;
        if(key == KEY_CTRL_LEFT) (vaisseau->vx)--;
        if(key == KEY_CTRL_RIGHT) (vaisseau->vx)++;
        if(key == KEY_CTRL_EXE || key == KEY_CTRL_EXIT) break;
    }
}

Pourquoi les valeurs de vaisseau.vy et vaisseau.vx ne sont pas changé lors du retour dans jeu_1C() ?
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 16:50 | #


Tu es sûr que tu peux incrémenter ou décrémenter un double ?
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 11/05/2014 16:53 | #


Non mais meme si je fais "-= 1." ca ne change rien...
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 17:09 | #


C'est peut-être une histoire de déférencement, mais je ne pense pas... essaie quand même
if(key == KEY_CTRL_UP) *((double *)(vaisseau)+3)--;
if(key == KEY_CTRL_DOWN) *((double *)(vaisseau)+3)++;
if(key == KEY_CTRL_LEFT) *((double *)(vaisseau)+2)--;
if(key == KEY_CTRL_RIGHT) *((double *)(vaisseau)+2)++;


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 11/05/2014 17:12 | #


C:\Documents and Settings\Casio\AGBS\jeu.c(149) : C2206 (E) Modifiable lvalue required for "--"
C:\Documents and Settings\Casio\AGBS\jeu.c(150) : C2206 (E) Modifiable lvalue required for "++"
C:\Documents and Settings\Casio\AGBS\jeu.c(151) : C2206 (E) Modifiable lvalue required for "--"
C:\Documents and Settings\Casio\AGBS\jeu.c(152) : C2206 (E) Modifiable lvalue required for "++"


Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 11/05/2014 17:15 | #



Je ne vois pas.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 18/05/2014 13:26 | #


Bonjour,

J'aurais besoin d'un peu d'aide.
J'ai déjlà expliquer mon problème à certains et il semble qu'il y ai une solution efficace ...


Int Bouger = 128;

While (1){
PrintMini(Bouger,58,"Un très long texte qui prend plus de 128 Pixel de large",1);
If (Bouger = -100) {Bouger = 128;}

}


Bon alors voilà, maintenant le problème c'est que quand la première lettre, soit "U" arrive a l'abscisse 1 ben toute la chaine de caractère s'efface. Moi je voudrais donc que le reste continue de défiler !

On m'a parler de pointeur etc ... Donc j'ai lu pas mal de tutoriel sur les pointeurs ... Mais je n'ai pas vraiment compris comment ça peux m'aider.

Merci.
1337
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 18/05/2014 13:54 | #


En gros, si la chaîne commence en-dehors de l'écran, elle ne s'affiche pas.
La solution la plus simple est d'utiliser PrintXY qui gère le clipping.

Sinon, voilà.
Une chaîne de caractères en fait un pointeur sur de la mémoire (qui contient la chaîne), comme tous les tableaux.
Lorsque dans un programme, tu fais
tab[i]

c'est automatiquement transformé en
*(tab+i)

tab c'est le pointeur. Lorsqu'on "augmente" un pointeur, on le décale dans la mémoire. Par défaut, le pointeur pointe sur le premier élément du tableau, donc lorsqu'on augmente sa valeur, il pointe plus loin. Ici, tab+i pointe sur le i-ème élément.
Ensuite, on le "déférence" (c'est le terme), avec l'opérateur "*". C'est-à-dire que l'on accède à la valeur sur laquelle il pointe.

Pour les chaînes, c'est pareil, sauf qu'avec PrintMini, il ne faut pas déférencer (la fonction prend un pointeur). Donc par exemple, si tu fais
PrintMini(x,y,(const unsigned char *)ch+1,0);

tu affiches à partir du deuxième caractère.
Donc lorsque ta chaîne commencer à sortir de l'écran, tu affiches à partir du caractère suivant. Pour cela, tu mémorises une variable qui contient le carcatère à partir duquel afficher.

Ça fonctionne, mais il y a un problème majeur. Il faut que tu conserves bouger à l'intérieur de l'écran, donc lorsqu'une lettre en sort, tu l'augmentes de la largeur de la lettre, ce qui permet de simuler un déplacement fluide.
Sauf que les lettres n'ont pas toutes la même largeur.
Tu peux utiliser une petite formule pour ça. Voilà (en gros) le code complet.
int absolu = 128;
int temp; // abscisse actuelle
int i; // index à partir duquel on écrit

for(temp=absolu,i=0;absolu>-100;temp--,absolu--)
{
  PrintMini(temp,58,"Un très long texte qui prend plus de 128 Pixel de large"+i,1);
  if(temp<0) {
    temp += largeur_lettre+1;
    i++; }
}

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: 11634 Défis: 176 Message

Citer : Posté le 18/05/2014 13:55 | #


J'allais répondre, tu m'a devancé
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 18/05/2014 17:11 | #


Merci !
J'ai réussi et plus ou moins compris !
1337
Lephenixnoir En ligne Administrateur Points: 24235 Défis: 170 Message

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


Ce que je t'ai dit est valable pour tous les tableaux, c'est là l'intérêt.
Ça permet aussi de comprendre le passage des tableaux par pointeurs (justement celui sur le premier élément), et le problème des faux tableaux de pointeurs.

D'ailleurs, tu as réussi avec la formule de la largeur ? Il n'y a que quelques execeptions. Je l'avais faite vite fait, mais impossible de la retrouver.
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 10/06/2014 17:50 | # | Fichier joint


Pour ElTo:
Extrait tout et remet le dossier dans le dossier racine du SDK...

Ajouté le 14/06/2014 à 18:16 :
int fichier_sous(int sous)
{
    int handle, nbr;
    char buffer[NBR_AMELIO], buf[3];
    unsigned char debug[50];
    
    FONTCHARACTER magasin[]={'\\', '\\', 'f', 'l', 's', '0', '\\', 'E', 'v', 'o', 'F', 'i', 'l', 'e', 's', '\\', 'M', 'a', 'g', 'a', 's', 'i', 'n', '.', 'e', 'v', 0};

    handle = Bfile_OpenFile(magasin, _OPENMODE_READ);
    Bfile_ReadFile(handle, buffer, NBR_AMELIO, 0);
    Bfile_CloseFile(handle);
    sprintf(debug,"%d",Bfile_DeleteFile(magasin));
    PrintXY(0,0,debug,0);
    ML_display_vram();
    Sleep(5000);
    
    for(nbr=0;nbr<3;nbr++) buf[nbr] = buffer[3+nbr];
    nbr = atoi(buf);
    if(nbr != 999) nbr+=sous;
    sprintf(buf,"%d",nbr);
    for(nbr=0;nbr<3;nbr++) buffer[3+nbr] = buf[nbr];
    
    Bfile_CreateFile(magasin,(NBR_JEUX)*2+1);
    handle = Bfile_OpenFile(magasin, _OPENMODE_WRITE);
    Bfile_WriteFile(handle, buffer, (NBR_JEUX)*2);
    Bfile_CloseFile(handle);
    return nbr;
}

Voila une petite fonction qui me permet de gérer le fichier des sous...
Le problème c'est que Bfile_DeleteFile() me renvoi -8 soit "IML_FILEERR_ACCESSDENYED". Pourtant, Bfile_CloseFile() renvoie 0 ...
Précédente 1, 2, 3 ··· 8, 9, 10, 11, 12, 13, 14 ··· 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 102 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