summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xshare/hackvr/examples/chess/board.sh28
-rwxr-xr-xshare/hackvr/examples/chess/gnuchess-to-hackvr.sh5
-rwxr-xr-xshare/hackvr/examples/chess/run3
3 files changed, 26 insertions, 10 deletions
diff --git a/share/hackvr/examples/chess/board.sh b/share/hackvr/examples/chess/board.sh
index 5848c98..dc3fb3b 100755
--- a/share/hackvr/examples/chess/board.sh
+++ b/share/hackvr/examples/chess/board.sh
@@ -1,16 +1,29 @@
#!/usr/bin/env bash
+e=$1 #elevation of board
width=8
height=8
cols="a b c d e f g h"
+printf "junk set camera.r.x -45\n"
+
for x in $(seq 1 $width);do
for y in $(seq 1 $height);do
color=$[((($y % 2) + ($x % 2))%2)+16]
### board is on the wall. draw in x and y.
-# printf "%s%s addshape %s 4 %s %s 0 %s %s 0 %s %s 0 %s %s 0\n" $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color $x $y $[x+1] $y $[x+1] $[y+1] $x $[y+1]
+# printf "%s%s addshape %s 4 %s %s %s %s %s %s %s %s %s %s %s %s\n" \
+# $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color \
+# $x $y $e \
+# $[x+1] $y $e \
+# $[x+1] $[y+1] $e \
+# $x $[y+1] $e
### board is on floor. draw in x and z.
- printf "%s%s addshape %s 4 %s 0 %s %s 0 %s %s 0 %s %s 0 %s\n" $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color $x $y $[x+1] $y $[x+1] $[y+1] $x $[y+1]
+ printf "%s%s addshape %s 4 %s %s %s %s %s %s %s %s %s %s %s %s\n" \
+ $(printf "%s\n" "$cols" | cut '-d ' -f$x) $y $color \
+ $x $e $y \
+ $[x+1] $e $y \
+ $[x+1] $e $[y+1] \
+ $x $e $[y+1]
done
done
@@ -25,16 +38,17 @@ for x in $(seq $width);do
locat="$(printf "%s\n" "$cols" | cut '-d ' "-f$x")$y"
cat "./pieces/pawn" | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g'
### board is on wall. use x and y.
-# printf "piece_%s move %s %s 0\n" "$locat" "$x" "$y"
+# printf "piece_%s move %s %s %s\n" "$locat" "$x" "$y" "$e"
### board is on floor. use x and z.
- printf "piece_%s move %s 0 %s\n" "$locat" "$x" "$y"
+ printf "piece_%s move %s %s %s\n" "$locat" "$x" "$e" "$y"
done
for y in 1 8;do
locat="$(printf "%s\n" "$cols" | cut '-d ' "-f$x")$y"
- cat "./pieces/$(printf "%s\n" "$row1" | cut '-d ' "-f$x")" | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g'
+ cat "./pieces/$(printf "%s\n" "$row1" | cut '-d ' "-f$x")" \
+ | sed 's/^[^ ][^ ]* addshape [0-9][0-9]* /piece_'"${locat}"' addshape '"$(printf "%s\n" "$color" | cut '-d ' "-f$y")"' /g'
### board is on wall. use x and y.
-# printf "piece_%s move %s %s 0\n" "$locat" "$x" "$y"
+# printf "piece_%s move %s %s %s\n" "$locat" "$x" "$y" "$e"
### board is on floor. use x and z.
- printf "piece_%s move %s 0 %s\n" "$locat" "$x" "$y"
+ printf "piece_%s move %s %s %s\n" "$locat" "$x" "$e" "$y"
done
done
diff --git a/share/hackvr/examples/chess/gnuchess-to-hackvr.sh b/share/hackvr/examples/chess/gnuchess-to-hackvr.sh
index 0b94a87..841389b 100755
--- a/share/hackvr/examples/chess/gnuchess-to-hackvr.sh
+++ b/share/hackvr/examples/chess/gnuchess-to-hackvr.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+e=$1
tee /dev/stderr | while read first second third;do
if [ "_$first" = "_feature" ];then
printf "# just gnuchess saying what features it has: %s %s %s\n" "$first" "$second" "$third" >&2
@@ -17,9 +18,9 @@ tee /dev/stderr | while read first second third;do
y=$(printf "%s\n" "$to" | fold -w1 | tail -n1)
magic=$(printf "%s\n" "$move" | fold -w1 | tail -n+5 | tr -d '\n')
### if the board is on the wall we need to use x and y
-# printf "piece_%s move %s %s 0\n" "$from" "$x" "$y" | tee /dev/stderr
+# printf "piece_%s move %s %s %s\n" "$from" "$x" "$y" "$e" | tee /dev/stderr
### the board is on the floor atm. use x and z
- printf "piece_%s move %s 0 %s\n" "$from" "$x" "$y" | tee /dev/stderr
+ printf "piece_%s move %s %s %s\n" "$from" "$x" "$e" "$y" | tee /dev/stderr
printf "#delete the old piece_%s group\n"
printf "epoch deletegroup piece_%s\n" "$to"
diff --git a/share/hackvr/examples/chess/run b/share/hackvr/examples/chess/run
index 0fdfdf3..1168044 100755
--- a/share/hackvr/examples/chess/run
+++ b/share/hackvr/examples/chess/run
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
+export elevation=0
mknod p p
-stdbuf -oL cat camera.pos <(./board.sh) <(cat p | ./gnuchess-to-hackvr.sh) | hackvr "$USER" | ./hackvr-to-gnuchess.sh | gnuchess -x > p
+stdbuf -oL cat camera.pos <(./board.sh $elevation) <(cat p | ./gnuchess-to-hackvr.sh $elevation) | hackvr "$USER" | ./hackvr-to-gnuchess.sh | gnuchess -x > p
rm p