82 lines
1.8 KiB
Org Mode
82 lines
1.8 KiB
Org Mode
|
#+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.
|