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 :

TIC TAC game


Sujet :

C++

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Bonjour,
    Lorsque vous parliez de variables globale , il s'agissait sans doute de :
    int count;
    string player;

    Mais ou aurai-je donc pu les mettre ?? Je dois les mentionner a chaque fonction qui les utilise ?

  2. #22
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 629
    Points : 10 554
    Points
    10 554
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Mais ou aurai-je donc pu les mettre ?? Je dois les mentionner a chaque fonction qui les utilise ?
    Parce que ton code c'est du procédural, du C en somme
    Il n'y a rien à sauver tout est harcodé, il n'y a pas d'objet et 1 conception aux fraises (<- harcoder le nom des 2 joueurs et tu passes de l'1 à l'autre)

    Il faut faire 1 objet game avec le nombre de coups joués (ta variable count) et le nom des 2 joueurs (tu fais de la gymnastique avec ta fonction cuser parce que tu n'as qu'1 seule variable player pour 2 joueurs)
    Édit : comme le dit @Bousk, dans cet objet, on peut y mettre le plateau du jeu. Après, tout dépend de la conception.

    Sinon ton code est faux ligne 39, player=gen_random();.

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    En somme , tous est a jeter . Je vais suivre tes conseils et essayer de faire du c ++. Merci pour les pistes

  4. #24
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 324
    Points : 4 134
    Points
    4 134
    Par défaut Pragmatique
    Bonjour,

    Les conseils principaux sont effectivement de concevoir et structurer l'implémentation.

    Ce qui ressort du code soumis c'est qu'il est dirigé par le plateau de jeu et non par le jeu lui même. Il en résulte ce mélange entre des contraintes de présentation et de progression du jeu. Mélange assez difficile à corriger. Il y a des outils très pratiques et efficaces pour concevoir et préparer un programme : stylo et papier

    En ce qui concerne faire de l'objet parce qu'on utilise du C++, c'est certes plus beau mais, à mon sens, secondaire à une conception bien construite. Aussi si l'usage du C au sein du C++ (issu d'un historique mais conservé volontairement) paraît plus simple (avec les pièges qui vont avec cette simplicité qui permet de travailler sans filet), il ne faut pas hésiter à l'utiliser pour une première version quitte à, plus tard, le porter en mode objet.

    Bonne progression.
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Bien recu . Merci ☺

  6. #26
    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 963
    Points
    32 963
    Billets dans le blog
    4
    Par défaut
    Faire de l'objet n'est pas propre au C++ ou à l'utilisation du mot-clé class.
    Remplace cout/cin par printf/scanf et ton code est du C, et il est tout autant mauvais.
    Utiliser des variables globales n'a aucune justification ici. Et utiliser des structures de données intelligemment et qui ont du sens est le B.A.BA d'un bon programme.
    Juste en lisant ce code, il est assez trivial et non aberrant de se créer une structure qui contienne le plateau de jeu et le nombre de coups joués.
    Structure que tu initialises ensuite où et quand nécessaire, donc dans le main et certainement pas en globale.
    Reste à écrire des fonctions pour manipuler la-dite structure. Qui relève à nouveau du trivial.
    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. #27
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    Si le seul problème qu'il te reste est le décalage des grilles, il y a un petit truc dans la STL, <iomanip> et setw() à utiliser de la façon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <iomanip>
    ....
     
    cout << setw (6)<< matrix[0][0];
     
    ...
    Dans la parenthèse tu mets le nombre de caractères que tu désire que fasse comme taille minimale chaque objet que tu affiches.

    Par contre en gros on peut dire que celui qui a rédigé ce code est un gros débutant (pire que moi faut le faire)
    Peut être qu'avant de transformer tout ça en POO, tu essaye de donner une valeur int à chaque joueur, et seulement à l'affichage tu le transforme en string, ça fera une première étape vers un code un poil plus structuré.
    Bonne continuation.

  8. #28
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Merci Bousk , merci Legro .
    Avec la bibiothèque iomanip tu as pu resoudre mon probleme de decalage de grilles .
    Par contre , je vois pas quoi faire lorsque tu me dit de donner une valeur int à chaque joueur et pourquoi le faire puisque ca fonctionne sans .

  9. #29
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    Si ça t'a aidé tant mieux.
    Si tu te contentes du fait que "ça marche" très bien.
    Ce que je voulais dire c'étais dans le cas où tu aurais voulu améliorer la qualité de ton code, pour apprendre à mieux coder.
    Comprends que cette fois ça a marché parce qu'on a réussit à contourner les problèmes, mais d'autres fois où ce sera un peu plus corsé ça n'ira peut être pas aussi facilement...
    D'un autre côté j'estime qu'il est un peu difficile de dire à un débutant de sauter directement au cœur de la POO (d'autres penseront peut être différemment sur ce point).
    En tant que toute première étape je te proposais de détacher dans ton esprit le Joueur de son Nom. C'est à dire de le concevoir comme une donnée (et plus tard peut être comme un objet) détachée de son appellation. Tu pourrais alors par exemple faire un cin>> où chacun entre son propre prénom, sans que cela n'entrave à l'avance du programme. Et à partir de là progresser encore...
    Voilà c'est tout.
    Bonne continuation.

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Merci a toi . Je comprends ce que tu veux dire , merci de tes conseils .
    Pour ce qui est de mon apprentissage , je me suis dit qu'avant de passer a la POO , il etait préférable que je maitrise un minimum des notions tels que les fonctions , les structures de données ,les tableaux , les flux , etc ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Tic tac toe- déterminer une position gagnante
    Par shirya dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 26/10/2010, 10h33
  2. algorithmes pour morpion/tic tac toe
    Par shirya dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/01/2008, 02h35
  3. Tic Tac Toe : POO
    Par dword2add dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2007, 15h13
  4. Tic tac toe
    Par Invité(e) dans le forum Prolog
    Réponses: 9
    Dernier message: 17/05/2005, 23h08

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