Lista 005: OOP
Exercício 01: Gerador de Personagem
Seção intitulada “Exercício 01: Gerador de Personagem”Criar um programa que gere e manipule personagens de jogo usando classes.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Personagemque implemente os atributosnome,vidaeataque, além de dos métodosreceberDanoeatacar; - O método
receberDanorecebe um parâmetro do tipointque subtrai davidado objeto. Se o valor davidafor menor ou igual a zero, o método deve imprimir uma mensagem informando que o personagem foi derrotado; - O método
atacarrecebe um parâmetro do tipoPersonagemchamadoalvoe chama o métodoreceberDano, passando o ataque do personagem atacante como parâmetro. Caso a vida doalvoseja igual a zero, o método deve imprimir uma mensagem informando que oataque falhou; - No método
mainda classe principal, crie crie uma lista dePersonagemchamada deinimigose adicione pelo menos três personagens diferentes; - Crie um
Personagemchamadojogadore use o métodoatacarpassando como parâmetro aleatoriamente um dos personagens da listainimigos. O jogador não deve atacar inimigos com vida igual a 0; - Após o ataque do jogador, crie um loop que percorre a lista de
inimigose chama o métodoatacarde cada um deles passando como parâmetro ojogador; - Repita os dois últimos passos até que o
jogadorou todos osinimigostenham a vida zerada e imprima o resultado final.
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Orc / Vida: 100 / Ataque: 10Goblin / Vida: 50 / Ataque: 5Lobo / Vida: 75 / Ataque: 15Cavaleiro / Vida: 200 / Ataque: 20Dragão / Vida: 500 / Ataque: 50
Steve / Vida: 100 / Ataque: 20Saídas (outputs)
Seção intitulada “Saídas (outputs)”Orc foi derrotado!Goblin foi derrotado!Steve foi derrotado!Exercício 02: Barcos e Portos
Seção intitulada “Exercício 02: Barcos e Portos”Criar um programa que gere e manipule barcos e portos usando classes e herança.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Barcocontendo os atributosnomeetamanho; - Crie uma classe chamada
BasePortocontendo os atributosnome, um array debarcosAtracadose dois métodos método chamadosatracarBarcoedesatracarBarco; - O método
atracarBarcorecebe um objetoBarcoe adiciona o barco ao array debarcosAtracados; - O método
desatracarBarcorecebe um objetoBarcoe remove o barco do array debarcosAtracados; - Crie uma classe chamada
PortoPequenoque herda da classeBasePorto. Sobreescreva o métodoatracarBarcospara que ele permita apenas a atracagem de barcos com tamanho menor ou igual a 10; - Crie uma classe chamada
PortoGrande que herda da classeBasePorto. Sobreescreva o métodoatracarBarcos` para que ele permita apenas a atracagem de barcos com tamanho maior ou igual a 10; - No método
main:- Crie uma lista contendo 5 barcos com diferentes tamanhos e dois portos (um pequeno e um grande);
- Percorra a lista de barcos e use o método
atracarBarcopara atracar cada barco em um dos portos; - Os barcos devem tentar ser atracados primeiramente no porto pequeno e, se não puderem, devem ser atracados no porto grande.
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Barco 1: Tamanho 2Barco 2: Tamanho 5Barco 3: Tamanho 7Barco 4: Tamanho 12Barco 5: Tamanho 20Saídas (outputs)
Seção intitulada “Saídas (outputs)”Barco 1 atracado no porto pequenoBarco 2 atracado no porto pequenoBarco 3 atracado no porto pequenoBarco 4 atracado no porto grandeBarco 5 atracado no porto grandeExercício 03: Buscador de Músicas
Seção intitulada “Exercício 03: Buscador de Músicas”Crie um programa, utilizando Collections e Exceptions, que seja capaz de armazenar uma lista de músicas e permita o usuário criar playlists.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Musicacom os atributostituloeartista. - Crie uma classe chamada
Playlistcom os atributosnomeemusicas. - Crie uma classe chamada
MusicCloudcom os atributosmusicasDisponiveis.-
- Insira diferentes nomes de músicas na lista
musicasDisponiveis.
- Insira diferentes nomes de músicas na lista
-
- Crie um método para pesquisar as músicas disponíveis.
-
- Crie uma classe chamada
Mainpara testar o programa.-
- Peça ao usuário para inserir o nome da playlist.
-
- Peça ao usuário para inserir o nome da música.
-
- Se a música existir, adicione na playlist
-
- Se a música não existir, retorne uma mensagem de erro
-
- Repita os passos 2 ao 4 até que o usuário decida parar.
-
- Imprima a playlist.
-
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Digite o nome da música:Hino do Real PaulistaSaídas (outputs)
Seção intitulada “Saídas (outputs)”Você adicionou a música Hino do Real Paulista na playlist.Você adicionou a música Macarena na playlist.Você adicionou a música Evidências na playlist.A música Hino do Real Paulista não foi encontrada no sistema.
Playlist:- Hino do Real Paulista- Macarena- EvidênciasExercício 04: Compartilhar Postagem
Seção intitulada “Exercício 04: Compartilhar Postagem”Crie um programa, utilizando Interfaces, para implementar o compartilhamento em diferentes plataformas de mídia social.
Instruções
Seção intitulada “Instruções”- Crie uma interface chamada
PlataformaSocialcom os métodoscompartilharPostagem(Postagem postagem),compartilharImagem(Postagem postagem),compartilharVideo(Postagem postagem). - Crie uma classe chamada
MyBookque implementa a interfacePlataformaSocial. - Crie uma classe chamada
Fotogramque implementa a interfacePlataformaSocial. - Crie uma classe chamada
AnyTubeque implementa a interfacePlataformaSocial. - Crie uma classe chamada
Postagemque recebe umtitulo,descricaoetipo(texto, imagem, video). - O Fotogram deve gerar uma exceção no método
compartilharPostagem - O AnyTube deve gerar uma exceção no método
compartilharImagem - O MyBook não gera nenhuma exceção e deve imprimir todos os métodos;
- Crie uma classe chamada
Mainpara testar o programa.-
- Crie uma instância da classe
Postageme peça ao usuário para inserir o título, descrição e tipo da postagem.
- Crie uma instância da classe
-
- Crie uma instância da classe
MyBooke chame o métodocompartilharPostagempassando a instância da classePostagemcomo parâmetro.
- Crie uma instância da classe
-
- Crie uma instância da classe
Fotograme chame o métodocompartilharImagempassando a instância da classePostagemcomo parâmetro.
- Crie uma instância da classe
-
- Crie uma instância da classe
AnyTubee chame o métodocompartilharVideopassando a instância da classePostagemcomo parâmetro.
- Crie uma instância da classe
-
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Titulo: Minha primeira postagemDescrição: Esta é uma descrição da minha primeira postagem.Tipo: imagemSaídas (outputs)
Seção intitulada “Saídas (outputs)”Você compartilhou essa postagem no MyBook.Você compartilhou essa postagem no Fotogram.Ocorreu um erro ao compartilhar essa postagem no AnyTube.- Você pode utilizar de enumeradores para representar os tipos de postagem.
- O objetivo é garantir que nenhuma classe compartilhe postagens que incluem tipo de dados que não são suportados pela plataforma. Por isso teste todos os objetos criados no main com diferentes configurações.
Exercício 05: Ticket do Cinema
Seção intitulada “Exercício 05: Ticket do Cinema”Crie um programa, utilizando Exceções e Collections, que permita realizar a compra de tickets para assistir filmes no cinema.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Cliente,Cinema,FilmeeIngresso. - Na classe cliente, implemente um POJO contendo os atributos
nomee ‘idade’. - Na classe
Cinema, adicione uma collection (sugestão:ArrayList) comfilmesDisponiveise insira pelo menos 5 filmes. - Na classe
Cinema, adicione uma lista comingressosVendidos. - Na classe
Filme, adicione os atributosnome,preco,idadeMinima. - Na classe
Ingresso, adicione os atributoscliente,filmeeassento. - Crie uma classe
Mainpara testar o programa.-
- Crie uma instância da classe
Cinemae adicione os filmes disponíveis.
- Crie uma instância da classe
-
- Crie uma instância da classe
Ingressoe peça ao usuário para inserir o nome do cliente, o nome do filme e o assento desejado (de A1 a F5).
- Crie uma instância da classe
- 2.1. O programa deve retornar uma Exception caso o assento não esteja mais disponível ou a idade do cliente não seja compatível com a idade mínima do filme.
-
- Adicione o ingresso à lista de ingressos vendidos.
-
- Imprima uma mensagem informando que o ingresso foi vendido com sucesso.
-
- Repita os passos 2 ao 4 novamente.
-
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Que filme você deseja assistir?Homen AranhaQual assento você deseja?A1Qual o seu nome?RivelinoQual a sua idade?16Saídas (outputs)
Seção intitulada “Saídas (outputs)”O ingresso não pode ser vendido pois sua idade não permite!O ingresso não pode ser vendido pois seu assento não está mais disponível!Ingresso vendido com sucesso! Homen Aranha - A1 - Rivelino