Yes trop cool merci, le moral remonte
sa marche sa mache ![]()
Comme d´habitude j´ai un probleme :
Bon, je trouve pas, c´est surement pas de l´algo, mais une faute toute bete que j´arrive pas a trouver :
Dans mon . h, je mets une variable ( sensé etre) globaleet je l´utilise dans d´autres fonctions. Ca se presente comme ca :
------------debut du programme--------------
using namespace std; / /pour ecrire dans les fichiers
int max[2];
==> aucune erreur de compil
-----------suite du programme--------------
for(int i=1 ; i ! = max[joueur] ; i++)
==> erreur de compil ==> " max" undeclared in this function
J´ai bien essayé de mettre " extern" devant ma variable snas resultat...
Et au passage ![]()
ton fichier . h, tu l´inclue bien dans ton programme ? et surtout tu ne l´inclut que dans un seul fichier ( mais ça oui, sinon t´aurais une autre erreur).
Bon, ton erreur apparait quand tu mets extern, et je suppose que quand tu métait pas extern t´avait une autre erreur ?
en fait extern vaut dire que tu déclare la variable à un endroit, mais qu´en réalité tu vas la redéclarer plus tard ailleur.
Donc quand tu déclare des variables dans un fichier . h tu doit les déclarer extern, mais tu doit aussi les déclarer normallement au début de l´un ( et un seul) de tes fichiers . cpp
1) Oui j´inclut mon fichier . h dans mon programme
2)La meme erreur se produit que je mette extern ou pas.
3)Pour la declaration des variables externes dans un autre fichier j´ai pas compris. En fait, j´avais juste lu un rapide passage ici
:http://tastalian.free.fr/cours.php?part=C&=2
au niveau " les classes de memorisations"
Donc, je dois declarer mes variables dans le . h et les redeclarer ( sous le meme nom?) dans le . cpp
Sinon, si ca peut vous aider, j´ai mis d´autres variables globales dans . h qui ne m´affichent pas d´erreurs de compil :
---------variables globales du . h------------
int max[2];
SDL_Surface* screen; / /l´ecran principal
SDL_Rect pos[2][20]; / /contient la position du snake
SDL_Rect dir[2][20]; / /contient l´orientation du serpent
int joueur;
----------une des fonctions du . h---------------
if ( pos[joueur][0].x < 20 | pos[joueur][0].x > = 300 | pos[joueur][0].y < 20| pos[joueur][0].y > = 220)
----------->pas d´erreur de compil
return 1;
for(int i=1 ; i ! = max[joueur] ; i++)
----------->erreur de compil
tu veux dire que non seulement tu as des variables mais aussi des fonctions dans ton . h ?
euh... et tes . cpp ils te servent à quoi ?
Est-ce que tu pourrait décrire précisement la structure de ton programme : la liste de tout les fichier que tuas, qui inclue qui et qui déclare quoi ( mais pas le code lui même sinon ça sera trop long).
Encore un pti probleme, impossible d´afficher une image dans un endroit, meme avec les autres images qui s´affichaient aupparavent :
http://rafb.net/paste/results/5XHDVU17.html
A un moment, j´ai oublie de mettre flip, je l´ai ajouté mais rien.
![]()
g un probleme surles deux dernieres lignes
j´ecrit
return 0;
}
aidez moi svp comprend pas
Tu es sous Dev Cpp ? Il te dit Syntax Error ? Dans ce cas la met tout le code.
Tu le copies la http://rafb.net/paste et tu nous files le lien ![]()
je reposte mon message en debut e page :
Encore un pti probleme, impossible d´afficher une image dans un endroit, meme avec les autres images qui s´affichaient aupparavent :
http://rafb.net/paste/results/5XHDVU17.html
A un moment, j´ai oublie de mettre flip, je l´ai ajouté mais rien.
_________________________________________
lulukris, pste tout ton code si il est pas trop long, car la on peut pas comprendre ton probleme.
/ /
/ /conversion de température de degrés Celsius
/ /en degrés Fahrenheit
/ /Fahrenheit = Celsius * ( 212 - 32)/100 32
/ /
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
/ /saisie de la température en Celsius
int Celsius;
cout < < " Entrez la température en Celsius : " ;
cin > > Celsius;
/ /calcul du facteur de conversion de Celsius
/ /en Fahrenheit
int factor;
factor = 212 - 32;
/ /applique le facteur de conversion pour
/ /le passage de degrés Celsius en
/ /degrés fahrenheit
int Fahrenheit;
Fahrenheit = factor * Celsius/100 + 32;
/ /affiche les résultats ( suivis d´un saut de
/ /ligne)
cout < < " Valeur en degrés Fahrenheit : " ;
cout < < fahrenheit < < end1
return 0;
}
1er code de " le c++ pour les nuls " :p
cout < < fahrenheit < < end1
Deja c´est endl et pas 1, et sinon tu as oublié un point virgule
ca marche ^^^^^^^^^
mici ^^^^^^
mon premier programme est terminé ^^ je vais acheter du champagne ^^
Dnob :
En fait, j´ai mis dans le . h toutes les fonctions et dans le . cpp la fonction main car mon programme est de taille moyenne ( a peu pres 300/400l je crois)
Donc ==>
. cpp inclut . h
contient fonction main
. h inclut sdl, iostream etc
contient les fonctions, tout a part la fonction principale
c´est vraiment pas beau comme méthode.
Si tu veux vraiment le faire comme ça, assure toi que le #include " tonfichier.h" est bien le toute première ligne de ton fichier . cpp et surtout que tu ne déclare rien dans le . cpp autre que la fonction main, c´est à dire que toutes tesvariables doivent être déclaré au début de ton . h
dnob700 > je confirme ce que dis dnob, pas bien beau tout ça !
les variables globales dans les . h
lulukris > ça risque de te couter cher en champagne a la longue ![]()
>pas beau de declarer les variables glbales dans le . h
Pourquoi ?
Le probleme etait que dans les fonctions declarées dans le . h, certaines utilisaient des variables globales ( Oo ==> tordu ? oui) donc c´est la seule solution que j´ai trouvé...
Sinon, au debut j´avais fait un seul fichier et j´avais tout mis dedans. Puis, j´ai separé et j´ai essayé de compiler, ca a marché et le . exe marchait donc j´ai continuer ( ca sent la bidouillerie ^^)
Et je suis bloqué a cet enervent probleme de variable....
Dyno, tu peux re-heberger ton code car le code entier a été supprimé du serveur ? Car là, je vois pas trop le code...
Bonsoir ^^´.
Bon je me lance dans le C et le C++ en but de créer un MMORPG 2D une fois les connaissances recquises =P.
Je voulais savoir si en lisant à fond tout ce tuto ( http://casteyde.christian.free.fr ) sur le C et C++ je pourrais ensuite créer un MMORPG 2D du type Slayers Online ( http://www.slayersonline.info ) ?
Je ne compte bien apprendre et pas juste le dire mais je voulais savoir si sa vaut le coup de bosser ce tuto ^^´.
J´ai déja fais un début de jeu avec un éditeur du type Konfuze mais j´aime pas le style de jeu x).
Merci de me répondre =)