CSE 110: Introdução à Programação

S03 - Projeto: Jogo de Aventura

Sobre as Etapas do Projeto (Marcos):

Um marco ou marco quilométrico é um marcador colocado ao longo de uma rodovia para informar a distância percorrida ou indicar seu deslocamento em direção a um destino específico. Em projetos de desenvolvimento de software, o marco (etapa) do projeto indica um ponto específico ao longo do cronograma do projeto.

Para ajudar você a avançar na conclusão deste projeto, você concluirá parte do programa no meio da semana e enviará uma “Etapa” do projeto. Então, até o final da semana, você concluirá o programa e enviará a versão finalizada.

Primeiro você deve ler a descrição completa do projeto. Depois, na parte inferior desta página, você verá quais funcionalidades são necessárias para a etapa e quais são necessárias para o projeto em geral.

Visão Geral

Em um jogo de aventura baseado em texto, o usuário é apresentado a um cenário com diferentes opções. Dependendo da opção escolhida, há diferentes consequências, que por sua vez, apresentam novas escolhas para a próxima ação.

Observe o seguinte exemplo:

Você está caminhando em uma floresta escura e encontra dois itens: um FÓSFORO e uma LANTERNA. Qual você quer pegar?

O usuário pode então digitar “fósforo” ou “lanterna”.

Se o usuário digitar “fósforo”, ele poderá ver uma resposta como:

Você pega o fósforo e o acende. Por um instante, a floresta ao seu redor fica iluminada. Você vê um grande urso-pardo e então o fósforo se apaga. Você quer CORRER ou SE ESCONDER atrás de uma árvore?

Considerando que, se o usuário digitou “lanterna” em resposta à pergunta original, ele poderá ver uma resposta como:

Você pega a lanterna e a liga. Você vê o caminho iluminado à sua frente, mas pensa que também ouviu algo nas proximidades. Você quer SEGUIR o caminho ou PROCURAR nas árvores o que fez aquele barulho?

A cada etapa, sua escolha define o que você verá em seguida e as opções que terá disponíveis.

Instruções

Crie seu próprio jogo de aventura baseado em texto com pelo menos três níveis de opções. Cabe a você determinar os cenários, as escolhas e as consequências.

Tenha em mente as seguintes orientações e requisitos:

  1. Você deve ter pelo menos três níveis de cenários com escolhas possíveis. Isso significa que toda vez que o usuário jogar, ele deverá responder a pelo menos três perguntas, porque cada ramificação do jogo deve ter três níveis de profundidade.

  2. Os cenários que seguem uma resposta anterior devem ser tratados com instruções if aninhadas. Em outras palavras, o corpo/bloco da primeira instrução if conterá um comando print e, em seguida, outra instrução if dentro dele.

  3. Pelo menos um dos seus cenários deve ter mais de duas opções possíveis.

  4. Em cada pergunta, escreva as opções em MAIÚSCULAS, para que o usuário saiba quais palavras são as possíveis respostas para escolher.

  5. As respostas devem ser palavras (strings) em vez de números.

  6. Ao verificar as respostas dos usuários, você deve fazer a correspondência da palavra-chave, independentemente das letras maiúsculas/minúsculas usadas na resposta (por exemplo, “fósforo”, “FÓSFORO”, “Fósforo” devem funcionar).

  7. Fazer escolhas diferentes deve levá-lo a cenários diferentes. Você não deve ter o mesmo resultado para escolhas diferentes.

  8. As escolhas só devem funcionar para a pergunta correspondente.

    Em outras palavras, se um cenário resulta em opções de Correr/Esconder-se, mas outro resulta em opções Seguir/Olhar, você não deve ser capaz de responder com “Seguir” à pergunta que solicitou Correr/Esconder-se.

    Uma boa maneira de fazer isso é ter uma série de instruções if aninhadas. Ou seja, o comando print e a próxima instrução if estarão dentro do corpo (ou bloco) da primeira instrução if.

  9. Para cada pergunta, você deve incluir uma cláusula else caso o usuário digite algo diferente das opções disponíveis. É você quem escolhe como essa situação deve ser lidada.

Demonstrando Criatividade e Indo Além dos Requisitos

Naturalmente, você mostrará criatividade ao personalizar as perguntas e as alternativas. Para receber pontos pela parte “Mostra Criatividade e Ir Além dos Requisitos” do item desta tarefa, você precisará adicionar algo adicional à estrutura do jogo. Por exemplo, você poderá adicionar ainda mais níveis ou ter mais opções em cada nível. Você poderá adicionar opções ocultas ou perguntas capciosas. Divirta-se com isso e veja o que você pode fazer!

Se você já aprendeu outros conceitos de programação (por exemplo, loops, listas, etc.), você pode usá-los aqui como uma forma de mostrar criatividade e ir além dos requisitos.

Considerando compartilhar este programa

Especificamente para esta tarefa, uma forma adicional de receber pontos por demonstrar criatividade e ir além dos requisitos, será mostrando seu programa a pelo menos duas outras pessoas para que elas o joguem. Depois que elas jogarem, mostre brevemente seu código e explique como ele funciona. Em seguida, descreva sua experiência em seu comentário no começo do programa.

Importante: Para receber crédito pela criatividade, você deverá inserir um comentário no início do programa que descreva o que você adicionou em uma ou duas frases.

Requisitos da Etapa

Durante a semana, para ajudar a garantir que você esteja caminhando para concluir a tarefa, você precisa realizar o seguinte:

  1. O programa deve funcionar corretamente para a primeira pergunta e possíveis escolhas, e exibir uma resposta de acompanhamento para cada escolha (incluindo uma condição else).

    • Para a etapa, você não precisa implementar nenhum cenário/pergunta adicional, você só precisa do primeiro.
  2. Crie um projeto para o seu jogo completo.

    • Prepare-se para o resto do jogo decidindo todos os cenários, escolhas e consequências possíveis que o usuário poderá ver. Você precisa projetar o jogo completo, incluindo outras condições. Então, para finalizar a tarefa da próxima aula, você só precisará criar o código para todas essas opções.
    • Sinta-se à vontade para escrever este projeto em papel ou em um documento (Word, Google Docs, Powerpoint, etc.), o que for mais conveniente para você. Você deve escrever cada cenário possível junto com as escolhas. Então, para cada escolha, escreva o cenário resultante com as escolhas, etc.
    • Não é obrigatório enviar o projeto ao Canvas, mas você deveria concluí-lo como parte da Etapa para ter certeza de que está preparado para concluir o programa.

Requisitos Finais

No final da semana, você precisa finalizar sua implementação. Tudo bem se você mudar um pouco de ideia em relação ao projeto original.

Envio de Tarefa

Há uma tarefa para ser enviada no Canvas tanto para a Etapa quanto para a Entrega Final. Lembre-se de:

Próxima Atividade

Outros Links: