Análise e Projeto de Sistemas Orientados a Objeto

Propaganda
Universidade Federal de Campina Grande – UFCG
Centro de Engenharia Elétrica e Informática – CEEI
Departamento de Sistemas e Computação – DSC
Professores: OOOO
Aluno:
Data:
Prova 1 de Laboratório de Programação II
Instruções:





Crie o projeto prova1lp2 no eclipse e programe todos os exercícios dentro do pacote lp2.prova1;
Salve o projeto em um arquivo zip chamado prova1lp2-seuNome.zip (ou .tgz). Envie esse arquivo
pela ferramenta XXX:
Antes da definição de cada classe escreva o seu nome em comentário (/*Aluno: <seu nome>*/);
Certifique-se de que seus programas não têm erros de compilação;
A prova é individual e terá, apenas, 2 horas de duração.
Agora que vocês já sabem criar suas próprias classes, experimentem voltar ao problema do jogo da velha
e resolvê-lo usando Orientação a Objetos (OO). Para facilitar seu trabalho, use a classe
MeuJogoDaVelha.java1, contendo um método main(...) que representará a solução do jogo OO. Você
deve implementar a classe JogoDaVelha.java, que está sendo usada no arquivo-fonte disponibilizado,
atentando para os conceitos de encapsulamento e ocultação da informação praticados em sala. Veja 2
saídas possíveis2 para a execução da classe MeuJogoDaVelha.java.
Lembrem-se das regras do jogo da velha:
 Os jogadores não poderão jogar em posições que já foram “ocupadas em jogadas anteriores”.
 O mesmo jogador não pode jogar duas vezes seguidas, a menos que tenha feito uma jogada
inválida.
 Se um dos jogadores ganhar a partida ela deve ser finalizada, mesmo que o tabuleiro ainda não
se encontre completamente preenchido.
 Se ao “ocupar” todas as casas do tabuleiro, nenhum dos jogadores ganhar o jogo deve ser
decretado como empate.
 O tabuleiro deve ser exibido no início do jogo para que se tenha certeza que ele está vazio.
A cada jogada o tabuleiro deve ser exibido para mostrar quais posições encontram-se ocupadas e por
qual dos jogadores. Os jogadores serão identificados pelos símbolos que eles podem jogar (‘O’ ou ‘ X’).
No seu jogo haverão um jogador (pessoa) contra o computador. Quando o computador joga,
aleatoriamente será escolhida uma posição do tabuleiro do jogo da velha para realizar a jogada.
Considere que o jogador-pessoa joga com o símbolo ‘O’ e o computador com ‘X’.
Observação:
1
2
http://www2.lsd.ufcg.edu.br/~programacao2/prova1-modelo/
http://www2.lsd.ufcg.edu.br/~programacao2/prova1-modelo/
Para conseguir obter valores aleatórios você irá usar a classe java.util.Random. Veja um exemplo de uso
desta classe:
Random r = new Random();
r.nextInt(); //gera um número inteiro randômico
r.nextInt(5); //gera um número inteiro randômico entre 0 (inclusive) e 5
//(exclusivo), ou seja, um número no intervalor [0, 5[ (0, 1, 2, 3, 4)
Download