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

Affichage des résultats du sondage: Comment trouver vous mon jeu Manga Fantaisie?

Votants
6. Vous ne pouvez pas participer à ce sondage.
  • c'est le pire projet que je n'ai jamais vu

    0 0%
  • mauvais prohet

    0 0%
  • moyen à peine

    1 16,67%
  • pas mal

    0 0%
  • bien dans l'ensemble

    3 50,00%
  • exquis

    2 33,33%
Contribuez Discussion :

[jeu 2D] Manga Fantaisie, des commentaires?impressions?


Sujet :

Contribuez

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut [jeu 2D] Manga Fantaisie, des commentaires?impressions?
    Bonjour,

    Presentation:
    Je suis en train de realiser un jeu 2D en C++ à l'aide de la lib SDL ou j'essaye d'incarner plusieurs personnage celebres des dessins animés( mario, goku, naruto ...), d'ou le nom"manga fantaisie" ou encore en abreviation: "Man-Fan" .

    Ou j'en suis arrivé?:
    Je suis deja arrivé à créer le premier niveau, à faire deplacer mon personnage, a gerer les collission, a mettre un systeme de gravité et à lui permettre de sauter( ça fait deja beaucoup, hein ).

    Des screens?
    Voila quelques screen de mon jeu:
    ecran d'accueil:
    image du jeu


    Vous voulez tester?:

    Pas de problemes , voila le lien:

    sourceforge

    Ce que je cherche:

    Des commentaires et suggestion surtout a propos de la gestion des collisions
    Des remarques a propos du graphisme
    votre opinion sur l'idée generale de mon projet
    et pourquoi pas une equipe qui m'aiderait a mener a bien mon projet?


    Conclusions
    Bon bref, j'attends vos avis sur ce projet, et surtout est ce qu'il pourra tenir

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    alors, qu'est ce que vous en pensez?

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 263
    Points : 255
    Points
    255
    Par défaut
    J'ai téléchargé les sources, mais il y a pas de MakeFile

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Si tu es sous windows, prends l'executable.
    si tu es sous linux, tu n'as qu'a recompiler toit meme , malheureusement je n'ai pas linux.
    les lib utilisé sont la SDL et la SDL_image

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    Testé sous Win XP
    *les graphismes sont attrayants ceci dit attention aux problèmes de copyright on dirait qu'ils sont repompés
    *le jeu est fluide

    Par contre
    *le saut du perso serait perfectible
    *manque plus qu'à gérer la collection d'objet et l'interaction avec des ennemis
    *pas d'aide encore

    C'est un bon début bonne continuation

  6. #6
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    Testé sous Win XP
    *les graphismes sont attrayants ceci dit attention aux problèmes de copyright on dirait qu'ils sont repompés
    *le jeu est fluide

    Par contre
    *le saut du perso serait perfectible
    *manque plus qu'à gérer la collection d'objet et l'interaction avec des ennemis
    *pas d'aide encore

    C'est un bon début bonne continuation
    Merci beaucoup pour tes remarques, sinon je ne sais vraiment pas comment perfectionner le saut.

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Ok je viens de le tester sous linux, premier problème :

    doit être :

    pour fonctionner sous linux.

    Ensuite,

    le fichier gfx/decor/nounou.PNG doit s'appeler gfx/decor/nounou.png sinon ton programme plante (il manque un test dans le constructeur Niveau pour vérifier si le chargement s'est bien déroulé).

    Enfin, j'ai un problème dans le jeu, il semblerait que tu affiches mal le niveau. Voir l'image attachée à ce post.

    Dernier point, le code compile correctement, il y a que trois warnings, donc c'est déjà un bon point :
    main.cpp:15: warning: unused parameter ‘argc’
    main.cpp:15: warning: unused parameter ‘argv’

    Niveau.cpp: In member function ‘bool Niveau::pouvoirAllerEnHaut(Personnage&)’:
    Niveau.cpp:118: warning: unused variable ‘longueur’
    Jc
    Images attachées Images attachées  

  8. #8
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Pour le bug, je crois que c'est specifique a linux, sous windows ça marche nikel.
    pour les warning, je vais corriger ça.

  9. #9
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par bachir008 Voir le message
    Pour le bug, je crois que c'est specifique a linux, sous windows ça marche nikel.
    pour les warning, je vais corriger ça.
    Ce genre d'erreur est souvent dû au fait que des variables ne sont pas correctement initialisées.

    Si j'ai un peu de temps je regarderais cela,
    Jc

  10. #10
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    ok merci, c'est gentil de ta part. J'ai deja rencontré ce genre de probleme,il suffit de changer l'ordre de declaration des variables pour que ça marche.

  11. #11
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par bachir008 Voir le message
    ok merci, c'est gentil de ta part. J'ai deja rencontré ce genre de probleme,il suffit de changer l'ordre de declaration des variables pour que ça marche.
    Ca c'est inquiétant comme remarque tout de même.

    Mais j'ai trouvé le problème.

    1) Pourquoi déclarer ton tableau comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char m_decor[HAUTEUR_PAR_CASES][LARGEUR_PAR_CASES+1];//les sprites du niveau
    Tu n'utilises pas la dernière case de chaque ligne par la suite. En fait tu fais cela à cause de '\n' qui se trouve dans le fichier de données. Est-ce que tu trouves vraiment que c'est de la bonne programmation de stocker une case de plus parce que ton fichier d'entrée a une donnée en plus par ligne ? Ne serait-ce pas mieux de virer le '\n' à chaque lecture ?

    Ensuite dans ta lecture tu faisais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    fgets(m_decor[i], LARGEUR_PAR_CASES+2, niveau);
    Ce qui est encore pire puisque tu dis au programme que ton tableau est plus grand que ce qu'il est.

    La solution plus propre serait de faire :
    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
    19
    20
    21
    22
     
    char buf[2*LARGEUR_PAR_CASES], *ptr;
    ...
     
        for(int i = 0; i < HAUTEUR_PAR_CASES; i++){
                    fgets(buf, sizeof(buf), niveau);
     
                    ptr = strchr(buf, '\n');
     
                    if(ptr == NULL) {
                        std::cerr << "Probleme avec chargement de la carte" << std::endl;
                        return EXIT_FAILURE;
                    }
     
                    *ptr = '\0';
     
                    int j = 0;
                    while((j<LARGEUR_PAR_CASES) && ( buf[j] != '\0')) {
                        m_decor[i][j] = buf[j];
                        j++;
                    }
        }
    Ensuite attention à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void jouer(SDL_Surface *ecran, bool &continuer){
    ...
                jouer(ecran, continuer);
            SDL_PollEvent(&event);
            switch(event.type){
                case SDL_QUIT://si le joueur appuie sur la croix
                    continuer = false;
                    break;
            }
    ...
    }
    - Tu fais une récursive qui pourrait un jour faire sauter la pile
    - Il faut tester le retour de SDL_PollEvent

    Jc

  12. #12
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour tes remarques, je vais corriger ça.
    Il ya une chose que je ne comprends pas, pourquoi tu declare buf comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf[2*TAILLE_PAR_CASES]
    au lieu de faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf[TAILLE_PAR_CASES+1]
    et puis j'ai edité mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
      for(int i = 0; i < HAUTEUR_PAR_CASES; i++){
                    fgets(m_decor[i], LARGEUR_PAR_CASES, niveau);//lecture d'une ligne du fichier
                    fseek(niveau, 1, SEEK_CUR);//positionner le curseur a la ligne suivante
        }
    ...
    et je ne sais pas pk ça marche pas

  13. #13
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par bachir008 Voir le message
    Merci beaucoup pour tes remarques, je vais corriger ça.
    Il ya une chose que je ne comprends pas, pourquoi tu declare buf comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf[2*TAILLE_PAR_CASES]
    au lieu de faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf[TAILLE_PAR_CASES+1]
    Car j'avais la flemme de réfléchir. Vu que fgets prends le '\n' aussi et ajoutes un '\0', il faudrait en fait faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buf[TAILLE_PAR_CASES+2]
    Pour ces raisons, j'ai préféré * 2, j'étais encore endormi ce matin...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
      for(int i = 0; i < HAUTEUR_PAR_CASES; i++){
                    fgets(m_decor[i], LARGEUR_PAR_CASES, niveau);//lecture d'une ligne du fichier
                    fseek(niveau, 1, SEEK_CUR);//positionner le curseur a la ligne suivante
        }
    ...
    Normal, tu joues avec le feu là. Vu que tu lui dis que la taille du buffer fait LARGEUR_PAR_CASES alors si ton fichier a vraiment des lignes de LARGEUR_PAR_CASES caractères (sans le '\n'), la fonction fgets va lire LARGEUR_PAR_CASES-1 caractères et mettre le '\0' à la fin.

    Du coup, il faudrait sauter 2 caractères pour revenir à la prochaine ligne... C'est pour cela que je lit plus et je me débrouille pour que fgets cherche la fin de ligne, c'est nettement plus simple...

    Jc

  14. #14
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup.

  15. #15
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    et pour ce bout de code, ça compile sous linux?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        for(int i = 0; i < HAUTEUR_PAR_CASES; i++){
                    fgets(buf, sizeof(buf), niveau);//lecture d'une ligne du fichier
                    for(int j = 0; j < LARGEUR_PAR_CASES; j++)
                        {
                            m_decor[i][j] = buf[j];
                            cout<<buf[j];
                        }
        }
    en tout cas, chez moi, ça compile nikel

    et puis quand tu mets:Il fallait plutot mettrebuf.
    et enfon ton "*ptr" ne fais rien.

  16. #16
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Chez moi aussi mais je préfére ma version

    Jc

  17. #17
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    mais dans ta version, tu n'utilise pas ton *ptr!

  18. #18
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par bachir008 Voir le message
    et puis quand tu mets:Il fallait plutot mettre

    .
    et enfon ton "*ptr" ne fais rien.
    Faux, puisque j'enlève le '\n' en mettant un '\0' à la place.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                    ptr = strchr(buf, '\n');
     
                    if(ptr == NULL) {
                        std::cerr << "Probleme avec chargement de la carte" << std::endl;
                        return EXIT_FAILURE;
                    }
     
                    *ptr = '\0';
    Jc

  19. #19
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    OK merci beaucoup pour ton aide.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 63
    Points
    63
    Par défaut
    Essayé sous WinXP, pas regardé le code encore.

    C'est un bon début.

    La dynamique du saut est perfectible, tu peux lire :
    http://www.gamedev.net/reference/art...article694.asp

    Pour faire un poil plus réaliste il faut gérer la vitesse de ton perso (lorsque le personnage monte sa vitesse décroit...)

Discussions similaires

  1. Mise en page des commentaires en vue d'une impression pdf
    Par garbit dans le forum Powerpoint
    Réponses: 1
    Dernier message: 08/04/2015, 14h12
  2. Réponses: 8
    Dernier message: 13/07/2008, 15h46
  3. impression et marque des commentaires
    Par alexsolex dans le forum Word
    Réponses: 10
    Dernier message: 08/02/2008, 18h00
  4. [NetBeans] Changer la couleur des commentaires
    Par Lorenzox dans le forum NetBeans
    Réponses: 3
    Dernier message: 15/12/2004, 08h50

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