2010-05-23

 

orzeł czy reszka? kawa czy herbata? mars, 3bit czy kitkat?

Popchnięty przez niedawne zdarzenie, napisałem dziś wieczorem skrypt w Pythonie służący do podejmowania decyzji oraz mieszania zbioru elementów (tryb: shuffle). Pisany był z myślą o użyciu w konsoli.
Skrypt do ściągnięcia: decide.py
Instalacja opisana niżej.

Przykłady wykorzystania:

Jeżeli nie wiesz czy 'tak' czy 'nie', wystarczy odpalić:
$ decide
a program zwróci 'yes' albo 'no'.
Jak nie masz pod ręką kości do gry, to:
$ decide 6
zwróci liczbę od 1 do 6, a jeżeli grasz w Monopol i potrzebujesz dwóch kości:
$ decide -c 2 6
Do wybrania jednego batona spośród Marsa, 3Bita i Twixa wystarczy:
$ decide Mars 3Bit Twix
W przypadku gdy chcesz ustalić kolejność jedzenia obiadu, pomocnym jest tryb shuffle:
$ decide -s ziemniaki groszek marchewka mięso
Istnieje też możliwość pobierania elementów z pliku. Powiedzmy, że w pliku 'pozycje.txt' trzymam listę pozycji seksualnych - żeby którąś wybrać wystarczy:
$ decide -i pozycje.txt
Można to rozwinąć i napisać w bashu krótki skrypt:
while [ 1 ]; do
  aplay gong.wav
  say `decide -i pozycje.txt`
  sleep 180
done

Jeżeli 'say' to syntezator czytający podany tekst, a 'gong.wav' to odgłos podobny do tego, to owy skrypt powoduje, że co 3 minuty będzie rozbrzmiewał gong, po czym syntezator przeczyta losową pozycję z pliku 'pozycje.txt'.

Program potrafi dużo więcej - lista zastosowań jest za dużo na tego bloga!
Praktycznie wszystkie opcje, są opisane po podaniu argumentu --help, a dodatkowe opcje dotyczące generatora liczb losowanych są wyświetlone pod --help-random.

Instalacja polega na dodaniu praw wykonania i ewentualnie wrzuceniu gdzieś na ścieżkę linków symbolicznych do 'decide.py'; Np:

$ chmod +x decide.py
$ ln -s /path/to/decide.py ~/bin/decide ~/bin/shuffle


Nie mam jeszcze do tego bug trackera, przed chwilą to skrobnąłem. Wszelkie problemy/sugestie proszę zostawiać w komentarzach.

Labels:


Starsze posty dostępne w archiwum

This page is powered by Blogger. Isn't yours?