Este projeto é um jogo de simulação e gestão de cidades, desenvolvido para a disciplina EXA 863 - MI - PROGRAMAÇÃO da Engenharia de Computação da UEFS. O objetivo é implementar um protótipo funcional do jogo "Cidade dos Robôs".
O projeto foi desenvolvido seguindo a arquitetura MVC (Model-View-Controller):
- Linguagem: Java.
- Interface Gráfica (View): Desenvolvida com JavaFX.
- Modelos (Model): Representam os robôs, prédios, cidades e partidas.
- Controladores (Controller): Gerenciam a lógica do jogo, construção, comportamento dos robôs e a persistência de dados para guardar o estado de cada cidade criada.
- Modularidade: O código é modular, funcional e preparado para futuras expansões.
O jogador assume o papel de gestor da cidade e deve garantir seu funcionamento e evolução.
- Consumo e Manutenção: Os robôs consomem energia e exigem manutenção periódica para continuar operando.
- Decisão Estratégica: O jogador utiliza recursos para construir prédios, treinar robôs ou explorar novas áreas da cidade.
- Eventos Aleatórios: Ocorrem eventos aleatórios (mínimo de 3), como apagões, greves ou descobertas de peças raras, exigindo adaptação.
- Criar uma nova cidade.
- Abrir uma cidade em andamento (persistência de dados).
- A felicidade média dos robôs deve ser calculada a cada rodada.
- Requisitos: JDK (Java Development Kit) e bibliotecas JavaFX.
- Clone o Repositório:
git clone github.com/ecomphenrick/RoboCityMVP - Configuração: Importe o projeto na sua IDE (IntelliJ, Eclipse, etc.) e configure as dependências do JavaFX.
- Execução: Compile e execute a classe principal que inicializa a aplicação JavaFX.
Os entregáveis devem compreender a implementação, a documentação e os testes:
- Código Fonte estruturado no padrão MVC.
- Todas as classes, atributos e métodos documentados utilizando o padrão Javadoc.
- Vídeo apresentando o funcionamento da aplicação.
- Relatório técnico, escrito no formato de artigo da SBC (8 a 10 páginas).
O uso de IAG seguiu os acordos iniciais da disciplina.
- Permitido: Solicitar explicações sobre conceitos teóricos (ex.: POO, MVC, CRUD e persistência), utilizar para apoio na depuração (debugging), pedindo pistas para resolver erros no código, auxiliar nas configurações de dependências Java e na documentação inicial (desde que revisada e adaptada pela pessoa autora).
- Evitado: Entregar código gerado pela IA, sem modificação ou entendimento, usar a IA para resolver a atividade de forma automática, sem demonstrar domínio do conteúdo, desenvolver o código sem compreender sua função ou sem ser capaz de explicá-lo, ou deixar de registrar no relatório (metodologia) como a IA foi utilizada.
- Desenvolvedor(a): [Henrick de Oliveira Ferreira e Kiara Luz Alencar]
- Disciplina: EXA 863 - MI - PROGRAMAÇÃO
- Universidade: UEFS - Universidade Estadual de Feira de Santana