Projeto POO - 2010.1

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

O projeto final da disciplina Programação Orientada a Objetos poderá ser desenvolvido em dupla e deverá ser apresentado em sala no dia 05 de julho de 2010.

Jogo de Damas

Desenvolver um jogo de damas que possibilite dois jogadores humanos realizarem partidas pela Internet. O projeto será constituído de dois módulos (ou de dois aplicativos Java):

Aplicativo Servidor

  • Este aplicativo tem por objetivo esperar a conexão, via sockets TCP, de dois aplicativos clientes e intermediar a troca de pacotes entre essas duas aplicações.
    • Deve-se desenvolver um protocolo para indicar as mensagens trocadas entre cliente e servidor, bem como a sequência dessas
      • Uma classe Java e as instâncias dessa classe seriam a abstração dos 'pacotes'

Aplicativo Cliente

Este aplicativo apresenta a interface gráfica para interação com o usuário humano e tem os seguintes requisitos:

  • Apresentar uma interface gráfica composta por:
    • Um tabuleiro de damas com as respectivas peças
      • Deverá ser feito uso da API Java2D
      • Cada casa da tabuleiro deverá ser identificada por uma letra e número, exemplo: casa A2
    • Uma área para apresentar o histórico das jogadas
    • Uma área para permitir o bate papo entre os jogadores
  • Apresentar um diálogo para configuração das informações relacionadas ao servidor do jogo de damas
    • Endereço IP e porta
  • Um diálogo "Sobre" para informar os autores do projeto
  • Um diálogo "Regras do jogo"
  • Para o jogador movimentar uma peça será necessário:
    • Clicar na casa origem (onde a peça está)
    • Clicar na casa destino
    • A movimentação deverá obedecer as regras do jogo de damas
    • Após realizada a movimentação, deve-se gravar esta no histórico de jogadas

Outros requisitos do projeto

  • Todos os métodos deverão ser comentados, de acordo com o padrão do JavaDOC, e dentro dos métodos é necessário comentar cada parte de seu funcionamento chave;
  • Todo o código deverá estar sob uma licença de software (Ex: proprietário, domínio público, software livre);
    • Indique os motivos para sua escolha.

Soluções dos alunos

Grupo Licença Adotada Requisitos contemplados Requisitos não contemplados Código Fonte e Jar Executável
Mattia & Michel Euzébio GPL

Todos os requisitos foram contemplados e ainda foram acrescentados:

  • Bate papo com Emoticon
  • Bate papo permite o envio de links através da marcação [link]www.exemplo.com[/link]
  • Mudança da cor de fundo de diversos painéis
  • Apesar de atender todos os requisitos, há um pequeno problema para estabelecer a conexão inicial
Projeto Netbeans
Andre & Bruno Espindola Beerware
  • Contemplou quase todos os requisitos
  • Dama só captura 1 única peça
  • Dama só anda 1 casa por vez
Projeto Netbeans
Bruno Frassetto & Fernando GPL
  • Contemplou quase todos os requisitos
  • Não permite jogar pela rede
  • Placar não funciona
Projeto Netbeans
Carlos & Natan GPL
  • Movimentação e captura de peças
  • Peça é promovida a dama
  • Registra o histórico das jogadas
  • Bate papo pela rede
  • Não permite jogar pela rede
  • Placar não funciona
  • Não finaliza o jogo
  • Dama só captura 1 peça
Projeto Netbeans
Daniel & Thiago GPL
  • Movimentação e captura de peças
  • Peça é promovida a dama
  • Registra o histórico das jogadas
  • Bate papo pela rede
  • Não permite jogar pela rede
  • Placar não funciona
  • Não finaliza o jogo
Projeto Netbeans
Roicenir & Sérgio GPL
  • Captura de peça e movimentação
  • Peça é promovida a dama
  • Registra o histórico das jogadas
  • Não permite jogar pela rede
  • Dama não está com o comportamento esperado
  • Não realiza capturas com mais de uma peça no caminho
  • Não obriga a captura de peças
  • Não tem placar
  • Não finaliza o jogo
Projeto Netbeans

Ponteiros interessantes