CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C/SDL] Problème Jeu

rikku2004
rikku2004
Niveau 10
20 mai 2011 à 12:30:45

Bonjour,
Je souhaite réaliser donkey-kong (la version arcade) en langage C et avec la bibliothèque SDL.
Je suis débutant et mon niveau n'est donc pas très bon ...
Je bloque sur un point :
ligne 51 : j'appelle la fonction animation_Mario
ligne 164 : fonction animation_Mario
Le but de la fonction animation_Mario est simplement de donner à Mario_renvoye la valeur image_mario[droite2] (tableau de SDL_Surface contenant les sprites de mon personnages )...
MarioActuel (qui a pour but de dire l'image à blitter) dans la fonction jouer(...) devrait donc prendre la valeur image_mario[droite2] or ce n'est pas le cas mon programme bug comme si il n'avait pas pu modifier la variable MarioActuel.

Je souhaiterai une petite aide pour trouver la source de mon erreur :)

J'espère avoir été le plus clair possible ,
Merci Beaucoup,

PS : Voici mon code
jeux.c : http://fr.sourcepod.com/zzumus32-4882
jeux.h : http://fr.sourcepod.com/cgshca57-4883
main.c : http://fr.sourcepod.com/vrihvd10-4884

Nawako
Nawako
Niveau 8
21 mai 2011 à 16:01:07

Il me semble qu'en C la fonction doit être placée avant le moment ou tu l'appelle dans le code pour être utilisée.

Je suis pas sur mais essaie quand meme..

Gunnyr
Gunnyr
Niveau 10
21 mai 2011 à 16:11:54

Alors, déjà je n'y connais rien en SDL, mais je vais te donner mon avis.
D'après un coup d'oeil rapide, ta fonction "animation_Mario" renvoie un SDL_Surface (dans le .h). Or tu l'utilise comme si elle était déclarée en tant que void. Apparemment tu n'utilises que des pointeurs dans cette fonction, donc la déclaration en "SDL_Surface" me parait superflue. Après je ne sais pas comment fonctionne la librairie, mais essaie de passer ta fonction en void du coup.

Gunnyr
Gunnyr
Niveau 10
21 mai 2011 à 16:15:56

Ah aussi, dans un cas comme ça, pour mieux cibler l'erreur, comme ta fonction est très courte, essaie de la remplacer dans le code. Au lieu d'appeler la fonction, tu copie colle les deux lignes de la fonction (et tu garde en commentaire l'appel, et la déclaration de la fonction à la fin). comme ça tu sauras si c'est dans l'appel de la fonction que ça buggue, ou bien dans les commandes elles même!

godrik
godrik
Niveau 30
21 mai 2011 à 16:41:46

De memoire avec la sdl on ne manipule pas directement de sdl_surface, on passe toujours par un pointeur sur la structure

Pocolo
Pocolo
Niveau 10
21 mai 2011 à 17:12:53

" Il me semble qu'en C la fonction doit être placée avant le moment ou tu l'appelle dans le code pour être utilisée. "

Il les a déclarées dans le header donc c'est bon.

Autrement j'ai juste regardé le code vite fait et j'ai failli répondre hier mais en fait je suis trop confus.

Ce qui me dérange c'est que tu nous demandes de trouver l'erreur dans un truc qui a la base semble déjà faux. Enfin en tout cas tu m'a l'air de t’être sérieusement compliqué la vie et ton code a l'air un peu étrange.

tbop2
tbop2
Niveau 10
21 mai 2011 à 22:07:06

Ca ressemble a l'architecture du sdz qui met quasiment toutes les trois etapes principales de la boucle d'un jeu (event, update and draw) en hardcode dans le main. Donc en quelque sorte "c'est pas sa faute".

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment