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 :

[Projet] Application MFC : Puissance 4


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Projet] Application MFC : Puissance 4
    Bonjour à tous, je suis actuellement en deuxième année de prépa et nous avons été amenés à réaliser un projet informatique. Mon projet consiste à réaliser un puissance 4 où 2 joueurs s'affrontent en application MFC (architecture document/vue). Cependant nous n'avons commencé la programmation que depuis cette année. Même si je sais faire quelques manipulations "basiques", j'ai de grosses lacunes en programmation et je me trouve perdu face à ce projet qui pourtant ne paraît pas si compliqué.

    J'ai quelques idées tout de même : Créer 2 classes : une pour les jetons, une pour les joueurs. Ensuite, j'avais l'idée d'initialiser un tableau 6*7 qui constituera la grille de jeu. Je pensais également à créer une fonction qui permettrait de vérifier si un joueur a gagné (en fonction de la position des jetons)... Cependant, je ne vois pas comment remplir ces fonctions, je ne vois pas comment modéliser mes jetons (rouges et jaunes) et mes joueurs, créer mon tableau à deux dimensions... Et puis relier le document et la vue dans cette application.

    Je sais que cela fait beaucoup de points et que je suis nul lol Mais c'est pour cela que je vous demande de l'aide. J'entends pas là m'indiquer la marche à suivre, des conseils... Par exemple.

    Je vous remercie !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    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 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    nous ne sommes pas là pour faire ton travail à ta place.
    Puissance 4 est un grand classique étudiant, y'a même moyen que des exemples existent déjà sur ce forum...

    Je suppose que tu connais les règles tout de même ?
    Tu as 2 joueurs, une grille de X*Y cases, chaque joueur a une couleur et met 1 pion dans la grille à la fois, chacun son tour.
    Partant de là, avec un simple tableau, 3 états possible pour chaque case, 1 méthode pour ajouter un pion et 1 pour vérifier s'il y a un gagnant, tu peut faire ton TP.
    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.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je suis d'accord avec toi, je ne souhaite pas que l'on me donne le programme, loin de là. Je connais déjà les règles oui et ce que tu m'as énoncé par la suite je comptais le faire sauf que malheureusement je ne vois pas comment. Sur internet j'ai déjà trouvé des projets similaires mais seulement en C++ et non en MFC et le problème c'est de relier vue et document... C'est pour ça que je cherchais un peu d'aide et quelques conseils pour démarrer. Loin de moi l'intention de t'offenser ou que tu me donnes le programme.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Les MFC, ça fait plus de 10 ans que c'est à l'agonie.
    Êtes-vous sûr que vous avez besoin d'une architecture Document/Vue ?
    Pour un programme simple comme un puissance 4 mono-post, sans sauvegarde ni IA, une architecture Dialog serait largement suffisant.

    Si vous avez déjà tout le code métier, dans une architecture Documen/Vue, vous le collez dans le document.
    La Vue, bin, vous faites un DDX/DDV pour afficher l'état de la grille en fonction de l'état du document.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    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 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Quand on ne sait pas par où commencer un programme quand on est étudiant, il y a une solution magique: demander à son professeur (ou responsable).

    Pour oser le faire, il faudra que puisses lui décrire ce que tu as compris. ce qui veut dire passer du temps à comprendre la situation.
    De là, si tes questions sont correctes, et que tu essayes visiblement de comprendre les questions, tu es totalement gagnant.

    D'abord parce que tu auras des réponses. C'est déjà un bon point, n'est-ce pas?

    Ensuite parce que tu te seras creusé la tête, et que ca t'aura fait assimiler le problème.

    Et surtout, et c'est là que c'est magique, ton professeur verras que tu es intéressé par le sujet, et que tu y travailles.
    Si à la fin le projet n'est pas correctement terminé, il ne pensera pas que c'est parce que tu n'as pas travaillé, mais juste que tu n'as pas réussi.


    évidemment, ca ne marche que si tes questions sont précises.
    Et pour nous, c'est pareil, on ne résoud pas les problèmes, on t'aidera en te faisant résoudre.
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Malheureusement, l'architecture document/vue (MFC) est exigée par le responsable du projet. Pour créer et initialiser ma grille j'ai commencé par ajouter dans mon fichier d'en-tête 2 constantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int const lignes = 6; int const colonnes = 7;
    puisque nous connaissons la dimension du tableau. J'ai déclaré mon tableau 2D : J'ai ensuite créé dans le document une fonction permettant d'initialiser ma grille vide dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    { int i; int j; for(i=0; i<lignes; i++) { for(j=0; j<colonnes; j++){ m_pGrille[j][i] = 0; } } }
    Je ne sais pas si c'est la bonne solution mais après c'est au niveau de la vue que ça coince :/ Enfin déjà ma première étape est de pouvoir afficher ma grille vide.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Malheureusement, l'architecture document/vue (MFC) est exigée par le responsable du projet.
    Il a demandé document/vue ou MFC ?
    c'est pas la même chose !
    On peut faire des MFC sans document/vue (mode Dialog) et on peut faire du document/vue sans MFC (en bidouillant le pattern MVC standard).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int const lignes = 6;...
    Pourquoi int ?
    Vous comptez avec des numéros de lignes négatifs ???

    Ho, le joli tableau C de l'ère glacière.
    Votre prof., c'est plutôt néandertal ou hibernatus ???
    cf. std::vector ou std::array.

    Faites une classe pour linéariser l'accès à un tableau 1D à partir d'une API 2D.

    Un tableau de int, mais bien sûr, les enum, c'est en 3ème cycles universitaire maintenant ?

    En utilisant les outils modernes comme std::vector ou std::array vous n'avez pas à les initialiser, il suffit d'un constructeur sans paramètre pour le type (enum).

    Je ne sais pas si c'est la bonne solution
    Non

    mais après c'est au niveau de la vue que ça coince
    Non, c'est dans votre tête que ça coince. On vous a déjà dit que la Vue, c'est en dernier, le code Model/Document/business doit être prêt avant. En plus il est très facilement pompable sur le net.

    Enfin déjà ma première étape est de pouvoir afficher ma grille vide.
    Non.
    Si vous avez du mal à faire de simple trais ou des cercle sur un CDC, vous pouvez toujours faire une grille avec des champs statiques qui afficheront soit des "X" soit des "O" soit des "-".

    Commencez donc par le pompage d'un code.
    Pour le comprendre, vous vous poserez les bonnes questions.

Discussions similaires

  1. [excel]en application MFC
    Par elasfer dans le forum MFC
    Réponses: 2
    Dernier message: 01/03/2006, 12h44
  2. Portage d'une application MFC sous Linux/Unix
    Par farscape dans le forum MFC
    Réponses: 29
    Dernier message: 20/02/2006, 17h47
  3. Réponses: 1
    Dernier message: 02/02/2006, 14h26
  4. Réponses: 3
    Dernier message: 08/02/2005, 11h34
  5. Application MFC contre pure Win32
    Par albertl dans le forum MFC
    Réponses: 15
    Dernier message: 01/02/2005, 20h16

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