Jogo de pedra, papel e tesoura
Crie um programa que permita que o usuário escolha entre pedra, papel e tesoura para jogar contra o computador. Determine o vencedor com base nas regras do jogo original.
Entrada de dados
A entrada de dados deve ser realizada com o comando prompt
.
Para saber mais sobre a entrada de dados com Prompt, acesso a seção Entrada de dados.
Geração de valores numéricos aleatórios
Em JavaScript, temos diversas funcionalidades implementadas e prontas para uso, como o objeto Math, que nos fornece uma série de funções matemáticas muito úteis. Neste exercício, por exemplo, você precisará gerar valores numéricos aleatórios.
Para isso, podemos utilizar o seguinte código JavaScript:
let valorAleatorio = Math.random() * 10;
A expressão Math.random() * 10 nos permite gerar valores aleatórios entre 0 e 10. Vale ressaltar que o valor gerado é decimal, ou seja, apresenta diversas casas decimais.
Para o jogo que você desenvolverá, o ideal é que os números gerados aleatoriamente sejam valores inteiros. O mais legal é que o objeto Math tem algumas funções capazes de "arredondar" valores numéricos para nós.
Math.ceil
e Math.floor
são métodos embutidos no objeto Math
que permitem arredondar números para cima (Math.ceil
) e para baixo (Math.floor
), respectivamente.
Math.ceil
: O métodoMath.ceil
(do inglês "ceiling" que significa teto) arredonda um número para o próximo número inteiro maior ou igual ao número fornecido. Em outras palavras, ele arredonda o número para cima. Se o número já for um inteiro, não haverá alteração. Por exemplo:console.log(Math.ceil(4.2)); // Saída: 5
console.log(Math.ceil(7.8)); // Saída: 8
console.log(Math.ceil(3)); // Saída: 3 (não há alteração, pois já é um inteiro)Math.floor
: O métodoMath.floor
(do inglês "floor" que significa chão) arredonda um número para o próximo número inteiro menor ou igual ao número fornecido. Em outras palavras, ele arredonda o número para baixo. Se o número já for um inteiro, não haverá alteração. Por exemplo:console.log(Math.floor(4.2)); // Saída: 4
console.log(Math.floor(7.8)); // Saída: 7
console.log(Math.floor(3)); // Saída: 3 (não há alteração, pois já é um inteiro)
Esses métodos são úteis em várias situações, como quando você precisa garantir que um número esteja arredondado para o próximo inteiro superior ou inferior, especialmente em cálculos matemáticos ou ao exibir resultados em um formato mais legível.
Agora, com essas dicas, você consegue gerar valores aleatórios entre 0 e 2 (incluso)?
O objeto Math tem diversas outras funções além das aqui apresentadas. Para saber mais e conhecer outras funções disponíveis, acesse https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Math