Partilhar: WhatsApp
aulify · Mini-Projecto
UC UC00608 · T. Desenv. Software
Versão · Aluno

Mini-Projecto · Simulador de RPG por texto

Domínio rico com classes, herança e polimorfismo
⏱ Duração estimada: 10 horas (≈ 6 aulas) ↗ Referencial SNQ
Índice

Contexto

Cada par/trio constrói um mini-RPG por consola com personagens, inimigos, itens e combate. O objectivo é exercitar OO num domínio rico: várias entidades, herança natural, polimorfismo claro, composição inevitável.

Requisitos

Funcionais

  1. Hierarquia de personagensPersonagem (abstracta), Guerreiro, Mago, Arqueiro.
  2. Sistema de combate — ataques diferentes por classe, dano calculado.
  3. Itens — pelo menos Arma, Pocao, com Inventario.
  4. Mapa simples — 3+ "salas" com inimigos.
  5. Persistência — salvar/carregar estado em JSON.
  6. CLI — menu interactivo com escolhas.

Não-funcionais

  1. 15+ classes distribuídas por módulos.
  2. Mínimo 10 testes pytest para classes principais.
  3. Aplicação clara dos princípios OO (encapsulamento, herança, polimorfismo).
  4. Git com pelo menos 8 commits descritivos.

Fases

Fase 1 · 1.5h

Modelação

Diagrama (mão ou drawio) + lista de classes com responsabilidades.

Fase 2 · 2h

Personagens

personagens.py + 5 testes.

Fase 3 · 2h

Itens e inventário

itens.py, inventario.py + 3 testes.

Fase 4 · 2h

Mapa e combate

mapa.py, combate.py + 2 testes.

Fase 5 · 1.5h

Persistência e CLI

main.py jogável.

Fase 6 · 1h

Polish, README, apresentação

Repositório final + demo.

Critérios de avaliação

Item Peso
Hierarquia bem desenhada 20%
Personagens com comportamentos distintos 15%
Inventário e itens 15%
Combate funcional 15%
Persistência 10%
Testes (qtd. + qualidade) 15%
Aplicação correcta de OO 5%
Git history + README 5%

Reflexão

Em meia página: que decisão de modelação foi mais difícil? Que parte do código mais ganhaste em escrever OO? Onde sentiste que OO complicou em vez de simplificar?