Neste projeto vamos desenvolver pequenos jogos com

Propaganda
IME - Instituto de Matemática e Estatística
DICC - Departamento de Informática
Sistemas Distribuídos
Tópicos Especiais
Prof. Alexandre Sztajnberg
2010/1
Projeto de Programação 1 – Sockets
Neste projeto vamos desenvolver pequenos jogos com sockets UDP e TCP, usando a linguagem C
ou Java, no Unix.
Os jogos são para 2 jogadores, e são do tipo “turn” (as jogadas vão se alternado entre os
jogadores). Exemplo: jogo da velha, batalha naval, xadrez, damas.
Cada grupo vai fazer receber uma combinação de jogo+protocolo+arquitetura+linguagem. Deve
implementar o programa de acordo com os requisitos solicitados. Também deve desenvolver um
texto discutindo como as questões a seguir foram abordadas. Os fontes, executáveis e o texto
devem ser disponibilizados na conta da snarf através de uma página Web simples, mas organizada.
Arquiteturas:
• cliente-servidor, direto - sem intermediários.
• clientes-central, clientes interagem através de uma central.
Cada arquitetura tem aspectos as serem considerados:
• Central: onde vai ser executado?, como os clientes sabem onde está? Como registrar? Como
sincronizar o jogo e as jogadas?
• Direto: como
Além do jogo, em si, o grupo terá que pensar em alguns pontos relevantes na aplicação:
• São dois jogadores que não se conhecem. Como um jogador obtém a referência do outro?
• Depois de obter a referência, como os dois jogadores “engage” no jogo? Isto é: tornam-se
disponíveis para jogar, e combinam quem começa primeiro?
• Como as mensagens contendo as jogadas são representadas e manipuladas?
• Como terminar o jogo? Isto é: como terminar o jogo, decidir quem ganhou, notificar serem
notificados e, finalmente liberar os recursos (socket, memória, etc.)?
• Um jogo pode ser interrompido no meio e depois reiniciado? E como ele recomeçará?
• O jogo possui requisitos de segurança contra “cheating”? Por exemplo, um jogador consegue
fazer duas jogadas seguidas antes do adversário fazer a sua?
• O que acontece se um jogador demorar muito na sua jogada?
Distribuição dos requisitos
Gr.
No. Central Direto Java
Nathalea e Guilherme 1
X
X
Pedro e Leandro
2
X
X
Daniel e Frederico
3
X
X
Ana e Jaime
4
X
X
Márcia e Helder
5
X
X
André e Fábio
6
X
X
Rafael e Rodrigo
7
X
Thiago
8
X
Luciano Barroso
9
X
Rodrigo e Guilherme 10
X
C
X
X
X
X
TCP
X
X
X
X
X
UDP Velha B Nav.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Download