Pc1 Trab2

2

Click here to load reader

Transcript of Pc1 Trab2

Page 1: Pc1 Trab2

Prof. Diógenes – Tecnologia em Informática e em Redes – UTP

Programação de Computadores I

Trabalho do 2o Bimestre – Forca++

(junho/2008)

O ENUNCIADO

O objetivo deste trabalho é implementar o Jogo da Forca, cuja missão é adivinhar palavras escolhidas

aleatoriamente de um dicionário.

Este jogo será disputado entre 2 jogadores.

Início de um jogo

O programa deve permitir ao jogador jogar um número indeterminado de jogos.

Quando um jogo se inicia, o computador seleciona uma palavra ao acaso de um dicionário. No início

de cada jogada o computador mostra uma linha contendo tantos traços quanto o número de letras da

palavra selecionada, bem como as letras que o jogador tem à sua disposição para tentar adivinhar a

palavra. Por exemplo, se a palavra selecionada tiver sido "uma", no ecrã deverá surgir algo como: =================

Jogador 1: Manoel

=================

Palavra: ---

Letras disponíveis: abcdefghijklmnopqrstuvwxyz

Digite [1] para chutar palavra

Escolha uma letra:

Jogadas / Regras

• Em cada jogada o jogador seleciona uma das letras disponíveis.

• Em cada jogo uma letra só pode ser selecionada uma vez, pelo que letras repetidas não contam

como tentativas: o programa deve limitar-se a pedir de novo uma letra.

• Deverão ser mostradas todas as letras da palavra que tenham sido adivinhadas pelo jogador até ao

momento, nos locais onde ocorrerem.

• Deverão ser mostradas as letras à disposição do usuário para posteriores lances.

• Quando o jogador introduz uma letra que não existe na palavra, é avisado desse fato e passa-se a

vez para o outro jogador.

• Antes de cada lance deve ser gerada e mostrada uma pontuação (randômica), entre 0 e 100

pontos.

• O jogador deve ter uma opção para chutar a palavra completa. Se acertar leva 1000 pontos. Se

errar pode perder tudo. Estes valores podem ser alterados por você.

• Ao se completar 50% das letras da palavra, uma dica deve ser mostrada.

• Ao se trocar o jogador, a tela deve ser apagada e uma mensagem clara deve ser impressa. Pode se

mudar a cor das letras se desejado.

• Nota: O usuário pode introduzir letras maiúsculas, mas o programa deve tratá-las como se fossem

minúsculas.

Fim do jogo

• O jogo termina quando um jogador adivinha a palavra completa.

• O vencedor será o jogador que acumular mais pontos.

Page 2: Pc1 Trab2

• Então se indica quantas letras cada jogador introduziu e quantas vezes ele falhou.

Dicionário

• O dicionário deverá ser construído em uma matriz de strings com no máximo 30 palavras.

• O programa deve ter opções no menu para Inserir, Alterar, Excluir palavras.

• Em ambos os casos, deverá ser possível fazer Consultas ao se digitar uma string, ou parte de uma

frase. O programa deverá mostrar todas as frases que possuam aquela seqüência.

• Para manipular o dicionário o usuário precisará utilizar uma senha.

• Durante a execução da Forca, uma palavra do dicionário deve ser escolhida aleatoriamente entre

as palavras cadastradas.

Para isto se usa as funções rand() e srand() – ver help da linguagem C++.

Menu do programa

Abaixo mostra-se uma possível interação entre o programa e o jogador (neste caso a opção de

mostrar estatísticas dos jogos não foi implementada). Admite-se de novo que a palavra escolhida

para o jogador adivinhar é "uma". Em negrito encontram-se as respostas do usuário:

Jogo da forca

1 Novo Jogo

2 Manipular Palavras

3 Sair

Opção:

Pontos adicionais

• Aceitar frases ou invés de palavras, mostrando os espaços.

• Usar modo gráfico

A AVALIAÇÃO

• O trabalho tem peso 30 sobre a nota do bimestre (em 100 pontos). • Todos os itens apresentados na explicação do jogo serão pontuados. • Programas que não compilarem ou linkarem receberão nota ZERO.

Item Pontuação Parte visual bem elaborada 3

Jogabilidade 5 Impressão letras faltantes 2 Pontuação / Chute palavra 4 Uso de Dicas 3 Termino do jogo 3 Inserção / Alteração / Remoção 5

Consulta 3 Utilização das senhas 2 Total = 30 pontos

AS EQUIPES

O trabalho é em grupo com no máximo 2 participantes.

ENTREGA / APRESENTAÇÃO

• O trabalho deverá ser entregue e apresentado até o dia 16/junho (segunda-feira), durante o horário da aula, no link de upload em gerds.utp.br/diogenes (com nome completo dos integrantes).

• A defesa/apresentação é fator decisivo para obtenção integral da nota. • Trabalhos similares ao dos colegas ou plagiados da Internet estarão passíveis de depreciação da

nota.