- 1. Resumo do projeto
- 2. Ferramentas utilizadas
- 3. Funcionalidades
- 4. Diagrama de classes
- 5. Considerações técnicas
- 6. Tarefas
- 7. Considerações finais
Atualmente, o Java é uma das linguagens de programação mais utilizadas no mundo. Apesar da diversidade de plataformas e ferramentas disponíveis, é fundamental ter uma base sólida nos conceitos fundamentais do Java e na programação orientada a objetos (OOP). O objetivo deste projeto é introdução ao mundo do Java através de um jogo simples e divertido.
- Git e Github
- Intellij
- Java
- JUnit
- Mockito
- O jogo é realizado no terminal.
- É sorteado um número aleatório entre 1 e 100 como número secreto.
- O jogador e o computador se revezam para dar um palpite e tentar adivinhar o número.
- Após cada turno, são oferecidas informações sobre o palpite feito, se é necessário tentar um número maior, ou menor,
- O jogo termina quando o número for adivinhado e é exibida uma lista de todas as tentativas do jogador vencedor.
O projeto utilizou do seguinte diagrama de classes:
Propósito: Gerencia a lógica principal, decide qual jogador assume o próximo turno.
Atributos:
random
targetNumber
Métodos estáticos (static
):
main(String[] args)
checkGuess(Player player)
Propósito: Representa um jogador genérico. É uma classe abstrata. Define os atributos e métodos que todas as classes de jogadores devem compartilhar:
Atributos:
name
guesses
Métodos:
makeGuess()
getName()
getGuesses()
Propósito: Representam os jogadores Humano e Computador, respectivamente.
Métodos:
makeGuess()
Relações:
- A classe
GuessTheNumberGame
interage com as classesHumanPlayer
eComputerPlayer
para gerenciar o jogo. - Tanto a classe
HumanPlayer
comoComputer Player
são subclasses dePlayer
, o que implica que herdam todas as suas propriedades e métodos, mas também têm algumas características adicionais próprias.
Este design de classes permite separar as responsabilidades, facilitando a manutenção e possíveis extensões do jogo no futuro.
- O jogo é realizado no terminal usando Java.
- A lógica do jogo é baseada em estruturas de controle, incluindo loops, condicionais e coleções.
- O código é dividido e organizado para melhorar sua legibilidade e manutenção.
- Utiliza-se da funcionalidade da biblioteca de utilidades do Java para a geração de números aleatórios.
- Foram realizados testes unitários utilizando JUnit e Mockito.
-
O que são classes e como construí-las?
-
O que são métodos e como utilizá-los?
-
Quais tipos de dados existem na linguagem?
-
Como criar um array usando Java?
-
O que são modificadores de acesso como?
-
O que são métodos construtores? Como fazê-los?
-
O que é encapsulamento? Como fazê-lo?
-
O que é herança? Como criá-la em Java?
-
O que é programação orientada a objetos?
A execução do projeto proporcionou a oportunidade de desenvolver muitas habilidades, técnicas e lifeskills. O conhecimento de linguagens, ferramentes e tecnologias, como também organização, planejamento, gestão de tempo, trabalho em equipe, comunicação e autoaprendizagem. Superar os desafios de um projeto trouxe satisfação e autoconfiança.
Camila Sukhada |