From 22ccae8d0d34a7a38f309c700f9008042d5ee938 Mon Sep 17 00:00:00 2001 From: epoch Date: Sun, 12 Apr 2020 23:59:27 -0500 Subject: rewrote tic-tac-toe a bit until it worked again --- share/hackvr/examples/tictactoe/game.sh | 52 ++++++++++++++++++--------------- 1 file 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 -- cgit v1.2.3