[Desafio do mês] Jogando Mario Bros em Shell Script

- por Sergio Prado

Categorias: Desafios Tags: ,

O desafio deste mês é sobre o desenvolvimento de shell scripts.

Shell script é uma linguagem de script para o shell. Muitas pessoas acreditam que não dá pra fazer muita coisa com um shell script. Mas dá sim, incluindo jogos!

Tem um trabalho bem bacana desenvolvido por um pessoal da Fatec de Carapicuiba, onde eles escreveram uma fase inteira do Mario Bros em shell script. Isso mesmo, com música e tudo!

O código-fonte do projeto está disponível no Github e pode ser baixado e executado conforme abaixo:

$ git clone https://github.com/Doriedson/mario-shellscript
$ cd mario-shellscript/
$ chmod +x mario.sh
$ ./mario.sh

Seu desafio é alterar o shell script para implementar duas novas funcionalidades:

  1. Ao pressionar CTRL-C durante o jogo, a execução do script é encerrada, porém ele deixa o terminal desconfigurado e a música continua tocando. Seu objetivo é implementar o tratamento do sinal enviado pelo CTRL-C para restaurar a configuração do terminal e parar a música do jogo, caso ela esteja tocando.
  2. Acho uma injustiça não poder jogar com o Luigi! Seu objetivo é adicionar o Luigi como um personagem jogável. Ao executar o script, o jogador poderá selecionar o personagem, passando seu nome como parâmetro, “./mario.sh mario” para jogar com o Mário e “./mario.sh luigi” para jogar com o Luigi.

O participante do desafio deverá enviar o script alterado (mario.sh) para o e-mail contato@sergioprado.org com o assunto “[Desafio de Junho] Jogando Mario em Shell Script“.

Aceitarei submissões até o dia 07/07 e o resultado será divulgado na segunda semana de julho.

Todos os participantes que implementarem um dos dois itens acima ganharão 5 pontos no ranking de desafios do blog. Os participantes que conseguirem implementar os dois itens ganharão 10 pontos no ranking, além de concorrer a um módulo WiFi ESP8266!

Um abraço e boa sorte!

Sergio Prado

Sem Comentários

Nenhum comentário até agora... é a sua chance de ser o primeiro a comentar!

Faça um Comentário

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.