(Brincando com Aleatoriadade) Tarot Randomico
Publicado por Samuka (última atualização em 08/05/2012)
[ Hits: 7.155 ]
Fala Galera,
Sou velho por aqui, mas novo de contribuições.
Como sou APAIXONADO por ShellScripts !
Vou postar minha singela contribuição, falando de aleatoriedade
em um singelo exemplo pratico (Puxando Cartas de Tarot)
Futuramente crio um artigo, para ficar fácil nos troubleshoots
do Scripteiros de Plantão na "Pesquisas Google".
/* Me empolguei assistindo Touch! resolvi estudar probabilidades em Bash.
*
* Eu Sei, é nerdisse e loucura, Mas é ótimo para treinar aplicações
* de probabilidade em bash, e futuramente usar em programas complexos!
*/
Abraço,
Samuka
#!/bin/bash # # Desenvolvido por: Samuel Maciel Sampaio [2012.05.01] # Contato: <samukasmk@gmail.com> # Aka: SamukaSmk # Script: Taro (Aleatório) # Objetivo: Treinar aplicações de probabilidade em bash e futuramente # usar em programas complexos, em um singelo exemplo pratico # (Puxando Cartas de Tarot). # <Definições> # Total de Cartas: 22 `${#CARTAS[*]}` ##### Função (Define_CartasNoMonte) : ##### - Define As 22 Cartas do Tarot (Arcano Maior), dentro do Array: ${Define_CartasNoMonte} function Define_CartasNoMonte () { CARTAS=("0. O Louco" "1. O Mago" "2. A Papisa" "3. A Imperatriz" "4. O Imperador" "5. O Papa" "6. Enamorado" "7. O Carro" "8. A Justiça" "9. O Eremita" "10. As Rodas da Fortuna" "11. A Força" "12. O Pendurado" "13. A Morte" "14. Temperança" "15. O Diabo" "16. A Torre" "17. A Estrela" "18. A Lua" "19. O Sol" "20. O Julgamento" "21. O Mundo") } Define_CartasNoMonte ##### Função (Puxa_CartaNoMonte) que: ##### - Conta a quantidade de objetos do Array: ${Define_CartasNoMonte} ##### - Define um Valor Aleatório, (Dentro do Range proposto, com a quantidade ##### de cartas contadas do Array ${Define_CartasNoMonte}. function Puxa_CartaNoMonte () { echo ${CARTAS[ $(( $RANDOM % ${#CARTAS[*]} )) ]} } ##### Função (Coloca_CartasNaMesa) ##### Estudei um pouquim, e escolhi o método [Tiragem em Cruz] ##### Como a sequencia de `Tiragem de Cartas em Cruz` é sempre: ##### [3º] ##### [1º] [5º] [2º] ##### [4º] ##### Para não alterar a sequencia das cartas entre a probabilidade. ##### - Pego estaticamente os valores em variaveis (uma-a-uma) Carta_1, Carta_2, ... ##### - Printo na Tela Em Forma de Cruz. function Coloca_CartasNaMesa () { echo "Mentalize Tranquilamente Seu Nome Completo Por 5 vezes..." echo "Em seguida, aperte qualque tecla, para puxar as cartas na mesa." Carta_1=`Puxa_CartaNoMonte` Carta_2=`Puxa_CartaNoMonte` Carta_3=`Puxa_CartaNoMonte` Carta_4=`Puxa_CartaNoMonte` Carta_5=`Puxa_CartaNoMonte` read Nada echo -e "\t\t[$Carta_3]" echo -e "[$Carta_1]\t[$Carta_5]\t[$Carta_2]" echo -e "\t\t[$Carta_4]" echo "Observação: Conceito meramente explicativo, á aplicações de probabilidades !" echo "Ate Mais !" echo "SamukaSmk" } # Por enquanto é Só! # Grande Abraço, # SamukaSmk
Script de monitoramento de host por icmp (ping )
Carrega o VNC em uma tela do X11 separada e com mouse para canhotos
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
A coisa universal é muito mais ampla do que cê imagina (12)
Não consigo atualizar para LinuxMint 22 com o Mintupdate (3)
Vc tem um projeto opensource? link? (3)
Linux Mint - Instalação do Ocomon 6x e suas dependências (1)