(Brincando com Aleatoriadade) Tarot Randomico
Publicado por Samuka (última atualização em 08/05/2012)
[ Hits: 7.614 ]
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
Automatizador de instalação para Arch Linux
Gzipar arquivos com determinadas extensões
Download automático da 'Imagem do Dia' da NASA
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
Teste de CHAT para o futuro ? (0)
Ajudante para criar dicas e artigos no VOL (29)
ATUALIZAÇÃO DO KERNEL LINUX (2)
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









