Escolar Documentos
Profissional Documentos
Cultura Documentos
Site: https://sites.google.com/site/profricodemery/mpoo
Site: http://ava.ufrpe.br/
LISTA DE EXERCÍCIOS IX
Leia atentamente as instruções gerais:
• No Eclipse renomeie o nome do projeto disponibilizado para br.edu.mpoo.listaIX.SeuNomeSobrenome.
• A lista envolve questões práticas que deverão ser entregues no AVA todos os códigos-fonte (projeto completo).
• A entrega da lista compõe sua frequência e avaliação na disciplina
Fique atento!
Mão na Massa!
O programador de codinome mustela putórius furo – “O Furão” – foi demitido de sua empresa anterior e foi contrato na Empresa
MPOO Games. Como período de experiência, O Furão participou de um hackathon promovido pela empresa para os novos
funcionários. O evento consistia em solucionar alguns problemas a partir de soluções que utilizam exclusivamente as bibliotecas
disponíveis no JDK, ou seja, em java e javax.
Sendo assim, viva a experiência do programador e mostre que você também é capaz de entrar em uma empresa de games.
Para os problemas utilize a codificação base disponibilizada que executa a aplicação:
• Problema 1: Primeiramente O Furão foi surpreendido com o velho padrão arquitetural MVC: Modificar a codificação de maneira
que atendesse a modelagem do diagrama de classe abaixo:
(Observação: caso você não solucione o Problema 1, continue com os próximos problemas sem MVC, mas realize as devidas heranças e utilize as devidas classes
aninhadas)
• Regra 1 - É possível inicializar o Jogo pressionando ENTER quando o botão estiver selecionado;
• Regra 3 - Se o policial não pegar o ladrão em 30s, então deve aparecer sobre o jogo a logo “game over”, caso contrário
“you win”:
• Regra 4 - Após 2s de exibição de ambas as mensagens, deve-se perguntar ao jogar se este “Deseja jogar novamente?”
em um JOptionPane (semelhante a Regra 2);
• Regra 5 – O policial poderá andar na diagonal;
• Regra 6 – Os personagens não poderão andar fora dos limites do JFrame na Fase 1.
• Problema 4: A solução de codificação disponibilizada utiliza JLabel para os personagens e sua atualização de posição é dada por
setLocation. Substitua essa solução de maneira que não seja utilizado o componente gráfico JLabel.
Utilize :
• BufferedImage (ao invés de JLabel)
• Os métodos paint e repaint de Window
Obs.: A solução deve evitar que a tela fique com o efeito pisca-pisca ao movimentar os personagens.
• Problema 5: Faça uso do padrão estrutural Adapter de maneira que só existam métodos que de fato sejam utilizados.
• Problema 6: Proponha mais duas fases que obedeçam as seguintes regras:
• Regra 1 – Quando o policial pegar o ladrão uma nova fase deverá aparecer, a vitória (“you win!”) só aparecer se o
policial passar todas as três fases.
Atenção: Para as próximas regras observe a existência do método abstrato moverLadrao() presente na classe Fase.
• Regra 2 – Na Fase 2, o movimento do ladrão deverá seguir uma linha reta, podendo esta ser na vertical ou na
horizontal (escolha deve ser aleatória). A velocidade do ladrão é constante. O ladrão poderá ultrapassar os limites do
JFrame. Quando este ultrapassar os limites do JFrame, deverá aparecer em um novo lugar do cenário. Por exemplo: