Este documento descreve um trabalho sobre o desenvolvimento de um jogo da forca em C++. Os alunos devem implementar as regras do jogo, incluindo escolha aleatória de palavras de um dicionário, tentativas de adivinhar letras, pontuação e dica após acertar metade das letras. O trabalho é feito em grupos de até 2 pessoas e será avaliado com base na jogabilidade, funcionalidades do dicionário e qualidade do código.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Pc1 Trab2
1. 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 quot;umaquot;, 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.
2. • 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 é quot;umaquot;. 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.