← Back to ratslair.com
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorr4tss <[email protected]>2021-04-22 08:57:10 +0200
committerr4tss <[email protected]>2021-04-22 08:57:10 +0200
commit37c22e7545655a6b8169279a085d15a38cfa05f9 (patch)
tree233c473493d48ffbf0a29924bda26d79b9f0c063
parent4f7d2dc2d5c7329acc7ee4ff4695ec423ab01f82 (diff)
did stuff
-rw-r--r--distances91
-rwxr-xr-xndoom.sh118
-rwxr-xr-xrender.sh43
3 files changed, 176 insertions, 76 deletions
diff --git a/distances b/distances
new file mode 100644
index 0000000..e88a144
--- /dev/null
+++ b/distances
@@ -0,0 +1,91 @@
+4.91746288276197613692
+4.86070647846171132861
+4.80597666477292522132
+4.75322577317980001295
+4.70241057849283816236
+4.65349208373923790685
+4.60643532510449528362
+4.56120919512121916374
+4.51778628248388026448
+4.47614272703082907556
+4.43625808858026777906
+4.39811522843747079080
+4.36170020250866084700
+4.32700216506457075205
+4.29401328229566494578
+4.26272865489290218471
+4.23314624897429006826
+4.20526683475968970673
+4.17909393247564214362
+4.15463376504957786303
+4.13189521722971827218
+4.00033312997138600204
+4.00241180833953426227
+4.00639694265200266674
+4.01229256940290965319
+4.02010468261656397857
+4.02984126597056894302
+4.04151233553111786431
+4.05512999329150279570
+4.07070849175881134182
+4.08826430989254757354
+4.10781624076349382234
+4.12938549137258679988
+4.15299579514902988789
+4.17867353773549700466
+4.20644789676739496542
+4.23635099646415898762
+4.26841807797503474727
+4.30268768656151821623
+4.33920187685558590845
+4.37800643760934487599
+4.41915113755040243673
+4.46268999418115576598
+4.50868156761288627512
+4.55718928181116540769
+4.60828177595250223005
+4.66203328895910474283
+4.71852408069581730600
+4.77784089378868020928
+4.84007746056753006902
+4.90533506025675753739
+4.97372313225198910332
+5.04535995214180931312
+5.12037337808147922421
+5.19890167622241583049
+5.28109443517393970139
+5.36711358095490870903
+5.45713450562146505175
+5.55134732478058707908
+5.64995828157495526230
+5.75319131752286501612
+5.86128983390319916021
+5.97451867129492405382
+6.09316633954269753569
+6.21754753598516637167
+6.34800599644937824715
+3.57161069252959064625
+3.51608852596009908236
+3.46276614252827744904
+3.41150617449867058766
+2.10413606953403533497
+2.07808340368291366530
+2.05286138919961155545
+2.02842006751707954041
+2.00471319970610649479
+1.98169792362910897112
+1.95933444825340321146
+1.93758578052670992705
+1.91641748085756976936
+7.59930495338969927077
+7.51283988299293113437
+7.42979438030052824861
+5.09981089470626895275
+5.04483922570274142907
+2.82360588060097635914
+2.79331713427272527228
+2.76385975150604993199
+2.73519850714179878463
+2.70730053958322037706
+2.68013519486343531074
+3.67127679848351789611
diff --git a/ndoom.sh b/ndoom.sh
index 25beb32..e00a6f2 100755
--- a/ndoom.sh
+++ b/ndoom.sh
@@ -1,30 +1,22 @@
-#!/bin/ksh93
+#!/bin/zsh
readonly PI=3.1415926535897932384626
sw=10
sh=5
w=0
h=0
-x=3
-y=3
+x=4
+y=4
dx=0
dy=0
-a=9
+a=2
quit=0
stepX=0
stepY=0
-sa=$(echo "($PI / 6) * -1" | bc -l)
-ba=$(echo "$PI / 6" | bc -l)
+sa=$(echo "($PI / 4) * -1" | bc -l)
+ba=$(echo "$PI / 4" | 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 )
+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 rr {
if [ $1 -eq 0 ]
@@ -43,91 +35,65 @@ function rr {
}
function dir {
- if [ $(echo "$a < 0" | bc) -eq 1 ]
- then
- ab=$(echo "$a - ($PI * 2)" | bc)
- else
- ab=$a
- fi
- ax=$a
- ay=$(echo "($PI * 0.5) - $a" | bc)
+ ab=$1
if [ $(echo "$1 > 0" | bc) -eq 1 ] && [ $(echo "$1 < ($PI * 0.5)" | bc) -eq 1 ]
then
stepX=1
- stepY=1
+ stepY=-1
ax=$ab
- ay=$(echo "(PI * 0.5) - ab" | bc)
+ ay=$(echo "($PI * 0.5) - $ab" | bc)
elif [ $(echo "$1 > ($PI * 0.5)" | bc -l) -eq 1 ] && [ $(echo "$1 < $PI" | bc -l) -eq 1 ]
then
stepX=-1
- stepY=1
+ stepY=-1
ax=$(echo "$PI - $ab" | bc)
- oy=$(echo "$ab - ($PI * 0.5)" | bc)
+ ay=$(echo "$ab - ($PI * 0.5)" | bc)
elif [ $(echo "$1 > $PI" | bc -l) -eq 1 ] && [ $(echo "$1 < ($PI * 1.5)" | bc -l) -eq 1 ]
then
stepX=-1
- stepY=-1
+ stepY=1
ax=$(echo "$ab - $PI" | bc)
ay=$(echo "($PI * 1.5) - $ab" | bc)
else
stepX=1
- stepY=-1
+ stepY=1
ax=$(echo "($PI * 2) - $ab" | bc)
ay=$(echo "$ab - ($PI * 1.5)" | bc)
fi
}
-function check_arr {
-
-}
-
-#while [ $h -lt $sh ]
+#while [ !$quit ]
#do
-# while [ $w -lt $sw ]
-# do
-# echo -n '#'
-# ((w++))
-# done
-# echo -ne '\n'
-# ((h++))
-# w=0
-#done
-
-while [ !$quit ]
+echo -n > distances
+rc=0
+while [ $rc -lt 91 ]
do
- rc=0
rx=$(rr 0 $x)
ry=$(rr 1 $y)
- sideX=$(echo "$x - $rx" | bc)
- sideY=$(echo "$y - $ry" | bc)
- while [ $rc -lt 61 ]
+ hit=0
+ ra=$(echo "a=($a + $sa); if (a<0) a + ($PI * 2) else a" | bc)
+ dir $ra
+ dx=$(echo "a=(1 / (s($ax) / c($ax))); if (a>1) $stepX else a" | bc -l)
+ dy=$(echo "a=(1 / (s($ay) / c($ay))); if (a>1) $stepY else a" | bc -l)
+ rlc=0
+ rx=$(echo "if ($stepX==1) ($x / 1) + 1 else $x / 1" | bc)
+ ry=$(echo "if ($stepY==-1) ($y / 1) + 1 else $y / 1" | bc)
+ while [ $hit -eq 0 ]
do
- hit=0
- rlc=0
- ra=$(echo "$a + $sa" | bc)
- dir $ra
- dx=$(echo "1 / (s($ax) / c($ax))" | bc -l)
- dy=$(echo "1 / (s($ay) / c($ay))" | bc -l)
- #echo $stepX $stepY
- while [ $rlc -lt 2 ]
- do
- a=$(echo "$rx + ($mapSize * $ry)" | bc)
- echo $a $rx $ry
- if [ $rc -eq 0 ]
- then
- rx=$(echo "if ($stepX==1) ($x / 1) + 1 else $x / 1" | bc)
- ry=$(echo "if ($stepY==1) ($y / 1) + 1 else $y / 1" | bc)
- ((rlc++))
- elif [ ${map[@]} -eq 1 ]
- then
- hit=1
- ((rlc++))
- else
- rx=$(echo "")
- fi
- done
- sa=$(echo "$sa + ($PI / 180)" | bc -l)
- (( rc++ ))
+ if [ ${map[$(echo "$rx + ($mapSize * $ry)" | bc)]} -eq 1 ]
+ then
+ hit=1
+ else
+ rx=$(echo "$rx + $dx" | bc)
+ ry=$(echo "$ry + $dy" | bc)
+ fi
done
- break
+ sideX=$(echo "if($rx>$x) $rx - $x else $x - $rx" | bc)
+ sideY=$(echo "if($ry>$y) $ry - $y else $y - $ry" | bc)
+ echo "$(echo "sqrt(($sideX * $sideX) + ($sideY * $sideY))" | bc) " >> distances
+ sa=$(echo "$sa + ($PI / 180)" | bc -l)
+ (( rc++ ))
done
+#./draw.sh
+# break
+#done
diff --git a/render.sh b/render.sh
new file mode 100755
index 0000000..d686f40
--- /dev/null
+++ b/render.sh
@@ -0,0 +1,43 @@
+#!/bin/zsh
+W=0
+H=0
+height=0
+
+echo ${distance[1]}
+
+function a { #input format: distance, height, invert
+ if [ $(echo "$(sed -n $(echo $((W + 1))p) distances) < ($height * 0.75)" | bc) -eq 1 ]
+ then
+ b="#"
+ elif [ $H -gt 20 ]
+ then
+ b="-"
+ else
+ b=" "
+ fi
+}
+
+while [ $H -lt 41 ]
+do
+ echo
+ while [ $W -lt 91 ]
+ do
+ a
+ if [ $W -eq 90 ]
+ then
+ echo $b
+ else
+ echo -n $b
+ fi
+ echo -n " "
+ ((W++))
+ done
+ ((H++))
+ if [ $H -lt 21 ]
+ then
+ ((height++))
+ else
+ ((height--))
+ fi
+ W=0
+done