Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ana Fontoura

Construtores

Recommended Posts

Estou criando um jogo de padel(igual ao pong, mas com apenas 1 jogador) em C++, porém estou com uma dúvida em relação a usar UM construtor para inicializar a bola e o jogador ou utilizar DOIS construtores (como está no código)...

Se eu utilizar um construtor apenas, eu vou ter que enviar as posições iniciais como parametro e ainda enviar mais algum parametro para identificar se o objeto é a bola ou o jogador.

Qual é mais correto? utilizar um construtor e colocar testes para identificar qual objeto está sendo inicializado através de testes ou utilizar 2 construtores e não se preucupar com isso?

 

class Padel
{
	private:
		int posini_x, posini_y, pos_x, pos_y, sentido, sentidoini, y;
		char ch1, ch2;
		Placar p;
	public:
		Padel();	/* inicializa a bola */
		Padel(int n);	/* inicializa o jogador */
		void inicializa();	/* reinicializa a bola */
		void movimentobola();
		void rebater();
		void movejogador(int dir);
};

Padel::Padel()		/* construtor da bola */
{
	sentidoini=3;
	sentido=sentidoini;		/* sentido do movimento da bola: 1=noroeste, 2=nordeste, 3=sudoeste, 4=sudeste */
	posini_x=79;	/* coordenadas da bola no inicio do jogo */
	posini_y=11;
	pos_x=posini_x;		
	pos_y=posini_y;
	gotoxy(posini_x, posini_y);
	cout << char(254);
}

Padel::Padel(int n)		/* construtor do jogador */
{
	pos_x=3;	/* coloca o jogador na posicao inicial */
	pos_y=9;
	for(y=pos_y; y<=pos_y+4; y++)
	{
		gotoxy(pos_x, y);
		cout << char(219);
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o correto seria ter uma outra classe para o jogador (e talvez uma terceira para a bola) e depois comunicar as classes entre si (por exemplo, colocando um membro Jogador na classe de jogo).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o correto seria ter uma outra classe para o jogador (e talvez uma terceira para a bola) e depois comunicar as classes entre si (por exemplo, colocando um membro Jogador na classe de jogo).

 

me esqueci de avisar, meu professor quer que o jogador e a bola estejam na mesma classe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então tu pode ter informações tanto da bola quanto do jogador na classe principal, separando através do nome das variáveis ou, de preferência, utilizando estruturas para conter os dados de cada um, as informações da bola e do jogador, e:

1. inicializar tudo de maneira padrão em um único construtor;

2. criar uma função para inicializar a bola e outra para inicializar o jogador, assim se tu fizer alguns ajustes no código tu pode, por exemplo, criar vários jogadores ou bolas.

 

Essas são as minhas ideias, vê o que fica melhor pra você aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.