![]() | Números Aleatórios e Escolher |
Quando se rola um dado, não se pode ter a certeza de que número vai sair. Tanto pode ser um, como seis, como cinco. Este tipo de número chama-se um número aleatório.
O Babylscript tem um comando chamado "aleatório" para a criar números aleatórios. Com o comando aleatório, tens de dar um número entre parênteses. Em seguida, o Babylscript vai dar-te um número aleatório entre 1 e o número que tu escreveste antes.
Na Área de Programa do lado esquerdo, escreve "mostrar (aleatório (6));" Quando clicas no botão Executar, aparece um número? Se executares o programa várias vezes, deves obter vários números diferentes.
Vamos escrever um programa para um concurso da televisão. Neste concurso, há três portas: uma porta azul, uma porta vermelha e uma porta roxa. Há um prémio por detrás de uma das portas. Podes optar por abrir uma porta. Se o prémio lá estiver, ganhas!
Primeiro, vamos numerar as portas. A porta azul é a porta 1. A porta vermelha é porta 2. A porta roxa é porta 3. Depois, podemos usar aleatório(3) para escolher qual das portas tem o prémio. Não te esqueças de que aleatório(3) vai encontrar um número entre 1 e 3, e que cada porta tem o número 1, 2 ou 3.
O programa deve, então, perguntar qual das portas queres abrir: a porta vermelha, a porta azul, ou a porta roxa. Vamos usar um comando especial chamado "escolher". Com o comando escolher, primeiro escreves uma cadeia com algumas instruções. Depois, colocas um ponto e vírgula e mais algumas cadeias com coisas diferentes que se possam escolher. Se escolheres a primeira cadeia, escolher vai-te responder com 1. Se escolheres a segunda cadeia, escolher vai-te responder com 2. Se escolheres a terceira cadeia, escolher vai-te responder com 3. E assim por diante.
Desta forma, o programa vai-te pedir para escolheres uma porta. Metemos o número escolhido numa variável chamada "tu". Se "tu" tiver 1, quer dizer que é a porta azul. Se "tu" tiver 2, quer dizer que é a porta vermelha. Se "tu" tiver 3, quer dizer que é a porta roxa.
No final, o programa vê se a porta escolhida é a que tem o prémio por detrás. Se abrires a porta com prémio, o programa diz-te qual é o prémio. Experimenta o programa.
Agora já sabes o suficiente para escrever um jogo mais complicado como o da Pedra, Papel e Tesoura. Neste jogo, tu e o computador devem escolher a pedra, o papel ou a tesoura. Se a tua escolha bater a escolha do computador, tu ganhas.
O programa deve começar por pedir-te para escolheres pedra, papel ou tesoura.
Depois, o computador deve escolher pedra, papel ou tesoura. Ele utiliza o comando aleatório() para encontrar um número entre 1 e 3, e coloca esse número na variável "comp". Em seguida, ele diz-te o que escolheu. Lembra-te de que 1 quer dizer pedra, 2 significa papel e 3 significa tesoura.
No fim, o programa precisa descobrir quem ganhou. Ele olha para a tua escolha e para a escolha do computador, para ver quem escolheu melhor. Se "comp" tem o valor 3 e "tu" também tem 3, então tu e o computador ambos escolheram tesoura. Isso significa que ninguém ganhou, e o programa irá mostrar a palavra empate. Se "comp" tem o valor 1 e "tu" tem 2, então o computador escolheu pedra e tu escolheste papel. Isso significa que tu ganhaste.
Consegues mudar o programa para terem de jogar três vezes, enquanto o computador regista os resultados?