blob: cab2a5d09164b51402806e42353a743b4acc1533 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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
|