Algoritmo de Abraão - v.0.2

Publicado por Flávio Augusto 05/12/2006

[ Hits: 5.276 ]

Homepage: http://twitter.com/facmachado

Download justice.sh




Nova versão do jogo bíblico que eu havia feito anteriormente em Python.

  



Esconder código-fonte

#!/bin/bash

# JOGO BIBLICO - Algoritmo de Abrao - Versao 0.2
# Os creditos estao nas mensagens
# Software Livre isento de licenca, desde que 
#   respeitada a propriedade autoral

# Inicio

# Mensagens para as caixas de dialogo

# Mensagem 0: Tela de abertura
mensagem0='JOGO BÍBLICO
Algoritmo de Abraão (Gênesis 18:24-32)

Versão 0.2
Por Flávio Augusto (flavio20xx@gmail.com)

Vamos começar?'

# Mensagem 1: Ajuda
mensagem1='Neste jogo você deve convencer a Deus
a não destruir Sodoma e Gomorra (Gênesis 18:24-32).
Algo um tanto quanto muito difícil, mas vamos lá:

Na inputbox "Eu", digite:
"Senhor, e se houver [quantidade] justos na cidade?"

Lembre-se:
1) Não exagere na quantidade;
2) Digite certo para acabar logo;
3) No final você verá sua pontuação.

Boa sorte!'

# Mensagem 2: Fim do jogo
mensagem2='
Deus: "Anjos, tirem Ló e sua família de lá."

Anjos: "Sim, Senhor!"
'

# Mensagem 3: Sobre
mensagem3='Desenvolvido por:
FLÁVIO AUGUSTO CARDOSO MACHADO
(flavio20xx@gmail.com)
Goiânia, Novembro de 2006.

A versão anterior deste jogo foi escrita em Python
para modo texto. Procure o script "justice.py"
no site Viva o Linux (www.vivaolinux.com.br).

Este programa é de código-fonte aberto, mas
não se esqueça de dar ao autor os devidos créditos
e a Deus toda honra e toda glória.

"JESUS TE AMA. USE LINUX!"'

# Tela de abertura
Xdialog --title "justice.sh - v.0.2" --help "$mensagem1" \
  --yesno "$mensagem0" 0 0
[ $? = 1 ] && exit 0

# O jogo

# Iniciando o jogo
score=0
justos=50
while [ "$justos" -ge 10 ]; do

  # Aqui eu faco a pregunta
  qtde=$( Xdialog --no-cancel --title "Digite logo abaixo" --inputbox "Eu:" 8 40 2>&1 | sed -e 's/[^0-9]//g' )
  [ "$qtde" = "" ] && qtde=0
  if [ "$qtde" -eq "$justos" ]; then
  
    # A resposta de Deus
    Xdialog \
      --title "DEUS" \
      --msgbox "Não destruirei a cidade por amor dos $justos justos." \
      0 0
    score=$((score+justos))
      
    # Aqui fica o calculo para a proxima resposta correta
    [ "$justos" -lt 45 ] && justos=$((justos-5))
    justos=$((justos-5))
  else
  
    # Jogo do tipo "quente ou frio"
    if [ "$qtde" -gt "$justos" ] && [ "$qtde" -le 50 ]; then
      Xdialog --title "DEUS" \
        --msgbox "Você não deveria pedir por menos justos?" 0 0
      score=$((score-justos))
    fi
    if [ "$qtde" -lt "$justos" ] && [ "$qtde" -ge 10 ]; then
      Xdialog --title "DEUS" \
        --msgbox "Você não gostaria de pedir por mais justos?" 0 0
      score=$((score+justos))
    fi
   
    # Se digitar fora da faixa permitida, o jogo comeca de novo   
    if [ "$qtde" -gt 50 ] || [ "$qtde" -lt 10 ]; then
      Xdialog --title "DEUS" \
        --msgbox "Acaso vou destruir as cidades sem consultar Abraão?" \
        0 0
      justos=50
      score=$((score-justos))
    fi
  fi
done

# Game over!

# Encerrando o jogo (com opcao de comecar de novo)
Xdialog --title "GAME OVER - $score pontos" --msgbox "$mensagem2" 0 0
Xdialog --title "Reiniciar jogo" \
  --help "$mensagem3" --default-no --yesno "Deseja reiniciar o jogo?" 0 0
[ $? = 0 ] && ./justice.sh

# Fim

Scripts recomendados

Validar e-mails em arquivo CSV

Calculadora (Free Pascal)

genpass - Simple Password Generator

Remoção de arquivos pela data

Criar pacote Debian o firefox de br.mozdev.org


  

Comentários
[1] Comentário enviado por yetlinux em 06/12/2006 - 02:58h

Bom, mas em se tratando de um shell script (e com Xdialog), era bom verificar se há o Dialog instalado, porque há distribuições em que o Dialog não é padrão.

Os scripts de ícones mágicos do Kurumin costumavam verificar o Dialog da instalação, se o dialog (via terminal, com Curses), se o Xdialog (o seu) ou ainda o gdialog.

Páginal do XDialog: http://xdialog.dyns.net/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts