💻 Sobre o Projeto

O sistema em questão é sobre Batalha Naval, um jogo estratégico baseado em turnos onde dois jogadores competem para afundar os navios um do outro em um tabuleiro dividido em grade. Cada jogador coloca seus navios de forma oculta no tabuleiro e, em seguida, alternam entre fazer ataques, tentando adivinhar as posições dos navios inimigos.

🛠 Tecnologias

Development

Testes

✔️ User Storys e BDDs

  1. Como jogador, quero poder posicionar meus navios no tabuleiro do jogo Batalha Naval para começar a jogar.
Dado Que eu sou jogador
Quando Estou na tela de posicionamento dos navios
Então Devo poder selecionar meus navios e colocá-los no tabuleiro
  1. Como jogador, quero poder indicar a posição aonde quero atacar nas casas do tabuleiro do jogo Batalha Naval para tentar afundar os navios inimigos.
Dado Que eu sou jogador
Quando È a minha vez de atacar
Então devo poder selecionar uma casa no tabuleiro para realizar o ataque
  1. Como jogador, quero receber informações sobre o resultado dos meus ataques no jogo Batalha Naval, para saber se acertei um navio inimigo ou se errei o alvo.
Dado Que eu sou jogador
Quando Realizo um ataque em uma casa do tabuleiro
Então Devo receber informações sobre o resultado do ataque, indicando se acertei um navio inimigo ou se errei o alvo
  1. Como jogador, quero ser notificado quando afundar todos os navios inimigos no jogo Batalha Naval, para saber que venci a partida.
Dado Que eu sou jogador
Quando Afundo todos os navios inimigos
Então devo receber uma notificação clara e evidente de que venci a partida

📋 Conceitos Implementados

  • Injeção de Dependencia
  • Inversão de Dependencia

✔️ Requisitos

  • JDK 17
  • Maven

📸 Autores

José Vitor
José Vitor

Higor Santiago
Higor Santiago

Higor Santiago
Alexson Almeida