terceiro desafio
This commit is contained in:
parent
fc43e3d4d1
commit
1c89536c2f
1 changed files with 81 additions and 0 deletions
81
desafios/03/README.org
Normal file
81
desafios/03/README.org
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
#+title: Shell Script na Prática
|
||||||
|
#+author: Blau Araujo
|
||||||
|
#+email: blau@debxp.org
|
||||||
|
|
||||||
|
|
||||||
|
* Desafio 3: Jogo da adivinhação
|
||||||
|
|
||||||
|
** Objetivos
|
||||||
|
|
||||||
|
- Estrutura de decisão
|
||||||
|
- Números aleatórios
|
||||||
|
- Operação de módulo (resto)
|
||||||
|
- Repetições condicionais
|
||||||
|
- Execução de comandos em paralelo
|
||||||
|
|
||||||
|
** Enunciado
|
||||||
|
|
||||||
|
No jogo da adivinhação, a pessoa jogadora tem que adivinhar um número oculto
|
||||||
|
entre 0 e 100 que é gerado aleatoriamente pelo programa. A mensagem inicial
|
||||||
|
deve ser:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
JOGO DA ADIVINHAÇÃO
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
O /prompt/ da entrada de cada palpite deve ser:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Digite um número entre 0 e 100: <a digitação é feita aqui>
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Se o palpite for menor do que o número oculto, o programa deve imprimir:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Baixo demais.
|
||||||
|
Digite um número entre 0 e 100: <a digitação é feita aqui>
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Se for maior, a mensagem será:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Alto demais.
|
||||||
|
Digite um número entre 0 e 100: <a digitação é feita aqui>
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Acertando, o programa termina imprimindo a mensagem:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Parabéns! Você acertou com <n> tentativas!
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Onde ~<n>~ deve ser o número de palpites dados.
|
||||||
|
|
||||||
|
** Evolução 1
|
||||||
|
|
||||||
|
Em vez de terminar diretamente, o programa deve perguntar:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Quer jogar novamente (s/N)?
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Onde a opção padrão, teclando ~[Enter]~, será ~N~ (de "não"). Caso seja teclado
|
||||||
|
~s~ (maiúsculo ou minúsculo), o terminal deve ser limpo.
|
||||||
|
|
||||||
|
** Evolução 2
|
||||||
|
|
||||||
|
A cada /prompt/ de palpite, se for digitado ~q~ (maiúsculo ou minúsculo),
|
||||||
|
o jogo deve terminar com a mensagem:
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
Que vergonha... Vaza!
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
** Evolução 3
|
||||||
|
|
||||||
|
Ao imprimir a mensagem de acerto, um pequeno áudio de vitória deve ser
|
||||||
|
tocado.
|
||||||
|
|
||||||
|
Ao imprimir a provocação final, um áudio de galinhas cacarejando deve
|
||||||
|
ser tocado. Esse mesmo áudio deve ser tocado se a pessoa jogadora decidir
|
||||||
|
não jogar novamente.
|
Loading…
Add table
Reference in a new issue