--- title: Gerador de histórias bobas slug: Learn/JavaScript/First_steps/Silly_story_generator translation_of: Learn/JavaScript/First_steps/Silly_story_generator original_slug: Learn/JavaScript/First_steps/Gerador_de_historias_bobas ---
Nesta avaliação, você será encarregado de utilizar parte do conhecimento que você adquiriu nos artigos deste módulo e aplicá-lo para criar um aplicativo divertido que gera histórias bobas aleatórias. Divirta-se!
Pré-requisitos: | Antes de tentar esta avaliação, você já deve ter trabalhado com todos os artigos deste módulo. |
---|---|
Objetivo: | Testar a compreensão dos fundamentos de JavaScript, como variáveis, números, operadores, cadeias de caracteres e matrizes. |
Para começar esta avaliação, você deve:
Nota: Alternativamente, você pode utilizar um site como JSBin ou Thimble para fazer a sua avaliação. Você pode colar o HTML, CSS e javaScript em um desses editores online. Se o editor online que você estiver utilizando não possuir um painel separado para javaScript, sinta-se a vontade para inseri-lo em um elemento <script> dentro da página HTML.
Você recebeu algum HTML/CSS em bruto e algumas strings de texto e funções de JavaScript; Você precisa escrever o JavaScript necessário para transformar este em um programa funcional, que faz o seguinte:
A seguinte captura de tela mostra um exemplo do que o programa concluído deve produzir:
Para dar-lhe mais uma ideia, dê uma olhada no exemplo concluído (sem espreitar o código fonte!)
As seções a seguir descrevem o que você precisa fazer.
Configuração básica:
Variáveis e funções iniciais:
Colocando o manipulador de eventos e a função incompleta:
result()
seja executada.result()
parcialmente concluída ao seu código. Para o restante da avaliação, você estará preenchendo linhas dentro desta função para completá-la e fazê-la funcionar corretamente.Completando a função result()
:
newStory
, e defina seu valor como igual a storyText
. Isso é necessário para que possamos criar uma nova história aleatória toda vez que o botão for pressionado e a função for executada. Se fizermos alterações diretamente no storyText
, só poderemos gerar uma nova história uma vez.xItem
, yItem
, e zItem
, e torne-as iguais ao resultado da chamada da função randomValueFromArray()
em seus três arrays (o resultado em cada caso será um item aleatório de cada array em que é chamado). Por exemplo, você pode chamar a função e fazer com que ela retorne uma string aleatória de insertX
escrevendo randomValueFromArray(insertX)
.newStory
— :insertx:
, :inserty:
, e :insertz:
— com strings armazenadas em xItem
, yItem
, e zItem
. Existe um método de string específico que irá ajudá-lo aqui - em cada caso, faça a chamada para o método igual a newStory
,então cada vez que é chamado, newStory é igual a si mesmo, mas com substituições feitas. Assim, cada vez que o botão é pressionado, esses espaços reservados são substituídos por uma string boba aleatória. Como uma dica adicional, o método em questão substitui apenas a primeira ocorrência da subseqüência de caracteres encontrada, portanto, talvez seja necessário fazer uma das chamadas duas vezes.if
, adicione outra chamada de método de substituição de string para substituir o nome 'Bob' encontrado na string newStory
pela variável name
. Neste bloco estamos dizendo "Se um valor foi inserido na entrada de texto customName
, substitua Bob na história por esse nome personalizado ".if
, estamos verificando se o botão de opção uk
foi selecionado. Se assim for, converteremos os valores de peso e temperatura na história de libras e Fahrenheit em graus centígrados. O que você precisa fazer é o seguinte:
weight
, substitua 300 por um cálculo que converta 300 libras em pedras. Concatene ' stone'
no final do resultado da chamada geral Math.round()
.temperature
, substitua 94 por um cálculo que converta 94 graus Fahrenheit em graus centígrados. Concatene ' centigrade'
no resultado da chamada geral Math.round()
.temperature
, e '300 libras' com o conteúdo da variável weight
.textContent
da variável story
(que faz referência ao parágrafo) igual a newStory
.document.querySelector('html').style.backgroundColor = 'red';
Se você estiver seguindo esta avaliação como parte de um curso organizado, você está apto a entregar seu trabalho ao seu professor/mentor para avaliação. Se você é auto-didata, então você pode consultar o guia de marcação com bastante facilidade perguntando no tópico do Discurso da área de aprendizagem, ou no no canal #mdn IRC no IRC Mozilla. Tente realizar o exercício primeiro — não há nada a ganhar com a trapaça!
{{PreviousMenu("Learn/JavaScript/First_steps/Arrays", "Learn/JavaScript/First_steps")}}