IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Problème sur marioSokoban (C code::block, SDL)


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Par défaut Problème sur marioSokoban (C code::block, SDL)
    Bonjour à tous, je suis en train de programmer un mario sokoban mais ça fait un petit moment
    que je bloque sur un petit probleme :

    Voila, j'ai mon jeu qui débute avec un écran pour choisir entre : NOUVELLE PARTIE, EDITEUR DE NIVEAUX, QUITTER.


    jusque la ça va.

    Mon probleme se situe lorsque je rentre dans l'éditeur de niveau, que je charge ma map (en appuyant sur 'c') :



    que je ressort de l'éditeur, et
    que je lance une nouvelle partie. Là j'obtiens ça



    Bizarre ...

    Mon programme est tout petit, pas compliqué, mais pourtant je ne trouve pas l'erreur qui cause cela.
    C'est depuis que j'ai modifier la taille de la map pour pouvoir mettre des informations en bas et a droite de celle ci que j'ai ce soucis.
    Pourtant j'ai bien changer dans tout mon code la variable qui contenait la taille de la map.

    Voila si quelqu'un avait un peu de temps pour regarder tout ça se serait super
    Je vous mets un lien vers un fichier zip (Mario Sokoban)qui contient toutes les sources, les images et le projet code::block : http://www.vvcreation.com/download

    Et encore merci @ developpez.com qui fait un super travail Merci ...

  2. #2
    Membre confirmé Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Par défaut
    Je n'ai pas finis de regarder, mais cela m'a sauté aux yeux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     #define TAILLE_BLOC         34 // Taille d'un bloc (carrÈ) en pixels
            #define NB_BLOCS_LARGEUR    14
            #define NB_BLOCS_HAUTEUR    14
            #define NB_BLOCS_LARGEUR_JEU    12
            #define NB_BLOCS_HAUTEUR_JEU    12
            #define LARGEUR_FENETRE     TAILLE_BLOC * NB_BLOCS_LARGEUR
            #define HAUTEUR_FENETRE     TAILLE_BLOC * NB_BLOCS_HAUTEUR
            #define LARGEUR_FENETRE_JEU     TAILLE_BLOC * NB_BLOCS_LARGEUR_JEU
            #define HAUTEUR_FENETRE_JEU     TAILLE_BLOC * NB_BLOCS_HAUTEUR_JEU
    C'est pas bien grave, mais je pense qu'il serait plus judicieux de faire des const int...

    Ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /*
    gagne.h
    ------------
     
    Par NaZooM
     
    RÙle : prototypes des fonctions pour l'Ècran gagnÈ
    */
     
    #include <SDL/SDL.h>
     
    int gagne (SDL_Surface* ecran);
    Beurk... Et les inclusions multiples ? Fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    /*
    gagne.h
    ------------
     
    Par NaZooM
     
    RÙle : prototypes des fonctions pour l'Ècran gagnÈ
    */
     
    #include <SDL/SDL.h>
    #ifndef DEF_GAGNE
    #define DEF_GAGNE
     
    int gagne (SDL_Surface* ecran);
     
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // On Èfface l'Ècran
                    SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0,0,0));
    Histoire de pinailler, ça ne l'efface pas, ça remplit la fenetre de noir

    Sinon pour ton probleme, je pense que c'est un probleme d'interpretation des chiffres par la fonction qui lit ou enregistre les nombres.

  3. #3
    Membre éprouvé
    Lycéen
    Inscrit en
    Juillet 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2007
    Messages : 148
    Par défaut
    Citation Envoyé par ironzorg Voir le message
    C'est pas bien grave, mais je pense qu'il serait plus judicieux de faire des const int...
    Pourquoi?

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Par défaut
    C'est pas bien grave, mais je pense qu'il serait plus judicieux de faire des const int...
    Heu pareil que bogoss91 : pourquoi ? je comprend pas ce que tu veux dire dsl

  5. #5
    Membre confirmé Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Par défaut
    C'est pas bien grave, mais je pense qu'il serait plus judicieux de faire des const int...
    Heu pareil que bogoss91 : pourquoi ? je comprend pas ce que tu veux dire dsl
    Hier 17h41
    bogoss91
    Citation:
    Envoyé par ironzorg
    C'est pas bien grave, mais je pense qu'il serait plus judicieux de faire des const int...
    Pourquoi?
    En fait le préprocesseur, lors de la compilation, se contente de remplacer les macros définies avec #define, tandis qu'avec const, les variables restent des variables ( vous comprenez ? ). Il y a aussi des doubles appels qui se font si vous faite une définition de fonction avec define ( je n'ai pas d'exemple en tete )...

  6. #6
    Membre éprouvé
    Lycéen
    Inscrit en
    Juillet 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2007
    Messages : 148
    Par défaut
    Citation Envoyé par ironzorg Voir le message
    En fait le préprocesseur, lors de la compilation, se contente de remplacer les macros définies avec #define, tandis qu'avec const, les variables restent des variables ( vous comprenez ? ). Il y a aussi des doubles appels qui se font si vous faite une définition de fonction avec define ( je n'ai pas d'exemple en tete )...
    Jvois pas bien la différence

Discussions similaires

  1. Problème avec glew et code::blocks
    Par f56bre dans le forum OpenGL
    Réponses: 14
    Dernier message: 26/10/2017, 11h46
  2. Problème de librairie avec code blocks sous Linux
    Par philmor34 dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 31/10/2008, 13h25
  3. Problème execution avec IDE codes::blocks
    Par tom31 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 28/10/2008, 21h54
  4. Réponses: 4
    Dernier message: 01/06/2008, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo