stdecden
03-08-2007, 17:40
Salve a tutti!
Sto facendo un po'di tentativi con c++ e ho scritto le seguenti classi:
class cLevel
{
private:
bool Data[5][5]; //Mappa delle collisioni
class cPlayer //Classe Player
{
private:
int x; //Posizione x del giocatore
int y; //Posizione y del giocatore
cLevel *Level; //Istanza di cLevel, dove poter accedere ai suoi metodi
public:
cPlayer(cLevel *_Level); //Costruttore della classe che richiede un puntatore a level
void MoveRight(void); //Muove il player a destra se non ci sono collisioni, usando il metodo di cLevel per intercettare collisioni
friend class cLevel; //Consente a cLevel di accedere alle proprietá x e y per poter disegnare il livello
};
cPlayer *Player; //Istanza di cPlayer contenuta in cLevel
public:
cLevel(void); //Costruttore di clevel, dove viene inizializzato Data e Player
bool Collide(int x,int y); //Ritorna true se la posizione (x|y) sulla mappa corissponde a collisione
void UpdatePlayer(void); //Muove il player a destra
void Draw(void); //Disegna il livello e il player sullo schermo
};
Volevo chiedervi se c'é un metodo piú elegante, o piú funzionale di scrivere queste classi. E soprattutto come fare a suddividere queste classi su piú file(in caso di progetti piú grandi)
Sto facendo un po'di tentativi con c++ e ho scritto le seguenti classi:
class cLevel
{
private:
bool Data[5][5]; //Mappa delle collisioni
class cPlayer //Classe Player
{
private:
int x; //Posizione x del giocatore
int y; //Posizione y del giocatore
cLevel *Level; //Istanza di cLevel, dove poter accedere ai suoi metodi
public:
cPlayer(cLevel *_Level); //Costruttore della classe che richiede un puntatore a level
void MoveRight(void); //Muove il player a destra se non ci sono collisioni, usando il metodo di cLevel per intercettare collisioni
friend class cLevel; //Consente a cLevel di accedere alle proprietá x e y per poter disegnare il livello
};
cPlayer *Player; //Istanza di cPlayer contenuta in cLevel
public:
cLevel(void); //Costruttore di clevel, dove viene inizializzato Data e Player
bool Collide(int x,int y); //Ritorna true se la posizione (x|y) sulla mappa corissponde a collisione
void UpdatePlayer(void); //Muove il player a destra
void Draw(void); //Disegna il livello e il player sullo schermo
};
Volevo chiedervi se c'é un metodo piú elegante, o piú funzionale di scrivere queste classi. E soprattutto come fare a suddividere queste classi su piú file(in caso di progetti piú grandi)