diff options
Diffstat (limited to 'share/hackvr')
-rwxr-xr-x | share/hackvr/examples/chess/board.sh | 28 | ||||
-rwxr-xr-x | share/hackvr/examples/chess/gnuchess-to-hackvr.sh | 5 | ||||
-rwxr-xr-x | share/hackvr/examples/chess/run | 3 |
3 files changed, 26 insertions, 10 deletions
diff --git a/share/hackvr/examples/chess/board.sh b/share/hackvr/examples/chess/board.sh index f574065..96b1b85 100755 --- a/share/hackvr/examples/chess/board.sh +++ b/share/hackvr/examples/chess/board.sh @@ -1,16 +1,29 @@ #!/bin/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 4f0cdce..5a0941b 100755 --- a/share/hackvr/examples/chess/run +++ b/share/hackvr/examples/chess/run @@ -1,4 +1,5 @@ #!/bin/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 |