 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
ken Guest
|
Posted: Sat Aug 09, 2003 1:36 pm Post subject: [debutant] jeu morpion sur console |
|
|
bonjour tout l'monde !
j'ai qq petits pbs avec la programmation c++, et les .h on dirait...
je veux faire un jeu de morpion, avec affichage sur la console.
j'ai (entre autres..) ces erreurs qui apparaissent:
ligne 8 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `taille' with no type
ligne 9 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `plateau' with no type
ligne 9 D:C++MORPIONversion_consoleMorpion.cpp
variable-size type declared outside of any function
ligne 10 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `joueurCourant' with no type
je ne vois pas où se trouve le problème....si vous pouviez m'aider
svp...merci !
voici mon code :
////////////////////// MORPION.h \\\\\\\\\\\\\
#ifndef Morpion_h
#define Morpion_h
class Morpion
{
private:
int taille;
char joueurCourant;
char** plateau;
public:
Morpion();
Morpion(int);
virtual ~Morpion();
virtual void nouvellePartie() ;
virtual char getJoueurCourant();
virtual void setJoueurCourant(char j) ;
virtual void changeJoueurCourant() ;
virtual bool jouer(int l , int c);
virtual bool gagner() ;
virtual void affiche ();
virtual bool plein() ;
};
#endif
/////////////////////// MORPION.cpp (une partie du code)
\\\\\\\\\\\\\\\
#include <iostream.h>
#include "Morpion.h"
// -------------------------- CONSTRUCTEURS --------------------------
\
Morpion::Morpion() {
/*ligne 8 */ taille = 3;
/*ligne 9 */ plateau = new char[taille][taille];
/*ligne 10 */ joueurCourant='X';
/*ligne 11 */ nouvellePartie();
}
Morpion::Morpion (int t) {
taille = t;
plateau = new char[taille][taille];
joueurCourant='X';
nouvellePartie();
}
Morpion::~Morpion() {}
// -------------------------- METHODES -------------------------- \
void Morpion::nouvellePartie() {
for (int i = 0 ; i
for ( int j = 0 ; j
plateau [i][j] = ' ';
}
|
|
| Back to top |
|
 |
Serge Paccalin Guest
|
Posted: Sat Aug 09, 2003 1:46 pm Post subject: Re: [debutant] jeu morpion sur console |
|
|
Le samedi 9 août 2003 à 15:36:19, ken a écrit dans fr.comp.lang.c++ :
| Quote: | bonjour tout l'monde !
j'ai qq petits pbs avec la programmation c++, et les .h on dirait...
je veux faire un jeu de morpion, avec affichage sur la console.
j'ai (entre autres..) ces erreurs qui apparaissent:
ligne 8 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `taille' with no type
|
[coupe]
| Quote: | je ne vois pas où se trouve le problème....si vous pouviez m'aider
svp...merci !
voici mon code :
|
| Quote: | /////////////////////// MORPION.cpp (une partie du code) \\\\\\\\\\\\\\\
#include
#include "Morpion.h"
// -------------------------- CONSTRUCTEURS -------------------------- \
Morpion::Morpion() {
/*ligne 8 */ taille = 3;
/*ligne 9 */ plateau = new char[taille][taille];
/*ligne 10 */ joueurCourant='X';
/*ligne 11 */ nouvellePartie();
}
|
Ton problème, c'est l'esthétique de tes commentaires !
Non, je suis sérieux. Quand une ligne se termine par un '', le
compilateur considère qu'elle se continue sur la ligne suivante...
Autrement dit, ton programme ressemble à ça :
// --- CONST --- Morpion::Morpion() {
/*ligne 8 */ taille = 3;
/*ligne 9 */ plateau = new char[taille][taille];
/*ligne 10 */ joueurCourant='X';
/*ligne 11 */ nouvellePartie();
}
Tu attaques bille en tête avec « taille = 3; » en cachant l'en-tête de
ton constructeur. On est donc au niveau fichier, avec une initialisation
(à 3) d'une variable globale (taille) sans type...
--
___________ 2003-08-09 15:40:12
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
|
|
| Back to top |
|
 |
Christophe Lephay Guest
|
Posted: Sat Aug 09, 2003 1:54 pm Post subject: Re: [debutant] jeu morpion sur console |
|
|
"ken" <small.axe (AT) laposte (DOT) net> a écrit dans le message de
news:3f34f90c$0$27004$626a54ce (AT) news (DOT) free.fr...
| Quote: | j'ai (entre autres..) ces erreurs qui apparaissent:
ligne 8 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `taille' with no type
|
Je ne vois pas ce qui cloche. L'erreur se trouve probablement dans le code
que tu n'as pas posté...
| Quote: | ligne 9 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `plateau' with no type
// -------------------------- CONSTRUCTEURS --------------------------
\
Morpion::Morpion() {
/*ligne 8 */ taille = 3;
/*ligne 9 */ plateau = new char[taille][taille];
/*ligne 10 */ joueurCourant='X';
/*ligne 11 */ nouvellePartie();
}
Morpion::Morpion (int t) {
taille = t;
plateau = new char[taille][taille];
joueurCourant='X';
nouvellePartie();
}
|
Ce serait mieux que tu fasses un seul constructeur avec un paramètre par
défaut :
Morpion( size_t t = 3 );
Par ailleurs, tu es obligé d'allouer un tableau à deux dimensions en deux
phases :
plateau = new char*[taille];
for( int i = 0; i < taille; ++i )
plateau[ i ] = new char[ taille ] ;
| Quote: | Morpion::~Morpion() {}
|
Si tu fais des new dans le constructeur, c'est bien de faire les delete
correspondant dans le destructeur :
for( int i = 0; i < taille; ++i )
delete[] plateau[ i ];
delete[] plateau;
Chris
|
|
| Back to top |
|
 |
ken Guest
|
Posted: Sat Aug 09, 2003 2:22 pm Post subject: Re: [debutant] jeu morpion sur console |
|
|
"Christophe Lephay" <christophe-lephay (AT) wanadoo (DOT) fr> a écrit dans le message
de news:bh2udl$fk1$1 (AT) news-reader5 (DOT) wanadoo.fr...
| Quote: | "ken" <small.axe (AT) laposte (DOT) net> a écrit dans le message de
news:3f34f90c$0$27004$626a54ce (AT) news (DOT) free.fr...
j'ai (entre autres..) ces erreurs qui apparaissent:
ligne 8 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `taille' with no type
Je ne vois pas ce qui cloche. L'erreur se trouve probablement dans le code
que tu n'as pas posté...
ligne 9 D:C++MORPIONversion_consoleMorpion.cpp
ANSI C++ forbids declaration `plateau' with no type
// --------------------------
CONSTRUCTEURS --------------------------
\
Morpion::Morpion() {
/*ligne 8 */ taille = 3;
/*ligne 9 */ plateau = new char[taille][taille];
/*ligne 10 */ joueurCourant='X';
/*ligne 11 */ nouvellePartie();
}
Morpion::Morpion (int t) {
taille = t;
plateau = new char[taille][taille];
joueurCourant='X';
nouvellePartie();
}
Ce serait mieux que tu fasses un seul constructeur avec un paramètre par
défaut :
Morpion( size_t t = 3 );
Par ailleurs, tu es obligé d'allouer un tableau à deux dimensions en deux
phases :
plateau = new char*[taille];
for( int i = 0; i < taille; ++i )
plateau[ i ] = new char[ taille ] ;
Morpion::~Morpion() {}
Si tu fais des new dans le constructeur, c'est bien de faire les delete
correspondant dans le destructeur :
for( int i = 0; i < taille; ++i )
delete[] plateau[ i ];
delete[] plateau;
Chris
pour les erreurs que j'avais à la compilation, il s'agissait des |
commentaires qui étaient mal écris
et pour l'allocation du tableau, je viens de changer le code en suivant tes
conseils, et...(roulements de tambours)...tout se compile sans erreur !!
))
merci à vous 2 !!!
2 réponses rapides et très efficaces, ça me motive pour finir le tout
aujourd'hui , il me reste plus que le main.cpp à faire.
après je v tenter un morpion en mode graphique , mais c une autre histoire,
j'sais même pas quelles librairies utiliser pour faire les fenêtres, la
gestion des évenements souris...mais suis optimiste et j'v chercher ;o)
allez bon w-e à tous !
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|