/* this forum needs more zest and i have just the cure.. */
coding games.*
quick, what language? what does it do?
<code>
print_help() {
printf "usage: that would be cheating now wouldn't it?"
exit 1 }
getYOUR() {
date '+%H' }
getMINE() {
date '+%M' }
getSMURFY_MAN() {
date '+%S' }
KLINGON() {
while true; do
printf '\a'
sleep 3
done
}
### 'main' function ###
if [ "$1" == "-h" ]; then
print_help
fi
if [ "$1" == "-r" ]; then
isrel=1
shift
else
isrel=0
fi
if [ "$#" -ne "2" ]; then
print_help
fi
HOUR=$1
MIN=$2
let "ALM=$HOUR*3600 + $MIN*60"
let "DAY=24*3600"
if [ "$isrel" == "1" ]; then
let "waitsecs=$ALM"
else
let "now=($(gethour)*60 + $(getmin))*60 + $(getsec)"
let "waitsecs=(($DAY - $now) + $ALM) % $DAY"
fi
if (( waitsecs < 0 )); then
echo "You cannot KLINGON in the past!"
exit 1
fi
let "alm_h=($waitsecs/3600)%24"
let "alm_m=($waitsecs/60)%60"
let "alm_s=($waitsecs)%60"
printf "BLURP in: %02d:%02d:%02d " "$alm_h" "$alm_m" "$alm_s"
printf " (%d YERMOM from now)\n" "$waitsecs"
sleep $waitsecs
if [ "$?" == "0" ]; then
KLINGON&
read -n 1 -s
kill $!
fi
</code>
* all formatting has been stripped (thanks DU for not allowing <code> tags), most of the if-then statements were also stripped by DU, and arbitrary variable and function names have been changed (by me, for fun).
also, the usage function and all comments were removed (also for fun), and last but most importantly..
this would NOT run so don't even TRY it but otherwise it WAS working code and besides..
it's fun.
NYC_SKP
(68,644 posts)Phillip McCleod
(1,837 posts)hook. exit stage..
WRONG.
Phillip McCleod
(1,837 posts)rules of the game, partial credit means you get a HINT. the 1st line is missing. here's a hint to what it said:
'i start with crunch and end with not a bang, but a _____'
ChromeFoundry
(3,270 posts)Phillip McCleod
(1,837 posts)since ksh scripts are pretty much indistinguishable from bash i'm gonna have to give you this one. it's a bash script.
that was the easy part.. now.. what does it do?
ChromeFoundry
(3,270 posts)Accepts up to two numeric inputs: Hours and Minutes..
It then calculates the the total number of seconds specified by the input parameters.
Does a little date/time validation.
Sleeps for the calculated number of seconds.
Reads a single character from standard-input.
Then kills itself.
/*
Maybe I'm way off.. it's been a lot of years since I've done anything notable with UNIX.
I think I could probably rewrite that in PowerShell in less than 70 characters
*/
Phillip McCleod
(1,837 posts)the KLINGON function has a line that reads:
printf "\a"
try it in your *SH (tested in BASH)
if nothing interesting happens, make sure your terminal program allows system beeps ('bell on').
it's an utterly simplistic shell-based alarm clock program that will let you set the alarm in relative or absolute clock time. i wrote it one night at a motel when i had a plane to catch and too much 'fun' beforehand. i cleaned it a bit, later, but not much.
once the alarm starts going off, it waits for any keypress to stop it. otherwise your computer will beep into eternity..
ChromeFoundry
(3,270 posts)Too drunk to wake up, but - Never too drunk to code!!!!
>> >> >> >> >> >> >> >> write-some-code >>
Phillip McCleod
(1,837 posts)Response to Phillip McCleod (Original post)
Dash87 This message was self-deleted by its author.