Você está na página 1de 3

Jogo do 21

Imagine, que voc est em casa, domingo tarde, e comea a chover.


Voc resolve, ento, jogar (com algum que est em casa) o Jogo do 21 com
dados. Porm, que surpresa a sua quando percebe que no h dados na sua
casa!
O que fazer ento? Como voc uma pessoa que no
desiste do que deseja (e tambm no vai sair na chuva para
comprar dados), voc, obviamente, senta na frente do computador
e faz um programa em Java que simule o Jogo do 21.

Mas, como funciona o Jogo do 21?


Simples. Neste jogo podem jogar quantos jogadores desejarem, cada
um com dois dados: um branco e um vermelho. Todos os jogadores comeam
com 0 pontos. O jogo dividido em 3 jogadas. A cada jogada, cada jogador
tem a opo de escolher se vai jogar o dado ou passar a vez. Se o jogador
passar a vez, no joga os dados. Se o jogador escolher jogar os dados, joga
primeiro o dado branco. O valor do dado branco soma-se aos pontos que ele
possui (por exemplo, se o jogador tinha 5 pontos e tirou 3 no dado branco,
agora ele tem 8 pontos).
Logo em seguida, o jogador joga o dado vermelho. Se o valor do dado
vermelho for 6, este valor duplicado e somado aos pontos que ele j possui
(por exemplo, se o jogador tinha 8 pontos aps jogar o dado branco, e tirou 6
no dado vermelho, ele agora tem 8 + (2 x 6) = 20 pontos). Qualquer outro
valor no dado vermelho simplesmente somado aos pontos do jogador, assim
como o dado branco.
Depois que um jogador joga os dois dados, a vez do outro escolher se
joga ou se passa a vez, e assim o jogo continua. Uma jogada termina quando
todos os jogadores fizerem sua ao (seja esta ao passar a vez ou jogar).
O jogo termina aps 3 jogadas.
Aps as 3 jogadas, o resultado do jogo o seguinte:
- o jogador que passar de 21 pontos perde (se todos passarem, o jogo
empata).
- se nenhum dos jogadores passar dos 21 pontos, o que mais se
aproximar de 21 pontos ganha (caso mais de um jogador faa o mesmo
nmero de pontos, o jogo termina empatado)
Pronto. Agora possvel jogar o Jogo do 21 sem a necessidade dos dados.
O seu trabalho ser: implementar um programa em Java que simule um
Jogo do 21 conforme explicado acima.
No jogo que voc ir implementar, no entanto, podem jogar apenas 2
jogadores.

Seu programa dever ter no mnimo 5 classes:


-

uma que representa um Dado. Um dado possui uma quantidade de


lados e uma cor. Todos os dados possuem 6 lados, e a cor pode ser
vermelha ou branca. Um dado pode ser jogado, retornando o valor da
jogada.
uma que representa um jogador. Um jogador possui um nome, uma
quantidade de pontos e dois dados (um branco e um vermelho). Quando
um jogador criado, deve-se saber o nome deste jogador. Um jogador
pode jogar os seus dois dados.
a classe Teclado, para receber dados digitados pelos jogadores no
decorrer do jogo.
uma classe Main, que possui o mtodo principal (main), cria e comea
o jogo.
uma classe que controla toda a lgica do jogo. Esta classe possui
uma instncia da classe Teclado (para receber as informaes dos
jogadores). Alm disto, esta classe possui dois Jogadores. Quando um
novo jogo criado, o seu programa deve pedir aos dois jogadores para
que informem seus nomes (via teclado).
Esta classe possui mtodo(s) que controla(m) as 3 jogadas, de acordo
com as regras do jogo especificadas acima. No esquecendo de que, a
cada jogada, os dois jogadores podem escolher se vo jogar os dados
ou passar a vez (via teclado).

Fique atento aos seguintes itens:


a) Comente o seu cdigo, informando no mnimo o que cada mtodo de
suas classes faz. No esquea de colocar seu nome em TODAS as
classes que voc for implementar (isto exclui a classe Teclado).
b) Idente seu cdigo. Cdigos no identados so mais difceis de entender,
difceis de encontrar erros, alm de receberem um pequeno desconto na
nota final.
c) Utilize impresses na tela para informar o que est acontecendo no jogo.
Utilize-as tambm para imprimir as regras, para fazer a interface do jogo.
No esquea que voc est programando um jogo. Use a criatividade.
d) Faa seu cdigo com clareza.
Outras informaes:
-

O trabalho dever ser implementado utilizando o BlueJ


Voc dever entregar uma pasta compactada com todos os arquivos do
projeto criado no BlueJ
Alm do arquivo compactado, voc dever entregar um relatrio de no
mximo 2 pginas contendo os seguintes itens: ttulo, suas informaes
(nome, turma, etc.), resumo do problema, implementao realizada,
dificuldades encontradas. Seja claro e objetivo em seu texto. Faa-o em
um destes formatos: pdf, ps ou doc.
O ltimo item a ser entregue um arquivo com a modelagem UML das
classes do seu trabalho (diagrama de classes). No esquecendo de
modelar os relacionamentos entre as classes.
O trabalho ser realizado individualmente para a turma 6241 (horrio 23)
e em duplas para a turma 6242 (horrio 53)

A entrega deve ser realizada por e-mail, at as 23h59min do dia


especificado para a sua turma.
Turma 6241: dia 27/04/2009. Turma 6242: dia 30/04/2009.
Coloque no assunto do e-mail: TRABALHO A SEU NOME SUA
TURMA
No e-mail, devem ser anexados os 3 arquivos: o arquivo compactado
com o projeto do BlueJ, o arquivo contendo seu relatrio e o arquivo
contendo o diagrama de classes UML.
Identifique-se claramente no e-mail (nome completo e nmero da turma)
A cada dia de atraso na entrega, sero descontados 2,0 pontos da nota
final do trabalho.

Avaliao:
-

Este trabalho vale 20% da nota do Grau A


Sero avaliados os itens na seguinte estrutura:
o Cdigo comentado: 0,5 pontos
o Cdigo identado: 0,5 pontos
o Interface com o usurio (mensagens e criatividade): 2,0 pontos
o Corretude do jogo (lgica, regras e resultados): 5,0 pontos
o Relatrio: 1,0 ponto
o Diagrama UML: 1,0 ponto

Dicas:
-

Comece pelas classes mais simples, e v aumentando a complexidade


conforme a implementao avana. No tente fazer o mais difcil
primeiro.
Faa um trabalho simples mas correto. No necessrio criar um
programa com centenas de linhas de cdigo. Mais vale um programa
que funciona e simples do que um que demasiadamente complexo e
apresenta falhas.
Implemente e v testando suas classes. No deixe para compilar e
verificar se funcionam no final de toda a implementao. Se existirem
erros, sero mais difceis de serem encontrados.
Pense no jogo antes de comear a implementar. Comece a codificar
somente quando entender exatamente como ele funciona e como deve
ser jogado.
No invente regras. Elas esto todas claras no decorrer deste
documento.
No se assuste com a primeira impresso do trabalho. Voc tem plenos
conhecimentos e total capacidade de implementa-lo. Basta calma e
ateno.
No deixe para fazer na ltima semana.
Reserve um tempo por dia para pensar no trabalho e implementar
alguma parte.
Qualquer dvida, mande por e-mail, que sero respondidas na medida
do possvel.

Boa sorte!

Você também pode gostar