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

C++ Discussion :

Créer un jeu


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Créer un jeu
    Salut à tous je souhaiterais créer un jeu dans le genre de TimberMan ou FlappyBird ou encore un jeu comme Zelda:The Legend Of Zelda (1)

    Mais voila, je ne sais pas dutout comment m'y prendre j'ai tout juste terminé le cours C++ et je vien ici pour vous demander de l'aide dans la création d'un jeu de ce genre. J'utilise Qt Creator en tant que Ide (si ça vous intéresse) merci !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2011
    Messages : 147
    Points : 180
    Points
    180
    Par défaut
    Salut,

    Ta question est quand meme un peu vague. Je ne vois pas vraiment le but. Apprendre a developper, ou alors vraiment faire une creation ?

    Pour faire des jeux comme Zelda, il existe des environements fait pour ca.
    Regarde du cote de Solarus : Solarus.

  3. #3
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Alors avant de partir dans le jeu il faut déjà que tu saches ce que tu vas faire. à savoir:

    _ Quel lib graphique? 2D? 3D? Moteur de jeux?
    _ Avec du reseau?
    _ Jeux par niveau, plateforme?
    ......

    Ensuite il faudra que tu apprennes à te servir des bibliothèque avant de te lancer dans ton jeu.
    (un passage presque obligatoire est le snake ou le tetris afin de comprendre les mécanismes).

    Reviens plutot nous voir une fois que tu sauras exactement ce que tu veux faire . Bien sur tu peux nous poser tes questions sur les bibliothèque afin de savoir laquelle utilisé .
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Pour avoir une idée plus précise de la création d'un jeu vidéo, je vous propose de lire cet article : http://jeux.developpez.com/tutoriels/jeux-video/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Si tu ne sais pas par où commencer, c'est essentiellement parce que la tache est plus complexe que dans ton idée:

    Pour un zelda, le jeu se "limite" à :
    un personnage contrôlé par l'utilisateur (contrôle direct), parcoure un ensemble fixé (et fini) de cartes (grilles de cases) prédéfinies.
    Il rencontre des ennemis automatiques (IA: approcher le personnage et taper dessus), des obstacles fixes, des obstacles amovibles, des objets d'action (déclencheurs et source de butin), et des objets instantanés (potions, pieces...)

    Le personnage est doté d'un inventaire lui permettant d'utiliser des potions, des sorts et de changer d'arme.
    Chaque arme peut donner au personnage des pouvoirs spécifiques (le grappin?)

    Il y a des PNJ, qui sont soit des obstacles soit des sources de dialogues.
    Ces dialogues sont prédéfinis, eux aussi, et constituent une autre partie de l'avancée de l'histoire.

    D'un point de vue données, j'ai quasiment fait le tour, reste à le moteur du jeu:
    • lecture des données du jeu
    • constitution d'un ensemble de type d'ennemis (différentes instance de TypeEnnemi, par exemple)
    • un gestionnaire de script, pour pouvoir écrire les événements du jeu (par exemple: quand on appui sur bouton17, porte7 s'ouvre...)
    • une classe de carte, pour pouvoir gérer la carte en cours de traversée, et les autres cartes.
    • les objets
    • les coffres, qu'il s'agisse d'un tonneau, d'un coffre, d'un sac de butin, des fameuses hautes herbes (transformant Link en tondeuse)
    • le personnage en lui meme, avec la liste des pouvoirs qu'il a actuellement



    Et puis il y a toute la dynamique:
    • détection de collision entre personnages
    • entre personnage et projectiles
    • entre mur et personnages
    • et plein d'autres choses, c'est un apercu



    et ca, c'est juste pour la partie données, reste après l'interface graphique:
    • une carte 2D, un affichage par couches (layered 2D grid), le sol, les objets, les personnages, puis les effets spéciaux
    • l'interface des menus
    • l'animation
    • la création des images (ou l'utilisation d'images en faisant attention aux droits)
    • le choix des couleurs, du thème
    • le problème éventuel des résolutions d'écran/de fenêtre
    • La manipulation correcte du clavier, de la souris, ou du pad


    Et aussi les sons, la musique, etc

    Bref énormément de choses.

    Tu devrais commencer par des choses simples, beaucoup plus simples.
    Par exemple un tetris, qui ne comprend que les fonctions suivantes:
    • une pièce partiellement controlée par l'utilisateur
    • une détection de collision
    • une détection de ligne, a activer uniquement quand on change de piece controlée
    • une musique si on veut
    • des images si on ne veut pas dessiner les formes à la main
    • la gestion du clavier
    • la gestion d'étapes de déroulement (menu principal, partie en cours, game over, écran des scores)


    Pour tétris, il y a plusieurs tuto que je conseille:
    • mon préféré, parce qu'il est assez simple et concis, détaillé, mais pas forcément parfait: tetris for beginner
    • un troisième qui me semble pas mal. c'est un blog d'algorithmes, à la base
    • Et surtout, un tuto écrit par Mindiell, dans nos forums (je ne l'ai pas encore lu, mais il devrait être bon, vu l'attention que nous portons à la qualité du code



    Rappelle-toi que le bon projet d'exercice, c'est celui que tu as des chances de finir.
    Si l'interface graphique est trop pour toi, commence par des choses plus simples encore:
    une bataille navale en console, par exemple, peut déjà te prendre bien du temps, et t'enseigner beaucoup de chose.

    Ultime et important conseil, décrit sur papier ce que tu veux obtenir. Ces spécifications (car s'en est) t'éviteront de te perdre dans le code.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    sans vouloir briser tes rêves, poser une telle question indique que tu n'es pas prêt (ni près) d'y parvenir.
    Faire un jeu c'est compliqué, et si la seule lecture du tuto du SdZ suffisait ça se saurait.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Soit tu veux apprendre le C++, auquel cas faire un jeu n'est pas la meilleure chose qui soit car tu vas etre face plein de problématiques qui n'ont rien a faire avec le C++ (voir le message de l'eternel), soit tu veux faire un zelda et la tu peux regarder ici. Mais faire les 2 a la fois est la meilleure chance de se planter sur les 2.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    J'oubliais de dire, il existe des générateurs de jeu, comme RPGmaker, qui permette de créer des jeux sans coder.
    Ce n'est pas simple, mais ça te montreras un peu ce qu'il faut penser pour faire son jeu.

    Personnellement, j'ai passé plusieurs années à décrire des morceaux de jeu.
    J'ai par exemple trois codes différents pour la gestion d'objets et d'inventaire, comme on peut le voir dans Diablo (1 et 2, je ne connais pas assez le trois)
    Avec la gestion de la taille des objets, et plusieurs tentatives d'algorithmes de choix de placement selon la taille de l'objet ramassé

    J'ai aussi écrit un algorithme de génération d'objets aléatoire pour ce même diablo.
    Puis je l'ai adapté pour un jeu de rôle (papier) de ma création.
    Il faudra d'ailleurs que je le transpose en java pour pourvoir le partager à mes potes maceux et windowsien. et j'aurai au passage une interface graphique à créer. (mais ce ne sera que du bouton et du texte)

    N'hésite pas à réfléchir à comment tu coderais telle ou telle fonctionnalité des jeux auquel tu joue.
    Par exemple la gestion d'un "arbre" technologique, qui n'est pas un arbre, mais un diagramme acyclique orienté (dag en anglais). C'est le même principe pour les sorts et compétence d'un personnage
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    Daccord !! merci de vos réponses je savais bien qu'un jeu comme Zelda était ambitieux.
    Mais nimporte quel jeu 2D me suffit enfait ! Sinon, un jeu comme tetris c'est parfait, je souhaiterais juste réussir à créer une interface graphique, avec des objets, leur dimensions, les collisions, le déplacement et de la musique me suffit amplement. Même si c'est long ce n'est pas grave (je fais ça 24/24 de toute façon)
    PS : sans réseau

  10. #10
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Un tetris, c'est bien, en effet.
    Tu pourras aussi faire un pong, sachant qu'on a un cours à ce sujet, mais en opengl, je crois... cela dit, ca peut t'aider pour la structure du jeu.

    Un jeu d'échec, de dame, de petits chevaux, ou autre jeu de plateau sont autant de jeu qui pourront t'intéresser.
    Les petits chevaux, surtout, parce que tu pourras même assez facilement faire une IA.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  11. #11
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut Il n'y qu'une façon manière de faire des jeux vidéos...
    Pour faire des jeux vidéos ( Les gros jeux ), il faut ...
    • Du C++
    • Dirext X 10 ou 11
    • Pour les modélisations 3D un bon logiciel de modélisation 3D, 3DStudioMax, maya
    • Z-Brush pour la création des personnage
    • Une équipe de 500 personnes ou plus pour le développement ( Programmeurs, Infographistes, Modélisateurs 3D, Une équipe de marketing...etc.. )
    • Prévoir quelques dizaines de millions de dollars.
    If you type Google into Google, you Can break the internet" - The IT Crowd

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    Salut, merci de la réponse, mais pour l'instant j'ai que 5euros, j'ai 5 euros par semaine ce qui me fait 10 millions d'euros dans à peu près 38 356 ans. Je pense pas avoir le temps donc je vais essayer de faire un pong.

    Sinon, plus sérieusement j'ai réussi à faire un pong et un snake avec sfml. Mais le problème c'est que je ne sais pas faire de petite interface (comme avec Qt) mais seulement un serpent vert sur fond noir qui court sur commande derrière un carré rouge qui fait que de bouger x). C'est pourquoi je me repenche vers vous ! Je souhaite faire une vrai interface, avec mes propres "boutons" et autres décors mais je ne sais pas comment m'y prendre. Je souhaite un minimum de simplicité dans l'installation des bibliothèques et le fonctionnement de chacun (pas le code, juste la mise en place de ce qui va me servir pour l'écrire), quand je dis ça c'est parce que j'ai galéré 2heures avec sfml qui ne fonctionnait pas ! Si possible avec du son integré, je ne veux pas de 3D ni créer un jeu comme pokémon.
    Merci !

    EDIT : ah oui, et si possible je souhaiterais utiliser Qt Creator (mais malheuresement pas compatible avec sfml je crois).

  13. #13
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Voir ce topic : http://www.developpez.net/forums/d14...mini-gui-sdl2/

    Sinon tu as pas mal de tuto sur internet pour créer sa propre gui .

    Personnellement je te conseil d'utilisé des bibliothèque déjà tout faite comme SFGUI ou CEGUI. Recherche un peu sur internet il y a plein de tuto pour apprendre à les utilisé .

    Sinon tu peux aussi intégré une widget perso dans Qt qui te permet d'avoir un rendu SFML .

    Bon courage.
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Citation Envoyé par RezCray Voir le message
    EDIT : ah oui, et si possible je souhaiterais utiliser Qt Creator (mais malheuresement pas compatible avec sfml je crois).
    Si, je pense (et je suis presque sur) que c'est compatible et que l'on peut faire fonctionner les deux ensembles.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par RezCray Voir le message
    quand je dis ça c'est parce que j'ai galéré 2heures avec sfml qui ne fonctionnait pas ! Si possible avec du son integré, je ne veux pas de 3D ni créer un jeu comme pokémon.
    Merci !

    EDIT : ah oui, et si possible je souhaiterais utiliser Qt Creator (mais malheuresement pas compatible avec sfml je crois).
    Galéré pour installer la sfml? tu bosses sur quel OS? Perso en 5min c'était plié (windows ou unix).

    Ensuite comme je l'ai dis, tu peux intégré la sfml dans Qt c'est pas du tout un soucis (une petite recherche sur internet t'aurais fourni la solution). D'une manière générale, tu peux tout intégré avec Qt (du 3D comme du 2D). La seule partie compliqué est de créer la widget qui va te servir d'interface entre Qt et ta lib graphique. Au lieu de dessiner directement dans une fenetre, tu vas dessiner dans la widget (simple dis comme ça, mais un peu compliqué à mettre en place, d'ou les tutos sur internet).
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  16. #16
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 610
    Points
    2 610
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Si, je pense (et je suis presque sur) que c'est compatible et que l'on peut faire fonctionner les deux ensembles.
    Qt + SFML ?
    On a un exemple récent dans la section projet : Spiny Engine.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    J'ai finalement réussi à installer SFML sur Qt, qt reconnaît bien les libs mais je n'arrive pas éxecuter un simple programme comme celui ci :

    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
    23
    24
    25
    26
    27
    #include <SFML/Graphics.hpp>
    #include <QApplication>
     
    int main(int argc, char *argv[])
    {
     
        QApplication app(argc, argv);
     
        sf::RenderWindow window;
        window.create(sf::VideoMode(800, 600), " Titre ");
        while (window.isOpen())
            {
                sf::Event event;
     
                while (window.pollEvent(event))
                {
                    if (event.type == sf::Event::Closed)
                    {
                        window.close();
                    }
                }
     
     
            }
     
     
    }
    Voici mon .pro (les chemins sont les bons)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LIBS += -LC:/SFML/lib
     
    CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system
    CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-main-d -lsfml-network-d -lsfml-window-d -lsfml-system-d
     
    INCLUDEPATH += C:/SFML/include
    DEPENDPATH += C:/SFML/include
     
    QT += widgets
     
    SOURCES += \
        main.cpp
    Voici l'erreur :

    Démarrage de C:\ZProgrammation\C++\Qt\build-Snake-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\Snake.exe...
    Le programme s'est terminé subitement.
    C:\ZProgrammation\C++\Qt\build-Snake-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\Snake.exe a planté

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    Javais pas joint les dll!! tout est ok merci c'est bon

  19. #19
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Citation Envoyé par Cirrus Minor Voir le message
    Qt + SFML ?
    On a un exemple récent dans la section projet : Spiny Engine.
    Exactement ce à quoi je pensais

    @RezCray : Super
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 0
    Points
    0
    Par défaut
    J'ai voulu refaire le snake sous Qt mais de façon bien organisé avec sfml !! et j'ai un gros problème quand je crée mon jeu, voici le code :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    m_NB_DEPART = 3; // Nombre de cube pour snake au debut
        m_COTE_SNAKE = 16;
     
        sf::RenderWindow window;
        window.create(sf::VideoMode(500, 300), " SNAKE ");
        window.setVerticalSyncEnabled(true);
     
     
        snakeDepart();
        pomme();
     
     
        while (window.isOpen())
                {
     
                    while (window.pollEvent(m_event))
                         {
                        switch(m_event.type)
                                    {
                                    case sf::Event::Closed:
                                        window.close();
                                        break;
                                    case sf::Event::KeyPressed:
                                        switch(m_event.key.code)
                                        {
                                            case sf::Keyboard::Left:
                                                if (snake_dir != R)
                                                snake_dir = L;
                                                break;
                                            case sf::Keyboard::Right:
                                                if (snake_dir != L)
                                                snake_dir = R;
                                                break;
                                            case sf::Keyboard::Up:
                                                if (snake_dir != D)
                                                snake_dir = U;
                                                break;
                                            case sf::Keyboard::Down:
                                                if (snake_dir != U)
                                                snake_dir = D;
                                                break;
     
                                        }
                                        break;
     
                                    }
                          }
     
     
                    if(timer.getElapsedTime().asMilliseconds() > 1000)
                        gestionMouvement();
     
                    // je voulais mettre gestion clavier ici
     
     
     
                    for (unsigned int i = 0; i < m_snake.size(); i++)
                    window.draw(m_snake[i]);
                    window.draw(m_pomme);
     
     
     
     
                    window.display();
                    window.clear();
     
                 }
    }
     
    void Snake2::snakeDepart()
    {
        for(unsigned int i = 0; i < m_NB_DEPART; i++)
            {
                sf::RectangleShape x;
                x.setSize(sf::Vector2f(m_COTE_SNAKE, m_COTE_SNAKE));
                x.setFillColor(sf::Color(0, 236, 8));
                x.setPosition(i*m_COTE_SNAKE,0);
                m_snake.push_back(x);
            }
    }
     
    void Snake2::pomme()
    {
        m_pomme.setRadius(8);
        m_pomme.setFillColor(sf::Color::Red);
        m_pomme.setPosition(200, 200);
    }
     
    void Snake2::gestionClavier()
    {
     
        if (m_event.type == sf::Event::KeyPressed)
            switch (m_event.key.code) {
            case sf::Keyboard::Left :
                if (snake_dir != R) // On vérifie que le joueur n'ai pas une direction inverse
                    snake_dir = L;
                break;
            case sf::Keyboard::Right :
                if (snake_dir != L)
                    snake_dir = R;
                break;
            case sf::Keyboard::Up :
                if (snake_dir != D)
                    snake_dir = U;
                break;
            case sf::Keyboard::Down :
                if (snake_dir != U)
                    snake_dir = D;
                break;
            default:
                break;
                                               }
    }
     
    void Snake2::gestionMouvement()
    {
        switch (snake_dir) {
        case U : {  //Vers le haut
            for (int i = m_snake.size() ; i > 0; i-- )
                m_snake[i].setPosition(m_snake[i-1].getPosition().x, m_snake[i-1].getPosition().y);    // On place chaque partie à la position de la partie d'avant
            m_snake[0].move(0, -m_COTE_SNAKE);                                                          //  Puis on place la tête
                       }
        case D : {  //Vers le bas
            for (int i = m_snake.size() ; i > 0; i--)
                m_snake[i].setPosition(m_snake[i-1].getPosition().x, m_snake[i-1].getPosition().y);
                        m_snake[0].move(0, m_COTE_SNAKE);
                      }
        case L : {  //Vers la gauche
            for (int i = m_snake.size(); i > 0; i--)
                m_snake[i].setPosition(m_snake[i-1].getPosition().x, m_snake[i-1].getPosition().y);
                        m_snake[0].move(-m_COTE_SNAKE, 0 );
                       }
        case R : {  //Vers la droite
            for (int i = m_snake.size(); i > 0; i--)
                m_snake[i].setPosition(m_snake[i-1].getPosition().x, m_snake[i-1].getPosition().y);
                        m_snake[0].move(m_COTE_SNAKE, 0 );
                                    }
                                    }
     
        timer.restart();
    }
    mon snake fait les déplacements prévu (il réagit aux touches je veux dire) mais il se perd dès le début (je crois avoir mal géré les positions de chaque cube derrière)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Créer un jeu.. Python est le bon ?
    Par Miksimus dans le forum Programmation multimédia/Jeux
    Réponses: 11
    Dernier message: 06/02/2009, 23h31
  2. Créer un jeu C avec SDL (hexagones)
    Par gaby_1 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 21/03/2007, 17h39
  3. Créer un jeu 2d Visual Basic .net (1.1)
    Par SnkVrt dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 20/03/2007, 10h16
  4. aide pour créer un jeu
    Par cstefany dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/10/2005, 04h51
  5. Créer un jeu avec plusieurs langages
    Par spidouille dans le forum Pascal
    Réponses: 6
    Dernier message: 04/10/2005, 15h07

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