BOnjour,
Je suis entrain d'essayer de faire un Juez sous win avec la SDL. J'ai
quelques difficulté de logique pour la SDL. Mon probleme c'est mon
personnage qui ce déplace pas. ET j'aimerais que vous examiner le code
suivant et apporter des amilioration si besoins s.v.p
//////////////////////////////////////
//* Variable global et pointeur //
/////////////////////////////////////
int EXIT = 0; //Controle la fin du programme
int show; //Étape du jeux en cours
int mouseX, mouseY; //Variables de souris
int x;
int y;
int s;
SDL_Surface* screen;
SDL_BlitSurface(fond,NULL,screen,&fond1); // colle
l'image sur l'écran, a la position rect1, donc surtout a x pour la
coordonnée x.
SDL_Flip(screen); // affiche la prochaine fr
break;
case SDLK_RIGHT:
SDL_FreeSurface(screen);
//persox=persox - 10;
break;
case SDLK_DOWN:
SDL_FreeSurface(screen);
//persoy = persoy - 10;
break;
case SDLK_RETURN:
//show=2;
break;
default:break;
}
break;
case SDL_MOUSEMOTION:
break;
//exit
case SDL_QUIT:
EXIT=1;
break;
}
game();
}//fin boucle while
}
//##################################################################//
//## Function : Rect ##//
//##################################################################//
SDL_Rect Rect(int x,int y,int w,int h) // pour faire un rectangle
plus vite
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}
//##################################################################//
//## Function Sdl_init ##//
//##################################################################/
void init_sdl()
{
//Init a la sdl
if ( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) {
fprintf(stderr, "Impossible d'initialiser SDL: %s\n",
SDL_GetError());
exit(1);
}
//quitter proprement
atexit(SDL_Quit);
//Création de la fenetre sdl
screen = SDL_SetVideoMode(800, 600, 32,
SDL_SWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);
if ( screen == NULL ) {
fprintf(stderr, "Impossible de crée la fenetre de jeux: %s\n",
SDL_GetError());
exit(1);
}
//titre de la fenetre sdl
SDL_WM_SetCaption ("test", NULL);
}
//##################################################################//
//## Function : Loadimage ##//
//##################################################################//
SDL_Surface* LoadImage(char* fichier,int vram=1) // 3e forme
{
SDL_Surface* f = IMG_Load(fichier); // charge l'image dans f en RAM
SDL_Surface* r=NULL;
if (vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0,
0);// cree une image en VRAM
if (r==NULL) vram=0; // Si plus de place en VRAM, alors r= NULL.
if (!vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
// cree une image en VRAM
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&R); // copie l'image f de la RAM vers
firstscreen en VRAM
SDL_FreeSurface(f); // supprime la surface f : inutile
maintenant --> libere la mémoire
return r;
}
//##################################################################//
//## Function : Game ##//
//##################################################################//
void game(void) {
SDL_BlitSurface(fond,NULL,screen,&fond1); // colle l'image sur
l'écran, NULL car on affiche TOUTE l'image
SDL_BlitSurface(perso,NULL,screen,&perso1);
SDL_Flip(screen);
BOnjour, Je suis entrain d'essayer de faire un Juez sous win avec la SDL. J'ai quelques difficulté de logique pour la SDL. Mon probleme c'est mon personnage qui ce déplace pas. ET j'aimerais que vous examiner le code suivant et apporter des amilioration si besoins s.v.p
Mais avec plaisir ! Justement, le soir quand je rentre chez moi après avoir passé la journée à obéir à mon boss, je ressent le besoin de continuer de travailler servilement pour des inconnus sur internet. C'est ce qui motive, je crois, tous les lecteurs assidus de ce news-group, et c'est pourquoi nous t'invitons à poster sans retenue toute autre requête, exos d'école ou cahier des charges.
Merci !
Maintenant, place à ton beau programme :
////////////////////////////////////// //* Variable global et pointeur // /////////////////////////////////////
Ici, il manque un 'e' à "global".
int mouseX, mouseY; //Variables de souris
Ici, le commentaire, vif et précis, mériterait de rentrer davantage dans le détail pour aider les novices : par exemple, est-ce que c'est mouseX la coordonnée X, ou bien mouseY ?
/////////////////////////////////// //* Déclaration des fonction // //////////////////////////////////
Pour être portable, il faudrait un 's' à fonction.
//##################################################################// //## Bloque principal ##// //##################################################################/
Que dire ? Félicitation pour le style shello-gotique de ce commentaire.
J'ai trouvé pourquoi le sprite ne bouge pas : Il faut enlever les "//" en début de ligne !
Tommy Jean wrote:
BOnjour,
Je suis entrain d'essayer de faire un Juez sous win avec la SDL. J'ai
quelques difficulté de logique pour la SDL. Mon probleme c'est mon
personnage qui ce déplace pas. ET j'aimerais que vous examiner le code
suivant et apporter des amilioration si besoins s.v.p
Mais avec plaisir !
Justement, le soir quand je rentre chez moi après avoir passé la journée
à obéir à mon boss, je ressent le besoin de continuer de travailler
servilement pour des inconnus sur internet. C'est ce qui motive, je
crois, tous les lecteurs assidus de ce news-group, et c'est pourquoi
nous t'invitons à poster sans retenue toute autre requête, exos d'école
ou cahier des charges.
Merci !
Maintenant, place à ton beau programme :
//////////////////////////////////////
//* Variable global et pointeur //
/////////////////////////////////////
Ici, il manque un 'e' à "global".
int mouseX, mouseY; //Variables de souris
Ici, le commentaire, vif et précis, mériterait de rentrer davantage dans
le détail pour aider les novices : par exemple, est-ce que c'est mouseX
la coordonnée X, ou bien mouseY ?
///////////////////////////////////
//* Déclaration des fonction //
//////////////////////////////////
Pour être portable, il faudrait un 's' à fonction.
//##################################################################//
//## Bloque principal ##//
//##################################################################/
Que dire ?
Félicitation pour le style shello-gotique de ce commentaire.
BOnjour, Je suis entrain d'essayer de faire un Juez sous win avec la SDL. J'ai quelques difficulté de logique pour la SDL. Mon probleme c'est mon personnage qui ce déplace pas. ET j'aimerais que vous examiner le code suivant et apporter des amilioration si besoins s.v.p
Mais avec plaisir ! Justement, le soir quand je rentre chez moi après avoir passé la journée à obéir à mon boss, je ressent le besoin de continuer de travailler servilement pour des inconnus sur internet. C'est ce qui motive, je crois, tous les lecteurs assidus de ce news-group, et c'est pourquoi nous t'invitons à poster sans retenue toute autre requête, exos d'école ou cahier des charges.
Merci !
Maintenant, place à ton beau programme :
////////////////////////////////////// //* Variable global et pointeur // /////////////////////////////////////
Ici, il manque un 'e' à "global".
int mouseX, mouseY; //Variables de souris
Ici, le commentaire, vif et précis, mériterait de rentrer davantage dans le détail pour aider les novices : par exemple, est-ce que c'est mouseX la coordonnée X, ou bien mouseY ?
/////////////////////////////////// //* Déclaration des fonction // //////////////////////////////////
Pour être portable, il faudrait un 's' à fonction.
//##################################################################// //## Bloque principal ##// //##################################################################/
Que dire ? Félicitation pour le style shello-gotique de ce commentaire.
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
#include <iostream>
j'ajouterai aussi : les commentaires //
apres avoir scanné tres rapidement le code, il me semble que ces trucs la sont pas indispensables, donc c'est du quasi-C (aka Crade-C)
midtownmadnes52
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++. Les commentaire je sais les // car jai voulue faire un test et jai pas passencer de les remettre. SI non meme enlever les commentaires ne fonctionne pas. C'est ma premiere aplication sdl, Je me tente lol. Pis pour les commentaires, c'est que je suis habituer en Perl alors je met des # aulieu de //---- :P
Pis c'est tu moi ou c'est long quand on poste un message avant de le voir afficher?.
cedric <rixed@happyleptic.NOSPAM.org> wrote in message news:<422cf63f$0$16318$626a14ce@news.free.fr>...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer
corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est
compiler en c et non c++. Les commentaire je sais les // car jai
voulue faire un test et jai pas passencer de les remettre. SI non meme
enlever les commentaires ne fonctionne pas. C'est ma premiere
aplication sdl, Je me tente lol. Pis pour les commentaires, c'est que
je suis habituer en Perl alors je met des # aulieu de //---- :P
Pis c'est tu moi ou c'est long quand on poste un message avant de le
voir afficher?.
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++. Les commentaire je sais les // car jai voulue faire un test et jai pas passencer de les remettre. SI non meme enlever les commentaires ne fonctionne pas. C'est ma premiere aplication sdl, Je me tente lol. Pis pour les commentaires, c'est que je suis habituer en Perl alors je met des # aulieu de //---- :P
Pis c'est tu moi ou c'est long quand on poste un message avant de le voir afficher?.
Antoine Leca
En , Tommy Jean va escriure:
:P
Sur Usenet cela signifie que tu lui tires la langue. Si cela te fait rire essaye plutôt :-D
Pis c'est tu moi ou c'est long quand on poste un message avant de le voir afficher?.
On est pas sur un forum en direct (chat).
Tu postes un message, celui-ci est diffusé sur l'ensemble des serveurs du monde entier, simultanément. Et vice-versa, évidemment. Tes messages sont stockés sur ton serveur à toi, qui le resservira à ton client, à la prochaine fois qu'il sera rafraîchi (fréquence paramétrable, toutes les 10 minutes par exemple). Le délai est donc en principe court sur ton serveur.
Par contre, pour ceux qui viennent d'autres serveurs, il faut attendre que le message soit passé à ton serveur. Un délai d'une heure est considéré comme parfaitement anodin (voire rapide). Je vois souvent arriver des messages qui sont agés de plus d'une journée; et il faut faire avec.
Si tu me permets un conseil, tu devrais faire un petit effort et te relire rapidement avant d'envoyer un message; comme de toutes manières tu n'auras pas de réponses dans le quart d'heure, tu n'es pas à une minute près, n'est-ce-pas? Et je pense que cela va faire gagner du temps à beaucoup de tes milliers de lecteurs.
Antoine
En 522d181a.0503080649.3829534c@posting.google.com, Tommy Jean va escriure:
:P
Sur Usenet cela signifie que tu lui tires la langue.
Si cela te fait rire essaye plutôt :-D
Pis c'est tu moi ou c'est long quand on poste un message avant de le
voir afficher?.
On est pas sur un forum en direct (chat).
Tu postes un message, celui-ci est diffusé sur l'ensemble des serveurs du
monde entier, simultanément. Et vice-versa, évidemment. Tes messages sont
stockés sur ton serveur à toi, qui le resservira à ton client, à la
prochaine fois qu'il sera rafraîchi (fréquence paramétrable, toutes les 10
minutes par exemple). Le délai est donc en principe court sur ton serveur.
Par contre, pour ceux qui viennent d'autres serveurs, il faut attendre que
le message soit passé à ton serveur. Un délai d'une heure est considéré
comme parfaitement anodin (voire rapide). Je vois souvent arriver des
messages qui sont agés de plus d'une journée; et il faut faire avec.
Si tu me permets un conseil, tu devrais faire un petit effort et te relire
rapidement avant d'envoyer un message; comme de toutes manières tu n'auras
pas de réponses dans le quart d'heure, tu n'es pas à une minute près,
n'est-ce-pas? Et je pense que cela va faire gagner du temps à beaucoup de
tes milliers de lecteurs.
Sur Usenet cela signifie que tu lui tires la langue. Si cela te fait rire essaye plutôt :-D
Pis c'est tu moi ou c'est long quand on poste un message avant de le voir afficher?.
On est pas sur un forum en direct (chat).
Tu postes un message, celui-ci est diffusé sur l'ensemble des serveurs du monde entier, simultanément. Et vice-versa, évidemment. Tes messages sont stockés sur ton serveur à toi, qui le resservira à ton client, à la prochaine fois qu'il sera rafraîchi (fréquence paramétrable, toutes les 10 minutes par exemple). Le délai est donc en principe court sur ton serveur.
Par contre, pour ceux qui viennent d'autres serveurs, il faut attendre que le message soit passé à ton serveur. Un délai d'une heure est considéré comme parfaitement anodin (voire rapide). Je vois souvent arriver des messages qui sont agés de plus d'une journée; et il faut faire avec.
Si tu me permets un conseil, tu devrais faire un petit effort et te relire rapidement avant d'envoyer un message; comme de toutes manières tu n'auras pas de réponses dans le quart d'heure, tu n'es pas à une minute près, n'est-ce-pas? Et je pense que cela va faire gagner du temps à beaucoup de tes milliers de lecteurs.
Antoine
Thomas Labourdette
Tommy Jean a écrit le Mardi 08 Mars 2005 15:49 :
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
@+ -- Ilse ENBALAICOUILLES (signature aléatoire) AUTOBUS : Véhicule qui roule deux fois plus vite quand on court après que lorsqu'on est dedans.
Tommy Jean a écrit le Mardi 08 Mars 2005 15:49 :
cedric <rixed@happyleptic.NOSPAM.org> wrote in message
news:<422cf63f$0$16318$626a14ce@news.free.fr>...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer
corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est
compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
@+
--
Ilse ENBALAICOUILLES (signature aléatoire)
AUTOBUS : Véhicule qui roule deux fois plus vite quand on court après
que lorsqu'on est dedans.
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
Sans oublier aussi la valeur par défaut donnée au paramètre vram : "SDL_Surface* LoadImage(char* fichier,int vram=1) {..."
Regis
midtownmadnes52
Thomas Labourdette wrote in message news:...
Tommy Jean a écrit le Mardi 08 Mars 2005 15:49 :
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
@+
Merci c'est en c/c++ jutulsie les 2 avraie dire. Bon j'ai reglé mon probleme mais j'ai un autre probleme.
J'ai un fichier video.c --------------------------- //----------------------------------------------------------------// // SDL_Rect Rect(void) // //----------------------------------------------------------------// SDL_Rect Rect(int x,int y,int w,int h) // pour faire un rectangle plus vite { SDL_Rect r; r.x=x; r.y=y; r.w=w; r.h=h; return r; }
//----------------------------------------------------------------// // Load_Image(char img, int vram) // //----------------------------------------------------------------//
SDL_Surface* LoadImage(char* fichier,int vram=1) // 3e forme { SDL_Surface* f = IMG_Load(fichier); // charge l'image dans f en RAM SDL_Surface* r=NULL; if (vram) r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);// cree une image en VRAM if (r==NULL) vram=0; // Si plus de place en VRAM, alors r= NULL. if (!vram) r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0); // cree une image en VRAM SDL_Rect R=Rect(0,0,f->w,f->h); SDL_BlitSurface(f,NULL,r,&R); // copie l'image f de la RAM vers firstscreen en VRAM SDL_FreeSurface(f); // supprime la surface f : inutile maintenant --> libere la mémoire return r; }
Un autre fichier main.c -> Fichier non complet ----------------------
et mon probleme est lors de lapelle de LoadImage. SI je la met dans le meme fichier que video.c je n'est pas de probleme. mais si je la met dans main j'ai l'erreur "no matching function call to 'LoadImageA(const char [23]'"
Merci de votre aide
Je suis expétimenté en perl, mais en c je débute.
Thomas Labourdette <thomas.labourdette@9online.fr> wrote in message news:<rqd2g2-kud.ln1@news.labourdette.homelinux.com>...
Tommy Jean a écrit le Mardi 08 Mars 2005 15:49 :
cedric <rixed@happyleptic.NOSPAM.org> wrote in message
news:<422cf63f$0$16318$626a14ce@news.free.fr>...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer
corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est
compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
@+
Merci c'est en c/c++ jutulsie les 2 avraie dire. Bon j'ai reglé mon
probleme mais j'ai un autre probleme.
J'ai un fichier video.c
---------------------------
//----------------------------------------------------------------//
// SDL_Rect Rect(void) //
//----------------------------------------------------------------//
SDL_Rect Rect(int x,int y,int w,int h) // pour faire un rectangle
plus vite
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}
//----------------------------------------------------------------//
// Load_Image(char img, int vram) //
//----------------------------------------------------------------//
SDL_Surface* LoadImage(char* fichier,int vram=1) // 3e forme
{
SDL_Surface* f = IMG_Load(fichier); // charge l'image dans f en RAM
SDL_Surface* r=NULL;
if (vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0,
0);// cree une image en VRAM
if (r==NULL) vram=0; // Si plus de place en VRAM, alors r= NULL.
if (!vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
// cree une image en VRAM
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&R); // copie l'image f de la RAM vers
firstscreen en VRAM
SDL_FreeSurface(f); // supprime la surface f : inutile
maintenant --> libere la mémoire
return r;
}
Un autre fichier main.c -> Fichier non complet
----------------------
et mon probleme est lors de lapelle de LoadImage. SI je la met dans le
meme fichier que video.c je n'est pas de probleme. mais si je la met
dans main j'ai l'erreur "no matching function call to
'LoadImageA(const char [23]'"
cedric wrote in message news:<422cf63f$0$16318$...
Stephane Legras-Decussy wrote:
ce programme n'est pas du C... voir un groupe C++ qui va adorer corriger ce code... :-)
Qu'est ce qui vous fait croire que c'est davantage du C++ que du C ?
J'ai du passer à coté...
Je vous remerci. Mon projet est en c et non c++, mon projet est compiler en c et non c++.
Ça m'étonnerait qu'avec "#include <iostream>", ça compile en C.
@+
Merci c'est en c/c++ jutulsie les 2 avraie dire. Bon j'ai reglé mon probleme mais j'ai un autre probleme.
J'ai un fichier video.c --------------------------- //----------------------------------------------------------------// // SDL_Rect Rect(void) // //----------------------------------------------------------------// SDL_Rect Rect(int x,int y,int w,int h) // pour faire un rectangle plus vite { SDL_Rect r; r.x=x; r.y=y; r.w=w; r.h=h; return r; }
//----------------------------------------------------------------// // Load_Image(char img, int vram) // //----------------------------------------------------------------//
SDL_Surface* LoadImage(char* fichier,int vram=1) // 3e forme { SDL_Surface* f = IMG_Load(fichier); // charge l'image dans f en RAM SDL_Surface* r=NULL; if (vram) r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);// cree une image en VRAM if (r==NULL) vram=0; // Si plus de place en VRAM, alors r= NULL. if (!vram) r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0); // cree une image en VRAM SDL_Rect R=Rect(0,0,f->w,f->h); SDL_BlitSurface(f,NULL,r,&R); // copie l'image f de la RAM vers firstscreen en VRAM SDL_FreeSurface(f); // supprime la surface f : inutile maintenant --> libere la mémoire return r; }
Un autre fichier main.c -> Fichier non complet ----------------------
et mon probleme est lors de lapelle de LoadImage. SI je la met dans le meme fichier que video.c je n'est pas de probleme. mais si je la met dans main j'ai l'erreur "no matching function call to 'LoadImageA(const char [23]'"