aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorepoch <epoch@thebackupbox.net>2020-04-12 23:59:27 -0500
committerepoch <epoch@thebackupbox.net>2020-04-12 23:59:27 -0500
commit22ccae8d0d34a7a38f309c700f9008042d5ee938 (patch)
tree73018c79b10d13897c748f6bd64c647a9e4dcfa5 /share
parentebc7381301c06c31933d11ff3e2b68ca005aa3e7 (diff)
downloadhackvr-22ccae8d0d34a7a38f309c700f9008042d5ee938.tar.gz
hackvr-22ccae8d0d34a7a38f309c700f9008042d5ee938.zip
rewrote tic-tac-toe a bit until it worked again
Diffstat (limited to 'share')
-rwxr-xr-xshare/hackvr/examples/tictactoe/game.sh52
1 files changed, 28 insertions, 24 deletions
diff --git a/share/hackvr/examples/tictactoe/game.sh b/share/hackvr/examples/tictactoe/game.sh
index b4187dd..92192cc 100755
--- a/share/hackvr/examples/tictactoe/game.sh
+++ b/share/hackvr/examples/tictactoe/game.sh
@@ -4,30 +4,34 @@ BOARDFILE=board_orig
cat camera.pos $BOARDFILE
echo "go. player: $turn" >&2
grep --line-buffered action \
- | while read user derp group;do
-# echo FUCK >&2
- if grep "_reset" <<<$group >/dev/null;then
- printf "%s deleteallexcept .\n" "$user"
- cat $BOARDFILE
- continue
- elif grep "_exit" <<<$group >/dev/null;then #this doesn't work in local games. :/
- exit 0
- elif grep "_" <<<$group >/dev/null;then
-# xmessage "CUT IT OUT"
- echo CUT IT OUT > /dev/stderr
- continue
- else
- turn=$(expr \( $turn + 1 \) % 2)
- #printf "# turn: %d\n" "$turn" > /dev/stderr
- printf "$user deletegroup %s\n" "$group"
- #printf "$user deletegroup %s\n" "$group" > /dev/stderr
+ | while read user action group;do
+ if [ $action = "action" ];then
+ if grep "_reset" <<<$group >/dev/null;then
+ printf "%s deleteallexcept %s\n" "$user" "$user"
+ cat $BOARDFILE
+ continue
+ elif grep "_exit" <<<$group >/dev/null;then
+ #if a program wants to exit, it should just exit.
+ #the program may have been ran by some other program.
+ #maybe just filter out server-side quit messages for your own username?
+ #any user quit will cause any hackvr to quit?
+ #printf "%s quit\n" "$user"
+ exit 0
+ elif grep "_" <<<$group >/dev/null;then
+ echo CUT IT OUT > /dev/stderr
+ continue
+ elif grep "^board" <<<$group >/dev/null;then
+ turn=$(expr \( $turn + 1 \) % 2)
+ #printf "# turn: %d\n" "$turn" > /dev/stderr
+ printf "%s deletegroup %s\n" "$user" "$group"
+ #printf "$user deletegroup %s\n" "$group" > /dev/stderr
#need to get the first point of the group clicked and translate the new shape by that much
- translatex="$(grep "$group" $BOARDFILE | grep -v '^#' | tr -s ' ' | cut '-d ' -f5)"
- translatey="$(grep "$group" $BOARDFILE | grep -v '^#' | tr -s ' ' | cut '-d ' -f6)"
- cat "marker$turn" | offsetshape.sh $translatex "$(expr "$translatey" - 2 )" 0
-# printf "%s move %s %s 2\n" "_marker" "$(expr "$translatex")" "$(expr "$translatey" - 2 )"
- #printf "%s move %s %s 2\n" "_marker" "$(expr "$translatex")" "$(expr "$translatey" - 2 )" >/dev/stderr
- grep "$group" $BOARDFILE | sed "s/$group/_marker2/g" #this is to make it still show the square around it.
- printf "%s renamegroup _marker _marker%s%s\n" "$user" "$(date +%s)" "$RANDOM"
+ translatex="$(grep "$group" $BOARDFILE | grep -v '^#' | tr -s ' ' | cut '-d ' -f5)"
+ translatey="$(grep "$group" $BOARDFILE | grep -v '^#' | tr -s ' ' | cut '-d ' -f6)"
+ cat "marker$turn" | offsetshape.sh $translatex "$(expr "$translatey" - 2 )" 0
+ grep "$group" $BOARDFILE | sed "s/$group/_marked/g"
+ else
+ xmessage "what? $group"
+ fi
fi
done