Você está na página 1de 5

Escola de Cincias e Tecnologia UFRN

Informtica Fundamental
Prof.: Hugo Melo
Projeto de programao
Jogo da velha
1. Objetivo
O objetivo deste trabalho a implementao de um jogo eletrnico
similar ao Jogo da Velha. Nele os alunos vo desenvolver suas competncias
no uso de estruturas de repetio, vetores, entrada e sada de dados e
programao estruturada como um todo.
2. A equipe de desenvolvimento
O trabalho ser desenvolvido por uma equipe de 2 ou 3 integrantes, em
que 1 deles ser o lder. O lder ser o responsvel pela equipe, e estar em
contato frequentemente com o professor sobre o andamento do projeto.
As equipes sero formadas na aula da apresentao deste documento
e sero imutveis. Os alunos que no comparecem aula citada podero
formar novas equipes ou ingressar em equipes existentes at o dia 18/04,
desde que notifiquem o professor por mensagem via SIGAA.
As equipes podem ser formadas por alunos de diferentes subturmas.
Nesse caso, cada integrante deve estar ciente de que as possveis reunies e
a apresentao do trabalho sero marcadas no horrio de aula do lder do
grupo. A no participao por conflito de horrio de responsabilidade do
integrande.
3. O projeto de programao
O presente trabalho ser realizado em 3 etapas:
Primeira etapa: a primeira verso do Jogo da Velha trar uma nica tela
com um tabuleiro 3 x 3. A entrada das jogadas, bem como toda a
comunicao com o usurio, ser simplificada. A primeira etapa deve
ser implementada at o dia 27/04. A especificao da primeira etapa
est mais abaixo, na seo Implementao.
Segunda etapa: na segunda etapa o Jogo da Velha aprensentar um
tabuleiro de tamanho varivel, nome dos jogadores, uma tela de boas
vindas e outras funcionalidades. A especificao e o prazo dessa etapa
constaro em outro documento.
Terceira etapa: j com o Jogo da Velha completamente funcional, a
terceira etapa deve tornar o programa mais amigvel para o usurio.
Alm disso, possvel que nessa etapa sejam adicionados recursos
avanados, como a possibilidade de salvar uma partida em andamento
para continuar posteriormente. A especificao e o prazo dessa etapa
constaro em outro documento.
Pelo fato do projeto ser desenvolvido em etapas, imprescindvel
manter seu desenvolvimento em dia com o cronograma. Alm disso,
poderemos ter algumas aulas tericas para apresentao de alguns recursos
que sero utilizados no projeto, bem como aulas prticas para
acompanhamento do desenvolvimento.
4. Entrega
No ato da entrega, que ser via SIGAA, os lderes das equipes devem
enviar o cdigo-fonte do programa e um documento que detalha a colaborao
de cada integrante em todas as etapas do projeto. A criao desse documento
de responsabilidade somente do lder da equipe.
A data de entrega da verso final do projeto dia 01/06.
5. Avaliao
Cada projeto ser avaliado atravs de sua execuo, do cdigo-fonte
(organizao e clareza da lgica utilizada) e da apresentao.
A apresentao ocorrer durante a aula Lab 11 (06 e 07/06), no horrio
de aula do lder da equipe.
Todos os integrantes devem entender completamente o programa, e
no somente a parte que desenvolveram.
Erros de compilao, erros de execuo e um cdigo-fonte de baixa
qualidade podero penalizar a equipe como um todo. Faltar no dia da
apresentao, colaborar pouco para com o projeto ou no apresentar
satisfatoriamente algum trecho do cdigo-fonte podero penalizar o integrande
individualmente.
6. O jogo
O jogo da velha um simples e tradicional jogo de lgica entre 2
jogadores. O objetivo de cada jogador alinhar 3 de suas jogadas,
representadas por X ou O, em qualquer direo do tabuleiro (horizontal, vertical
ou diagonal).
Realizada em um tabuleiro 3 x 3, a partida inicia com um sorteio que
determina qual jogador far a primeira jogada (jogador X). Cada partida
composta por no mximo 9 jogadas, que so feitas alternadamente entre os
dois jogadores.
Se um jogador vencer, ele deve comear a prxima partida. Caso haja
empate (9 jogadas realizadas e nenhum vencedor), deve-se alternar o jogador
que inicia a prxima partida.
7. Implementao (primeira etapa)
A primeira etapa do projeto de programao o desenvolvimento de
uma verso eletrnica bsica do Jogo da Velha. Abaixo segue uma lista de
requisitos e especificaes que devem ser seguidas no desenvolvimento do
programa. Quaisquer questes no contempladas por este documento devem
ser levadas ao professor para esclarecimentos.
O programa deve ser desenvolvimento na linguagem C++, e a interface
(comunicao com o usurio) deve ser realizada pelo terminal (linux) ou
prompt (windows). vetado o uso de matrizes, funes, alocao
dinmica, ponteiros e do objeto string.
O programa deve exibir um tabuleiro 3 x 3 cujo sistema de coordenadas
formado por: caracteres maisculos iniciando em A, para o eixo das
ordenadas; e nmeros inteiros iniciando em 1, para o eixo das
abscissas. O tabuleiro deve ser atualizado aps cada jogada, refletindo
o estado atual do jogo (ver seo 8).
O programa deve indicar qual o jogador da vez.
O programa deve receber as jogadas no seguinte padro: <letra>
<numero>, em que <letra> um caractere maisculo que varia de 'A' a
'C'; e <numero> um inteiro que varia de 1 a 3.
O programa deve verificar se as jogadas so vlidas (esto nos limites
do tabuleiro), mostrando mensagens de erro e orientao caso no
sejam.
A primeira partida deve ser iniciada pelo Jogador X. O programa deve
assumir que os jogadores j sortearam entre si qual deles ser o
primeiro a jogar.
Ao final de cada partida o programa deve exibir uma mensagem de
acordo com seu resultado (felicitaes para o jogador vencedor ou uma
mensagem informando o empate). Em seguida, deve ser iniciada uma
nova partida (o tabuleiro deve ser reiniciado).
Em qualquer partida alm da primeira, o programa deve determinar o
jogador que far a primeira jogada com base no resultado na partida
anterior. Caso algum jogador tenha vencido a partida anterior, ele deve
iniciar a nova partida. Caso tenha ocorrido empate, deve iniciar a nova
partida o jogador que no iniciou a partida anterior.
8. Exemplo de execuo
As imagens a seguir exemplificam a execuo do Jogo da Velha. Como
s um exemplo, o seu tabuleiro no precisa ser desenhado dessa maneira.
Cada equipe est livre para desenhar o tabuleira da maneira que achar melhor.
Na Ilustrao 1 exibida a tela inicial do Jogo da Velha. Note que o
programa est aguardando a jogada do Jogador X.
Na Ilustrao 2 o Jogador X escreveu B 2, indicando que deseja
jogar na posio central do tabuleiro. Ao confirmar (com enter), o jogo levado
para a Ilustrao 3. Observe que o tabuleiro foi re-desenhado com a jogada do
Jogador X e agora est aguardando a jogada do Jogador O.
Ilustrao 1: Tela inicial do Jogo da Velha.
Ilustrao 2: O Jogador X escrever as coordenadas da sua
jogada.
Ilustrao 3: Jogo aps primeira jogada.