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 - Questions sur les transferts


Index du Forum » Questions sur les transferts » probleme apres le transfert
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

probleme apres le transfert

Posté le 13/04/2014 10:10

Bonjour je débute dans la programmation en C avec le SDK lorsque je creer le programme il fonctionne sur l émulateur mais lorsque je le passe sur ma calculette plus rien ne s'affiche et je dois reset pourtant j ai fait la manip pour rendre compatible le SDK en SH4 et ce bug n’arrive qu'avec les programme trop compliquer parce que j'avais fait un programme de dessin pour tester les fonction de monochrome lib et la il fonctionnait et je comprend pas pourquoi la il bug.
merci d'avance.


Précédente 1, 2, 3, 4, 5, 6, 7 Suivante
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 27/04/2014 12:36 | #


bizzar il me met et des Argument mismatch dans libg85

Ajouté le 27/04/2014 à 13:26 :
il y aurait pas une autre solution j ai peur de passer pour un nul mais je n'arrive pas a m'en servir il me met plein d'erreur

Ajouté le 27/04/2014 à 13:31 :
a non c'est bon j'ai du rajoutter #include "Keybios.h" et en faire un fichier .h mais c'est bon ca marche

Ajouté le 09/05/2014 à 12:47 :
slt c est moi d'abord merci pour les réponses j'ai reussi a creer mon premier jeu en C c 'est une sorte de mini mario pour l'instant il y a deux map il fait 52ko mais je peux pas le poster sur le site a chaque fois mon ordi plante.

Sinon c 'est pas pour ça que j'ai poster le message j ai cru voir que le SDK pouvait compiller du C++ et j'ai commencer a l'apprende mais je block (déjà )
class Perso
{
public:

Perso(int level);
void attaquer(Perso &cible);
void morfle(int degat);

private:

int m_vie;
int m_attaque;
int m_defense;
}

le code se trouve dans un fichier .h comme demmander dans le site du zero mais il m'ecrit:
illegal token Perso
illegal token {
illegal token }
j'ai surement fait une grosse erreur mais je la vois pas :aie2:
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 09/05/2014 12:54 | #


Il ne te manque pas un ';' après le '}' ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 09/05/2014 13:04 | #


si je l'ai pas selectionné quand j'ai copier le code dsl

Ajouté le 09/05/2014 à 14:24 :
alors pas d'idee ?
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 09/05/2014 15:52 | #


Ce qui est là est correct.
Pourrait-on avoir le code complet ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 09/05/2014 16:25 | #


le fichier .c
#include "fxlib.h"
#include "classe.cpp"
#include "classe.h"



int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;

    Bdisp_AllClr_DDVRAM();
Perso nicolas(2), ivan(1);

nicolas.attaquer(ivan);
ivan.attaquer(nicolas);

        GetKey(&key);
    }

    return 1;
}




#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

le .h
#ifndef defclass
#define desclass
class Perso
{
public:

Perso(int level);
void attaquer(Perso &cible);
void morfle(int degat);

private:

int m_vie;
int m_attaque;
int m_defense;
};
#endif

le .cpp
#include "classe.h"

void Perso::attaquer(Perso &cible)
{
cible.morfle(m-attaque);
}

void Perso::morfle(int degat)
{
m_vie-= degat;
if(m_vie<0)m_vie=0;
}

bool Perso::testvie()
{return m_vie>0;}

Perso::Perso(int level)
{
m_vie=100*level;
m_attaque=50*level:
}
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 09/05/2014 16:30 | #


Dans le .cpp:
cible.morfle(m-attaque);

Je suppose que tu voulais m_attaque.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

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


oui merci mais sa change rien
voila les erreur
C:\Users\Nico\Desktop\casio\sdk\rpg\classe.h(3) : C2500 (E) Illegal token "Perso"
C:\Users\Nico\Desktop\casio\sdk\rpg\classe.h(4) : C2500 (E) Illegal token "{"
C:\Users\Nico\Desktop\casio\sdk\rpg\classe.cpp(3) : C2142 (E) Illegal void type
C:\Users\Nico\Desktop\casio\sdk\rpg\classe.cpp(3) : C2500 (E) Illegal token ":"
C:\Users\Nico\Desktop\casio\sdk\rpg\rpg.c(12) : C2500 (E) Illegal token "nicolas"
C:\Users\Nico\Desktop\casio\sdk\rpg\rpg.c(14) : C2203 (E) Illegal member reference for "."
C:\Users\Nico\Desktop\casio\sdk\rpg\rpg.c(15) : C2203 (E) Illegal member reference for "."
C:\Users\Nico\Desktop\casio\sdk\rpg\rpg.c(20) : C2500 (E) Illegal token "return"
C:\Users\Nico\Desktop\casio\sdk\rpg\rpg.c(21) : C2500 (E) Illegal token "}"
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

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


Oui, ça ne peut pas fonctionner si tu essaie d'utiliser une classe dans un programme .c
Il faut le modifier en source C++.
Pour cela, utilise le code d'exemple (PJ du dernier post de ce topic).
Tu déplaces le contenu de ton ancien AddIn_Main dans le fonction main().
Ensuite tu supprimes le .c, tu l'enlèves des fichiers du projet et tu y ajoutes ton nouveau .cpp.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 10/05/2014 08:07 | #


ok ça marche mais il me met une erreur que je ne comprend pas
sdk\rpg\classe.h(3) : C5256 (E) Invalid redeclaration of type name "Perso" (declared at line 3)
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 10/05/2014 08:09 | #


Tes #ifnedf et #define sont différents.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 10/05/2014 08:16 | #


bien vu mais maintenant il me met
** L2300 (E) Duplicate symbol "Perso::Perso(int)" in "C:\Users\Nico\Desktop\casio\sdk\rpg\Debug\classe.obj"
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 10/05/2014 08:24 | #


Je ne pense pas que ce soit pour ça... mais un header C++, c'est un fichier .hpp. Si tu lui mets des .h, tu auras d'autres problèmes.
Je regarde pour l'autre erreur.

Ajouté le 10/05/2014 à 08:25 :
Pourquoi #include "classe.cpp" ? Ça n'a rien à faire là, si le fichier est dans le projet, il ne faut pas l'inclure.
C'est une règle d'or: on inclut uniquement les headers, jamais de sources.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 10/05/2014 08:29 | #


ça fonctionne dsl pour la règle d'or je ne l'avais jamais lu ou très vite oubliée :aie2:
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 10/05/2014 08:54 | #


Les fichiers headers sont inclus au début des sources pour indiquer, entre autres, les define et les prototypes. C'est le texte lui-même qui est copié par le préprocesseur d'un fichier à l'autre.
Les sources, elles, sont compilées en fichiers objets (souvent .o) qui sont utilisés par l'éditeur de liens (ici OptimizageLinker) pour former ton fichier exécutable (ici le G1A). C'est pour ça qu'on ne gère les sources que par la fenêtre "Files in project".
Du coup, tu avais ton fichier classe.cpp qui contenait les fonctions de Perso, et le fichier principal qui les contenait aussi, d'où l'erreur.

Au fait, dernière chose. Lorsque tu veux inclure du code C dans ton code C++, utilise
extern "C"
{
  ...
}

C'est au moins nécessaire lorsque tu veux inclure des headers C (.h) du système (stdlib, string, math, ...), sans quoi le compilateur t'insulte en te disant qu'il ne sait pas de quel fichier tu parles.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 10/05/2014 11:44 | #


oki thank you very much

Ajouté le 11/05/2014 à 09:46 :
salut j'avais 2 autres questions:
1) les variables et les tableaux sont-elles supprimer de la memoire si je quitte l'addin ?
2) peut on creer un fichier dans la calculatrice pour stocker des donner comme pour faire une sauvegarde ?
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

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


Les variables sont supprimées de la mémioire dès que tu quittes le bloc de code dans lequel elles sont définis.
Attention par contre à l'allocation dynamique.

Pour les fichiers oui. Il doit y avoir un tutoriel dessus.
M****, c'est moi qui doit l'écrire
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

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


dsl j'ai un peu de mal avec les tutos en general j'ai du mal a les comprendre parcequ'il m'aprenne des truc en plus dont je ne voit pas d'utilitee et sa m'enbroulle
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 11/05/2014 10:01 | #


Je suis embêté parce que la je ne pourrais pas tout t'expliquer, ce serait beaucoup trop long.
Tu as regardé dans la documentation de fxlib ?

http://wiki.planet-casio.com/fr/Fxlib.h#Fonctions_de_manipulation_des_fichiers
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

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


ok est normalement le fichier creer se trouve ou dans la memoire de la calto ?
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 11/05/2014 10:04 | #


Principale ou secondaire, selon la fonction que tu utilise. Tu peux aussi aller dans la carte SD.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 11/05/2014 10:12 | #


ok et encore un petit probleme
Personnage::~Personnage()
{
}
ça normalement c'est un detructeur
mais si je creer un personnage appeler nicolas et que je veux le suprimer je remplace quel Personnage du code par nicolas ?
Précédente 1, 2, 3, 4, 5, 6, 7 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 84 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