0% acharam este documento útil (0 voto)
16 visualizações3 páginas

Lab 3

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações3 páginas

Lab 3

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

Universidade Estadual de Campinas

Instituto de Computação
Laboratório 3
Monopoly
MC322 - Programação Orientada a Objetos
Professora: Esther Colombini
PEDs: Cristiano Gabriel de Souza Campos / Wladimir Arturo
Garces Carrillo

1. Descrição Geral
Monopoly é um dos jogos de tabuleiro mais populares do mundo, em que propriedades como bairro,
casas, hotéis, empresas são compradas e vendidas, enquanto jogadores adiquirem diversos recursos e outros
vão à falência. No Brasil, inspirou o jogo Banco Imobiliário. Existem mais de 1.200 edições do Monopoly
licenciadas oficialmente em todo o mundo, cada uma oferecendo um toque único no jogo clássico. Essas
edições vão desde franquias e cidades populares até edições especiais comemorando aniversários ou eventos.
Ao longo dos laboratórios, vamos construir um jogo de Monopoly.
Neste Laboratório (03), vamos fixar os conceitos vistos até então e apresentar novos conceitos como:

1. Relacionamentos entre Classes: Tipos de relacionamentos (Herança, Associação, Agregação e Com-


posição) assim como Cardinalidade dos relacionamentos;
2. Operações entre classes;

2. Objetivos
Os objetivos principais do Laboratório 3 são os seguintes:

Consolidação dos conteúdos vistos nos labs anteriores;


Capacidade de refatorar um projeto;
Aplicação de diferentes relacionamentos entre classes;

Capacidade de abstração de como aplicar os conceitos de orientação objetos em face das funcionalidades
requeridas.

3. Atividades
As atividades a serem desenvolvidas para este Laboratório são as seguintes:

Atualização de todas as classes do diagrama com os métodos e atributos apresentados na Figura 1;

Implementação do conceito de Herança simples através das classes Carta, Carta Sorte, Propriedade,
Estacao, Servico Publico e Terreno;
Implementação dos métodos para relacionamento entre as classes, conforme previsto no diagrama.
Mesmo que os métodos não estejam apresentados no diagrama, você deve identificá-los e implementá-
los. Por exemplo, o método que relaciona jogador à peça na classe Jogador, o método que adiciona ao
jogador uma carta, etc.
Implementação de um método na classe Main que seja capaz de ler dados do teclado (utilizando a
classe Scanner no pacote System.in), e, de acordo com esse dados de entrada, exiba novo conteúdo na
tela (um exemplo seria a implementação de um menu textual que liste opções para visualizar o estado
atual de cada Jogador (onde ele está no tabuleiro, quais as suas cartas atuais, quanto dinheiro ele tem,
etc.)

1
Figura 1: Diagrama de Classe

4. Avaliação
Além da correta execução do laboratório, os seguintes critérios serão utilizados para a composição da
nota do laboratório:

Entrega realizada dentro do prazo estipulado;


Qualidade do código desenvolvido (tabulação, comentários);
Instanciação dos objetos, e principais métodos das classes implementadas, na classe Main;
Desenvolvimento correto dos métodos em geral.

2
5. Entrega
A entrega do Laboratório é realizada exclusivamente via Github. Para a submissão no Github,
gere um release (tag) com a identificação do laboratório no estilo <lab03-RA>. Por exemplo, para o
aluno com RA 123456, a tag será: lab03-123456.
Observação: Evite criar releases enquanto não tiver certeza que seu código está funcionando como
esperado.

Utilize os horários de laboratório e atendimentos para tirar eventuais dúvidas de submissão e também
relacionadas ao desenvolvimento do laboratório.
Prazo de Entrega: 05/05 - 23h59

Você também pode gostar