diff options
Diffstat (limited to 'ndoom.sh')
| -rwxr-xr-x | ndoom.sh | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/ndoom.sh b/ndoom.sh new file mode 100755 index 0000000..cab2a5d --- /dev/null +++ b/ndoom.sh @@ -0,0 +1,91 @@ +#!/bin/ksh93 +readonly PI=3.1415926535897932384626 +sw=10 +sh=5 +w=0 +h=0 +x=3 +y=3 +dx=0 +dy=0 +a=2 +quit=0 +stepX=0 +stepY=0 +sa=$(echo "($PI / 6) * -1" | bc -l) +ba=$(echo "$PI / 6" | bc -l) + +mapSize=8 +map=( 1 1 1 1 1 1 1 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 0 0 0 0 0 0 1 \ + 1 1 1 1 1 1 1 1 ) + +function dd { + if [ $1 -eq 0 ] + then + ox=$2 + ddx=$(echo "$ox / 1" | bc) + rx=$(echo "a=($ox - $ddx); b=(1 - a); if(a > 0.5) a=($ox + b) else a=$ddx; a/1" | bc) + echo $rx + elif [ $1 -eq 1 ] + then + oy=$2 + ddy=$(echo "$oy / 1" | bc) + ry=$(echo "a=($oy - $ddy); b=(1 - a); if(a > 0.5) a=($oy + b) else a=$ddy; a/1" | bc) + echo $ry + fi +} + +function dir { + if [ $(echo "$1 < ($PI * 0.5)" | bc) -eq 1 ] + then + stepX=1 + stepY=1 + elif [ $(echo "$1 > ($PI * 0.5)" | bc -l) -eq 1 ] && [ $(echo "$1 < $PI" | bc -l) -eq 1 ] + then + stepX=-1 + stepY=1 + elif [ $(echo "$1 > $PI" | bc -l) -eq 1 ] && [ $(echo "$1 < ($PI * 1.5)" | bc -l) -eq 1 ] + then + stepX=-1 + stepY=-1 + else + stepX=1 + stepY=-1 + fi +} + +#while [ $h -lt $sh ] +#do +# while [ $w -lt $sw ] +# do +# echo -n '#' +# ((w++)) +# done +# echo -ne '\n' +# ((h++)) +# w=0 +#done + +while [ !$quit ] +do +# while [ !$(echo "$sa == $ba" | bc) ] +# do + # hit=0 + # ra=$(echo "$a + $sa" | bc) + # dir $ra + # dx=$(dd 0 $x) + # dy=$(dd 1 $y) + # sideX=$(echo "if ($x > $dx) $x - $dx else $dx - $x" | bc) + # sideY=$(echo "if ($y > $dy) $y - $dy else $dy - $y" | bc) + sa=$(echo "$sD + ($PI / 180)" | bc -l) + # echo $sideX +# done + break +done |
