Buscar

lab8 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNESP/FEG/DMA	
Programação	de	Computadores	II	-	Prof.	Senne	
Exercício	de	Laboratório	8.1		
ATENÇÃO:	Não	esquecer	de	incluir	os	nomes	dos	alunos	da	turma	nas	classes	Java.		
Atividade:	Classe	Corrida.		A	GUI	a	seguir	mostra	a	movimentação	de	um	animal	em	uma	corrida.	O	pato	é	capaz	apenas	 de	 andar	 e	 o	gato	 pode	 andar	 ou	 pular.	Pato	 e	Gato	 são	 subclasses	 da	 classe	
Animal.	 A	 classe	Pato	 implementa	 a	 interface	Andar	 e	 a	 classe	Gato	 implementa	 as	interfaces	Andar	e	Pular,	conforme	mostra	a	hierarquia	de	classes:		
Animal	
−	int	lin	
−	int	col	
−	int	dir	
−	int	num	+	Animal(int	l,	int	c,	int	d,	int	n)	
.	.	.	+	int	gerarAleatorio(int	a,	int	b)		
Andar	 	 Pular		 	 	+	void	andar()	 	 +	void	pular()			
Pato	 	 Gato		 	 	+	Pato()	
.	.	.	
	 +	Gato()	
.	.	.		
	
Inicialmente,	o	animal	está	no	centro	do	 tabuleiro,	 representado	 pela	 cor	vermelha.		Os	 movimentos	 dos	 animais	 são	gerados	 aleatoriamente	 e	 consistem	em	 uma	 direção	 e	 um	 número	 de	passos.	 A	 direção	 é	 um	 inteiro	 no	intervalo	 [1,	 4],	 onde	 1	 =	 Cima,	 2	 =	Baixo,	3	=	Esquerda,	4	=	Direita.	Um	movimento	 é	 representado	 por	 uma	letra	e	um	número.	Por	exemplo:	B2	significa	um	movimento	de	2	passos	para	Baixo.		O	 	 click	 no	 botão	 Reiniciar	 deve	apresentar	 a	 interface	 exatamente	como	mostra	a	figura	ao	lado.		A	 seleção	 de	 um	 botão	 de	 rádio	 deve	 reiniciar	 o	 tabuleiro	 (colocando	 o	 animal	 no	centro)	e	habilitar	os	botões	Andar	e	Pular	de	acordo	com	o	botão	selecionado.		
A	 classe	 Animal	 deve	 implementar	 os	 getters	 e	 setters	 necessários.	 O	 construtor	 da	classe	 deve	 chamar	 os	 setters	 para	 atribuir	 os	 valores	 dos	 parâmetros	 aos	 campos	da	classe,	onde:		
lin	-	número	da	linha	(um	inteiro	de	0	a	8)	correspondente	à	posição	do	animal;	
col	-	número	da	coluna	(um	inteiro	de	0	a	8)	correspondente	à	posição	do	animal;	
dir	-	direção	do	movimento	(um	inteiro	de	1	a	4);	
num	-	número	de	passos	do	movimento.		O	andar	de	um	pato	consiste	de	uma	direção	gerada	aleatoriamente	e	uniformemente,	ou	seja,	 todas	as	direções	tem	a	mesma	chance	de	ser	escolhida.	O	andar	de	um	gato	consiste	em	uma	direção	gerada	aleatoriamente,	em	que	Cima	tem	40%	de	chance,	Baixo	tem	 20%	 de	 chance,	 Esquerda	 tem	 30%	 de	 chance	 e	 Direita	 tem	 10%	 de	 chance.	 O	número	de	passos	do	andar	(de	pato	ou	de	gato)	é	sempre	igual	a	1.		O	pular	de	um	gato	consiste	de	uma	direção	gerada	aleatoriamente	e	de	um	número	de	passos	gerado	aleatoriamente	no	intervalo	[2,	4].		O	 click	 nos	 botões	 Andar	 e	 Pular	 deve	 chamar,	 respectivamente,	 os	 métodos	
animalAndar()	e	animalPular().		O	 método	 animalAndar()	 deve	 chamar	 o	 método	 andar()	 da	 classe	 correspondente	para	gerar	um	movimento,	mostrar	o	movimento	gerado	no	label	movimento	da	GUI	e	atualizar	a	posição	do	animal	no	tabuleiro.		O	método	animalPular()	deve	chamar	o	método	pular()	da	classe	Gato	para	gerar	um	movimento,	 mostrar	 o	 movimento	 gerado	 no	 label	movimento	 da	 GUI	 e	 atualizar	 a	posição	do	animal	no	tabuleiro.

Outros materiais