Versão MultiPlayer do jogo Gomoku (também conhecido como Gobang ou Five in a row).

Versão MultiPlayer do jogo Gomoku (também conhecido como Gobang ou Five in a row).


DisciplinaDesenvolvimento de Aplicações Distribuídas13 materiais72 seguidores
Pré-visualização1 página
Jogo MultiServer/Senha.txt
Senha da aplicação:
 >>> Entre em contato com Luis Henrique Stormoski.<<<
Caso necessite da aplicação para trabalho acadêmico ou estudos, vai ser liberado o código fonte.
Wpp (46) 8814-3995
stormoski@alunos.utfpr.edu.br
luishenrique101@hotmail.com
Jogo MultiServer/Senha 
Senha da aplicação:
 >>> Entre em contato com Luis Henrique Stormoski.<<<
Caso necessite da aplicação para trabalho acadêmico ou estudos, vai ser liberado o código fonte.
Wpp (46) 8814-3995
stormoski@alunos.utfpr.edu.br
luishenrique101@hotmail.com
Jogo MultiServer/AplicacoesDistribuidasAPS.zip
AplicacoesDistribuidasAPS/manifest.mf
Jogo MultiServer/APS 2015-1.pdf
 
Ministério da Educação 
Universidade Tecnológica Federal do Paraná - Campus Pato Branco 
Curso de Tecnologia em Análise e Desenvolvimento de Sistemas 
Disciplina: Desenvolvimento de Aplicações Distribuídas 
Prof. Vinicius Pegorini 09/05/2014 
 
Atividade Prática Supervisionada (APS) de Aplicações Distribuídas 
 
Tarefa: Desenvolver uma versão MultiPlayer do jogo Gomoku (também conhecido 
como Gobang ou Five in a row). 
Requisito básico: O jogo deve ser desenvolvido utilizando Java RMI. 
Avaliação: O trabalho pode ser desenvolvido em duplas. Ao final do desenvolvimento 
será realizada uma avaliação. Serão avaliados: 
\uf0b7 Comunicação entre cliente e servidor; 
\uf0b7 Criação das regras do jogo no servidor; 
\uf0b7 Organização do projeto e código (boas práticas de programação); 
\uf0b7 Também será realizada uma avaliação (entrevista) individal onde o aluno 
deverá explicar as funcionalidades do jogo. Mesmo sendo em dupla, cada 
aluno deve ser capaz de explicar todas as funcionalidades do jogo. A nota do 
trabalho está condicionada a explicação do código fonte do jogo, ou seja, caso 
o aluno não consiga responder as questões relacionadas ao desenvolvimento 
do trabalho a nota do trabalho será 0 (zero). 
 
O Gomoku, também conhecido como Gobang, é um jogo de tabuleiro estratégico 
tradicionalmente jogado com peças de Go (peças negras e brancas) em um tabuleiro de 
Go ligeiramente modificado (no mínimo 5x5 interseções). No entanto, ao contrário deste, 
uma vez que as peças são colocadas não podem ser movidas ou retiradas do tabuleiro. 
No início do jogo, as negras começam, e os jogadores alternam na colocação de uma 
pedra da sua cor em uma interseção vazia. O vencedor é o primeiro jogador a obter uma 
linha ininterrupta de cinco pedras na horizontal, vertical ou diagonal. 
(Fonte: http://pt.wikipedia.org/wiki/Gomoku) 
 
No trabalho proposto o jogo teve algumas modificações, que serão listadas no 
decorrer desse documento. 
Regras do jogo: 
\uf0b7 A disputa do jogo acontece entre 2 usuários; 
\uf0b7 Deve ser disponibilizado um tabuleiro com X linhas e Y colunas, um exemplo 
pode ser visualisado na Figura 1; 
\uf0b7 Um dos usuários é sorteado aleatóriamente e inicia o jogo; 
\uf0b7 O jogador da vez seleciona uma das posições do tabuleiro ( X , Y ), caso ele 
faça uma sequência de 5 pedras na horizontal, vertical ou diagonal ele é o 
vencedor. Caso contrário, a vez passa para o próximo usuário e assim 
sucessivamente até que todas as posições sejam preenchidas. 
\uf0b7 O vencedor é o primeiro usuário a obter uma linha ininterrupta de cinco pedras na 
horizontal, vertical ou diagonal; 
\uf0b7 Caso todas as posições do tabuleiro estejam preenchidas e nenhum dos usuário 
tenha feito uma sequência de 5 pedras, será considerado empate. 
 
** Bonus: Em uma partida de Gomoku também pode ser apresentado o número de 
pedras já colocadas na mesa: 
1. Um número aparece, indicando a quantidade de pedras já colocadas no 
tabuleiro após cada jogada; 
 
 
Observações: 
Todas as regras do jogo devem ficar no servidor, ou seja: 
\uf0b7 As posições de cada pedra jogada; 
\uf0b7 O número de pedras jodadas; 
\uf0b7 A vez de cada jogador 
\uf0b7 O envio de avisos a cada rodada, informando a vez e o número de pontos de 
cada jogador; 
 
 
Figura 1 - Gomoku 
 
 
 
 
 
 
Dicas: 
O chat por ser utilizado como base; 
public interface ICallback extends Remote { 
 
 //CHAT 
 public void registrarNovoUsuario(String nome, ICallback callback) throws RemoteException; 
 public void removerUsuario(String nome) throws RemoteException; 
 public void enviarMensagem(String de, String msg) throws RemoteException; 
 
 //Base 
 /*Método pode ser utilizado para o convite para iniciar um jogo, ou o jogo pode iniciar 
automaticamente quando o segundo jogador entrar no servidor. */ 
 public boolean enviarConvite(String nome) throws RemoteException; 
 
// Atualiza informação textual avisando que é a vez do jogador 
 public void atualizarInformacao(String message) throws RemoteException; 
 
/* Atualiza um Boolean que indica a vez do jogador, pode ser utilizado para evitar que o jogador 
tente jogar na vez do adversário */ 
 public void setVez(boolean b) throws RemoteException; 
 
//Atualiza os pontos dos jogadores a cada jogada 
 public void atualizarTabuleiro (int pedrasJogadas, int linha, int coluna) throws 
RemoteException; 
 
//Quando um dos jogadores vence, avisa sobre o final da partida 
 public void avisarFinalPartida(int vencedor) throws RemoteException; 
 
// Atualiza o tabuleiro a cada jogada 
 public void mostrarTabuleiro(String msg) throws RemoteException; 
}