ref: 470f19bc73180395683aa1e14c96ea3c2d3a828f
dir: /rc/spectate/
#!/bin/rc rfork e flagfmt='r:transcribe, h:help' args='gamedir' eval `{aux/getflags $*} game=$1 player=() lstat=() lmsg=() uppid=() if(~ $help 1 || ! ~ $#* 1) { aux/usage exit usage } board=$game/white ctl=$game/ctl fn sighup sigint sigterm{ exit } fn upboard { player=`{cat $ctl | grep turn | sed 's/^([a-z]*)''.*/\1/g'} board=$game/$player } fn prtboard { if(~ $#transcribe 0) { cat $board } if not { cat $board | \ sed 's/♙/p/g' | sed 's/♟/q/g' | \ sed 's/♖/ᴙ/g' | sed 's/♜/ᴚ/g' | \ sed 's/♘/N/g' | sed 's/♞/ᴎ/g' | \ sed 's/♗/ᴇ/g' | sed 's/♝/ᴈ/g' | \ sed 's/♕/S/g' | sed 's/♛/Z/g' | \ sed 's/♔/ᴍ/g' | sed 's/♚/ᴡ/g' } } fn status { gst=`{cat $ctl | sed 1q} msg=`{cat $ctl | sed 2q | tail -n 1} wtm=`{cat $ctl | sed 3q | tail -n 1 | awk '{print $3}'} wtb=`{cat $ctl | sed 4q | tail -n 1 | awk '{print $3}'} echo $msg ' W' $wtm 'B' $wtb } sleep 0.5 while() { if(! test -f $ctl) { echo 'ctl file' $ctl 'not found' exit } cstat=`{cat $ctl | sed 1q} msg=`{cat $ctl | sed 2q | tail -n 1} if(! ~ $"msg $"lmsg) { lmsg=$msg upboard prtboard status } if(! ~ $"cstat $"lstat) { lstat=$cstat echo '!!!' $cstat } sleep 0.5 }