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 » apprentissage du C
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

apprentissage du C

Posté le 21/04/2014 18:14

J'ai décidé d'apprendre le C par ci par là pendant mon temps libre
la je débute avec le SDK mais je ne comprends pas pourquoi le passage suivant est incorrect
    while(1){
locate(5,1);
     Print((unsigned char*)GetKey(&key));
        GetKey(&key);
    }

autre chose : les espaces ne semblent pas importants (contrairement à python) alors pourquoi il y en a t-il partout dans chaque nouvel add-in ????


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 28/05/2014 20:42 | #


Mais non, lorsqu'une barre sort de l'écran tu la vires du tableau.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 28/05/2014 20:43 | #


et donc on a besoin que d'un tableau de 5 variables environ (admettons ) mais dans ce cas là pq ne pas prendre direct 5 variable ?

Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 28/05/2014 20:44 | #


C'est pas pratique, car un tableau te permet d'accéder à une des variables à partir d'une variable (l'index), alors que sinon c'est impossible.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 28/05/2014 20:45 | #


ok je testerai pendant ce (long ) week-end
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 28/05/2014 20:47 | #


Ben si tu as 5 barres maximum à l'écran, tu aura un algorithme du genre
[u]Algorithme :[/u]

[u]Boucle principale :[/u]
int obstacles[5];

Tant_Que [i]on a pas perdu[/i]
    Si [i]un obstacle sort de l'écran[/i]
    Alors [i]on décale tout les obstacles du tableau, et on en créé un nouveau[/i]
    Fin_Si

    [i]Tester les collisions[/i]

    Pour [i]chaque obstacle[/i]
        [i]Afficher l'obstacle (obstacle[ i ], hauteur);[/i]
    Fin_Pour
Fin_Tant_Que

[u]Fonction : Afficher l'obstacle ( position, hauteur)[/u]
    Afficher une barre de 0px à "position" px et à "hauteur" px
    Afficher une barre de "position" + largeur_trou à 127px et à "hauteur" px
Fin_Fonction

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 28/05/2014 20:49 | #


ok merci mais là je suis pas sur le bon pc alors je teste pas ca mtn
(ps : sur une note de 1 à 10 cb de difficulté mettriez vous à un falldown ? )
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 28/05/2014 20:50 | #


4, je pense.
Et il faudrait peut-être afficher les barres avant de tester les collisions, bien que ça puisse créer des problèmes d'encastrement si le déplacement est mal placé.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 14:19 | #


question :
dans un tableau de type int tableau, pour appeler tableau[2], faut-il mettre int ou char ou rien devant ???

Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/05/2014 14:20 | #


Rien devant
C'est comme une variable normale

Ajouté le 30/05/2014 à 14:21 :
Par contre, faut déclarer ça :

int tableau[ taille_max_voulue ];

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 14:27 | #


mais si je fais une fonction, il faut déclarer le tableau avant la fonction mais dans ce cas, je suis obligé de déclarer le tableau avant int main mais comment ???
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/05/2014 14:29 | #


Il faut plutôt le passer en paramètre.
void fonction(int *);

int main()
{
  int tableau[10];
  fonction(tableau):
}

void fonction(int *tab)
{
  int a = tab[2];
  // ...
}

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 14:36 | #


ok merci

Ajouté le 30/05/2014 à 15:16 :
alors là je suis largué
pourquoi ca marche pas
/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "MonochromeLib.h"


//****************************************************************************
//  AddIn_main (Sample program main function)
//
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
void montee();
void afficher_obstacle();

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    Bdisp_AllClr_DDVRAM();
    int score=0, x=60, y=32, i=0, perdu=0;
    int obstacles[5], trou[]={30,30,30,30,30};
    char balle[]={60, 126, 251, 253, 253, 255, 126, 60};
    while(!perdu){
        ML_Color test_un;
        ML_Color test_deux;
        test_un=ML_pixel_test(x+3, y+8);
        test_deux=ML_pixel_test(x+5, y+8);
        if(IsKeyDown(KEY_CTRL_LEFT)&& x>0) x++;
        if(IsKeyDown(KEY_CTRL_RIGHT)&& x<120) x--;
        if(y==0) perdu=1;
        if(test_un==0 && test_deux==0)y++;
        ML_clear_vram();
        montee();
        afficher_obstacle();
        ML_bmp_8_or(balle, x, y);

        Sleep(50)
        ML_display_vram();
    }

    return 1;
}

void montee(){
if(obstacles[0]=0){
    for(i=0;i<4;i++){
        obstacles[i]=obstacles[i+1];
        trou[i]=trou[i+1];
    }
    obstacles[4]=63;
    trou[4]=30;
}
for(i=0;i<4;i++) obstacles[i]--;
}

void afficher_obstacle(){
    for(i=0, i<4,i++) {
        ML_rectangle(0,obstacles[i],trou[1],obstacles[i], 0, ML_BLACK, ML_CHECKER);
        ML_rectangle(trou[1]+20,obstacles[i],128,obstacles[i], 0, ML_BLACK, ML_CHECKER);
    }
}



//****************************************************************************
//**************                                              ****************
//**************                 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


toute aide est la bienvenue
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/05/2014 15:24 | #


Alors.
char balle[]={60, 126, 251, 253, 253, 255, 126, 60};

Commence par le passer en const unsigned char, c'est plus prudent et plus exact (et plus compréhensible aussi).

Et ton tableau obstacles, il n'est défini que dans le main. Si tu veux pouvoir le modifier dans les autres fonctions... tu dois faire ce que je t'ai montré juste au-dessus.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

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


le problème est que j'ai pas compris ce que tu as mis au dessus, j'ai juste mis des prototypes
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/05/2014 15:30 | #


Eh bien, je passe en argument le tableau (dans le main).
Pour le récupérer dans la fonction appelée, le type de l'argument est le type du tableau suivi d'une étoile. Ici, comme c'est un tableau d'int, l'argument est un int * (en fait, c'est un pointeur).
Ensuite, tu peux l'utiliser dans ton fonction appelée comme un tableau normal, tant que tu ne dépasses pas l'index maximal autorisé (dans mon exemple, 9).
Attention ! Ça ne fonctionne que pour les tableaux à une dimension.

Ajouté le 30/05/2014 à 15:31 :
Ah et, aussi : si tu modifies le tableau dans la fonction appelée, il le reste une fois de retour dans le fonction appelante.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 15:36 | #


alors je crois que j'ai fait ce que tu as dit mais le compilo me dit toujours
ca
Cliquer pour enrouler

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

set SHC_INC=C:\SAV\ALEX\SDK\OS\SH\include
set PATH=C:\SAV\ALEX\SDK\OS\SH\bin
set SHC_LIB=C:\SAV\ALEX\SDK\OS\SH\bin
set SHC_TMP=C:\SAV\ALEX\SDK\essais\falldown\Debug
    WARNING: The following dependant file(s) do not exist: "MonochromeLib.h". Line: 74
"C:\SAV\ALEX\SDK\OS\SH\bin\shc.exe" -subcommand=C:\Users\AAAB\AppData\Local\Temp\hmkE14C.tmp
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2500 (E) Illegal token "int"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2225 (E) Undeclared name "score"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2220 (E) Modifiable lvalue required for "="
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2225 (E) Undeclared name "x"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2220 (E) Modifiable lvalue required for "="
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2225 (E) Undeclared name "y"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2220 (E) Modifiable lvalue required for "="
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2225 (E) Undeclared name "i"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2220 (E) Modifiable lvalue required for "="
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2225 (E) Undeclared name "perdu"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(32) : C2220 (E) Modifiable lvalue required for "="
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(33) : C2500 (E) Illegal token "int"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(33) : C2225 (E) Undeclared name "obstacles"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(33) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(34) : C2500 (E) Illegal token "const"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(34) : C2225 (E) Undeclared name "trou"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(34) : C2500 (E) Illegal token "]"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(34) : C2500 (E) Illegal token "{"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(34) : C2500 (E) Illegal token "}"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(35) : C2500 (E) Illegal token "const"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(35) : C2225 (E) Undeclared name "balle"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(35) : C2500 (E) Illegal token "]"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(35) : C2500 (E) Illegal token "{"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(35) : C2500 (E) Illegal token "}"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(46) : C2202 (E) Number of parameters mismatch
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(47) : C2202 (E) Number of parameters mismatch
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(48) : C2201 (E) Cannot convert parameter "1"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(51) : C2500 (E) Illegal token "ML_display_vram"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(58) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(60) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(60) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(61) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(61) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(63) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(64) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(66) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(69) : C2118 (E) Prototype mismatch "afficher_obstacle"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(70) : C2500 (E) Illegal token ")"
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(71) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(71) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(71) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(72) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(72) : C2233 (E) Illegal array reference
C:\SAV\ALEX\SDK\essais\falldown\falldown.c(72) : C2233 (E) Illegal array reference

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.
alors que maitenant mon code est
comme ca
Cliquer pour enrouler
/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "MonochromeLib.h"


//****************************************************************************
//  AddIn_main (Sample program main function)
//
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
void montee(int*);
void afficher_obstacle(int*);

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    Bdisp_AllClr_DDVRAM();
    int score=0, x=60, y=32, i=0, perdu=0;
    int obstacles[5];
    const unsigned char trou[]={30,30,30,30,30};
    const unsigned char balle[]={60, 126, 251, 253, 253, 255, 126, 60};
    while(!perdu){
        ML_Color test_un;
        ML_Color test_deux;
        test_un=ML_pixel_test(x+3, y+8);
        test_deux=ML_pixel_test(x+5, y+8);
        if(IsKeyDown(KEY_CTRL_LEFT)&& x>0) x++;
        if(IsKeyDown(KEY_CTRL_RIGHT)&& x<120) x--;
        if(y==0) perdu=1;
        if(test_un==0 && test_deux==0)y++;
        ML_clear_vram();
        montee();
        afficher_obstacle();
        ML_bmp_8_or(balle, x, y);

        Sleep(50)
        ML_display_vram();
    }

    return 1;
}

void montee(int *tableau){
if(obstacles[0]=0){
    for(i=0;i<4;i++){
        obstacles[i]=obstacles[i+1];
        trou[i]=trou[i+1];
    }
    obstacles[4]=63;
    trou[4]=30;
}
for(i=0;i<4;i++) obstacles[i]--;
}

void afficher_obstacle(){
    for(i=0, i<4,i++) {
        ML_rectangle(0,obstacles[i],trou[1],obstacles[i], 0, ML_BLACK, ML_CHECKER);
        ML_rectangle(trou[1]+20,obstacles[i],128,obstacles[i], 0, ML_BLACK, ML_CHECKER);
    }
}



//****************************************************************************
//**************                                              ****************
//**************                 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


Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/05/2014 15:39 | #


C'est bien mais si tu appelles ton paramètre "tableau" il ne faut pas essayer de le modifier en l'appelant "obstacles".
Et il faut aussi le passer en paramètre de la fonction afficher_obstacle().
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 15:42 | #


ok modifié
PS : bah euh non je vois pas pourquoi je mettrais un pointeur dans la fonction afficher_obstacle puisqu'elle modifie rien du tout

Ajouté le 30/05/2014 à 15:46 :
et puis je vois pas pourquoi il me met illégal token : int en toute première ligne de mon main
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/05/2014 15:46 | #


Tu ne mets pas le pointeur parce que tu veux modifier les données, mais parce que tu veux y accéder.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 31/05/2014 00:15 | #


Pour comprendre comment encoder une image, il y a un tuto à la fin de la documentation de MonochromeLib.
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 31/05/2014 14:13 | #


oui je l'ai suivi et j'utilise maintenant sprite codeur 2.0 de smashmaster . Moi je voulais juste une explication concernant l'hexadécimal (pasque avec un codeur ok mais le comprendre un minimum serait encore mieux )
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 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 215 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