#+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: #+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: #+end_example Se for maior, a mensagem será: #+begin_example Alto demais. Digite um número entre 0 e 100: #+end_example Acertando, o programa termina imprimindo a mensagem: #+begin_example Parabéns! Você acertou com tentativas! #+end_example Onde ~~ 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.