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 ?
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 ?
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();.
En somme , tous est a jeter . Je vais suivre tes conseils et essayer de faire du c ++. Merci pour les pistes
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)
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.
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <iomanip> .... cout << setw (6)<< matrix[0][0]; ...
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.
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 .
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.
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 ...
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