summaryrefslogtreecommitdiff
path: root/examples/tictactoe/game.sh
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tictactoe/game.sh')
-rwxr-xr-xexamples/tictactoe/game.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/tictactoe/game.sh b/examples/tictactoe/game.sh
new file mode 100755
index 0000000..e10b452
--- /dev/null
+++ b/examples/tictactoe/game.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+turn=$( expr $RANDOM % 2)
+cat camera.pos
+echo "go. player: $turn" >&2
+stdbuf -oL uniq \
+ | grep --line-buffered action \
+ | stdbuf -oL cut '-d ' -f1,3 | while read user group;do
+ if grep "_reset" <<<$group >/dev/null;then
+ printf "%s deleteallexcept .\n" "$user"
+ cat board
+ continue
+ 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
+#need to get the first point of the group clicked and translate the new shape by that much
+ translatex="$(grep "$group" board | grep -v '^#' | tr -s ' ' | cut '-d ' -f5)"
+ translatey="$(grep "$group" board | grep -v '^#' | tr -s ' ' | cut '-d ' -f6)"
+ cat "marker$turn"
+ 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" board | 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"
+ fi
+ done