C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[debutant] jeu morpion sur console

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
ken
Guest





PostPosted: Sat Aug 09, 2003 1:36 pm    Post subject: [debutant] jeu morpion sur console Reply with 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

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





PostPosted: Sat Aug 09, 2003 1:46 pm    Post subject: Re: [debutant] jeu morpion sur console Reply with quote



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





PostPosted: Sat Aug 09, 2003 1:54 pm    Post subject: Re: [debutant] jeu morpion sur console Reply with quote



"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





PostPosted: Sat Aug 09, 2003 2:22 pm    Post subject: Re: [debutant] jeu morpion sur console Reply with quote


"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 !!
Surprised))

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.