Petite question, tu veux faire quoi avec Qt ?
Parceque pour ton snake je ne vois pas trop l'interêt...Tu pourrais juste utiliser la SFML ca suffirait largement
Petite question, tu veux faire quoi avec Qt ?
Parceque pour ton snake je ne vois pas trop l'interêt...Tu pourrais juste utiliser la SFML ca suffirait largement
Un menu, une fenêtre pour régler les paramètres, des boutons (par exemple) (comme dans ksnake).
ah ok, une fenêre de parametrage à l'ouverture du jeu c'est ca ?
Par exemple (faut demander à RezCray).
Voici une capture d'écran de KSnake pour illustrer :
C'est vrai que ça a l'air sympa à proposer, mais quand on arrive pas à afficher le serpent, vouloir déjà y mettre un menu etc...
Avant de courrir, on marche.
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.
Je répondais à bombseb dans un cas général (pour donner un exemple de motivation à intégrer Qt).
Même si c'est déconseillé (surtout pour un débutant), on peut mettre l'environnement complet de développement dès le début juste pour vérifier que les différentes parties peuvent être intégrées ensemble ; faire la partie principale du jeu (SFML ici) et faire le menu après (Qt ici).
Il s'agit de deux parties différentes avec des difficultés différentes donc il n'est pas absurde de les traiter en parallèle (en essayant de ne pas trop se disperser).
De toute manière, étant donnée que pour Qt il suffit juste d'intégré une widget qui accueillera le rendu du jeux, il peut très bien commencé par faire toute la mécanique du jeu et l'affichage puis faire des tutos sur Qt en parallèle pour se familiariser avec la libraire . (c'est d’ailleurs ce que j'ai fait lors de mon apprentissage SFML/Qt, même si j'avais déjà un bagage SDL).
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
C'est bon enfait j'ai réussi, j'ai crée un petit menu avec deux boutons, jouer et quitter puis la fenêtre sfml s'ouvre quand on fait jouer mais le seul problème, c'est que lorsque que l'on fait jouer il se passe ceci :
Comme vous pouvez le voir à la première ligne, on ferme le menu, ensuite on crée un objet de type snake2 apellé snake, cette objet déclenche directement son " while (window.isOpen) " et donc on reste coincé dans la boucle jusqu'a que le joueur perde (ce qui déclenche window.close) ensuite à la ligne 3 de mon slot jouer (lorsque le joueur perd donc) je récupère la valeur m_score grâce à un acesseur qui était dans ma classe snake2.h j'ajoute un Qlabel à mon menu avec le score. Puis, le bouton m_boutonJouer (du menu) prend le text "rejouer" et enfin je met dans le layout du menu le widget QLabel " score " et je montre la fenêtre. Ici je souhaiterais que lorsque le joueur clique sur le bouton Jouer tout ce slot recommence, (création d'un objet snake2 etc etc) mais ça bug 1 fois sur 2, une fois ça ouvre bien et l'autre fois lorsque que l'on clique sur le m_boutonJouer la fenêtre sfml s'ouvre et se ferme instantanément donc on doit relancer l'application... Quelqu'un sait comment faire ? (sachant que je trouve ça bizarre qu'un programme, avec le même code, fonctionne 1 fois sur 2..) Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void Snake::jouer() { this->hide(); Snake2 snake; m_score = snake.getm_score(); score->setText(QString(" Votre score est égale à : %1 ! ").arg(m_score)); m_boutonJouer -> setText( " Rejouer ! "); layoutPrincipal -> addWidget(score); this->show(); }
Non, par contre je pense que déterminer l'état du jeu (gagné/perdu/tout ce que tu veux) en fonction de l'état de la fenêtre est une idée foireuse. La logique du jeu peut être affectée par des considérations techniques, mais là ça va un poil trop loin.
Edit: ok, j'avais pas tout compris au code.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager