Spec Sistemas Com Java • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 19.1 — Modelagem do Tabuleiro (Board), Posição e Peças Abstratas

Contexto: Modelagem do Tabuleiro (Board), Posição e Peças Abstratas no contexto de Projeto Integrador I: Sistema Completo de Xadrez em Modo Console.

Requisitos de Execução:

  1. Criar classes Tabuleiro(8, 8), Posicao(linha, coluna) e classe abstrata Peca.

Resultado Esperado

Tabuleiro 8x8 instanciado com matriz de peças.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_1_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Projeto Integrador I: Sistema Completo de Xadrez em Modo Console
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas.xadrez;

public class Tabuleiro {
    private int linhas = 8, colunas = 8;
    public boolean posicaoValida(int l, int c) { return l >= 0 && l < 8 && c >= 0 && c < 8; }
}

🔍 Nível 2: Prática

Problema 19.2 — Movimentação Polimórfica das Peças (Rei, Torre, Bispo, Cavalo, Dama e Peão)

Contexto: Movimentação Polimórfica das Peças (Rei, Torre, Bispo, Cavalo, Dama e Peão) no contexto de Projeto Integrador I: Sistema Completo de Xadrez em Modo Console.

Requisitos de Execução:

  1. Implementar método abstrato boolean[][] movimentosPossiveis() na classe Torre e Rei.

Resultado Esperado

Matriz booleana de movimentos válidos calculada conforme regras da peça.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_2_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Projeto Integrador I: Sistema Completo de Xadrez em Modo Console
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas.xadrez;

public class Rei {
    public boolean podeMover(int dl, int dc) {
        return Math.abs(dl) <= 1 && Math.abs(dc) <= 1;
    }
}

⚡ Nível 3: Integração

Problema 19.3 — Lógica da Partida: Turnos, Xeque, Xeque-Mate e Promoção

Contexto: Lógica da Partida: Turnos, Xeque, Xeque-Mate e Promoção no contexto de Projeto Integrador I: Sistema Completo de Xadrez em Modo Console.

Requisitos de Execução:

  1. Controlar alternância de turnos (Brancas/Pretas) e detectar condição de xeque ao rei.

Resultado Esperado

Motor de regras de xadrez validando xeque e alternância de jogadores.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_3_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Projeto Integrador I: Sistema Completo de Xadrez em Modo Console
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas.xadrez;

public class PartidaXadrez {
    private int turno = 1;
    private String jogadorAtual = "BRANCAS";
    public void proximoTurno() {
        turno++;
        jogadorAtual = jogadorAtual.equals("BRANCAS") ? "PRETAS" : "BRANCAS";
    }
}

🏆 Nível 4: Desafio Corporativo

Problema 19.4 — Interface ANSI em Modo Console com Cores e Histórico de Jogadas

Contexto: Interface ANSI em Modo Console com Cores e Histórico de Jogadas no contexto de Projeto Integrador I: Sistema Completo de Xadrez em Modo Console.

Requisitos de Execução:

  1. Renderizar tabuleiro no terminal utilizando códigos de escape ANSI para colorir casas e peças.

Resultado Esperado

Tabuleiro renderizado no console em alta fidelidade visual.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_19_4_SeuNome
  2. Envie na tarefa: Atividade Cap 19 - Projeto Integrador I: Sistema Completo de Xadrez em Modo Console
🔑 Gabarito de Código & Solução Comentada
package com.empresa.sistemas.xadrez;

public class InterfaceConsole {
    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_YELLOW = "\u001B[33m";

    public static void imprimir() {
        System.out.println(ANSI_YELLOW + "TABULEIRO DE XADREZ JAVA 21" + ANSI_RESET);
    }
}

⬅️ Voltar ao Índice de Exercícios 📚 Sumário de Tópicos