Day 17: Removed dead code
This commit is contained in:
@@ -9,28 +9,6 @@ declare -A life=()
|
|||||||
declare -i x=-1 y=-1 z=-1 res=0
|
declare -i x=-1 y=-1 z=-1 res=0
|
||||||
declare -i maxx maxy maxz
|
declare -i maxx maxy maxz
|
||||||
|
|
||||||
function print_life() {
|
|
||||||
local -i x=0 y=0 z=0 foundx foundy
|
|
||||||
for ((z=0; z<maxz; ++z)); do
|
|
||||||
foundy=1
|
|
||||||
for ((y=0; y<maxy; ++y)); do
|
|
||||||
foundx=1
|
|
||||||
for ((x=0; x<maxx; ++x)); do
|
|
||||||
if [[ -v life[$x-$y-$z] ]]; then
|
|
||||||
#printf "%d-%d-%d:" $x $y $z
|
|
||||||
printf "%c" ${life["$x-$y-$z"]}
|
|
||||||
foundx=1
|
|
||||||
else
|
|
||||||
printf "%c" "."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
((foundx==1)) && foundy=1 && printf "\n"
|
|
||||||
done
|
|
||||||
((foundy==1)) && printf "z=%d\n\n" "$z"
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function count_neighbors () {
|
function count_neighbors () {
|
||||||
local -i x=$1 y=$2 z=$3 x1 y1 z1 count=0
|
local -i x=$1 y=$2 z=$3 x1 y1 z1 count=0
|
||||||
local str=""
|
local str=""
|
||||||
@@ -49,7 +27,6 @@ function count_neighbors () {
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
#((count)) && printf "neighbours (%d, %d, %d)=%s\n" "$x" "$y" "$z" "$str" >&2
|
|
||||||
echo "$count"
|
echo "$count"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -7,34 +7,8 @@ CMD=${0##*/}
|
|||||||
|
|
||||||
declare -A life=()
|
declare -A life=()
|
||||||
declare -i x=-1 y=-1 z=-1 res=0
|
declare -i x=-1 y=-1 z=-1 res=0
|
||||||
declare -i max
|
|
||||||
declare -i loops=6
|
declare -i loops=6
|
||||||
|
|
||||||
function print_life() {
|
|
||||||
local -i x=0 y=0 z=0 foundx foundy
|
|
||||||
for ((z=0; z<max; ++z)); do
|
|
||||||
foundy=1
|
|
||||||
for ((y=0; y<max; ++y)); do
|
|
||||||
foundx=1
|
|
||||||
for ((x=0; x<max; ++x)); do
|
|
||||||
if [[ -v life["$x-$y-$z"] ]]; then
|
|
||||||
#printf "%d-%d-%d:" $x $y $z
|
|
||||||
if [[ ${life[$x-$y-$z]} != "#" ]]; then
|
|
||||||
printf "error"
|
|
||||||
fi
|
|
||||||
printf "%c" "${life[$x-$y-$z]}"
|
|
||||||
foundx=1
|
|
||||||
else
|
|
||||||
printf "%c" "."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
((foundx==1)) && foundy=1 && printf "\n"
|
|
||||||
done
|
|
||||||
((foundy==1)) && printf "z=%d\n\n" "$z"
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function run_cycle () {
|
function run_cycle () {
|
||||||
local -i x y z count=0 x1 y1 z1 v
|
local -i x y z count=0 x1 y1 z1 v
|
||||||
local -A lifetmp=()
|
local -A lifetmp=()
|
||||||
@@ -42,6 +16,7 @@ function run_cycle () {
|
|||||||
|
|
||||||
|
|
||||||
for k in "${!life[@]}"; do
|
for k in "${!life[@]}"; do
|
||||||
|
# shellcheck disable=SC2206
|
||||||
values=(${k//-/ })
|
values=(${k//-/ })
|
||||||
x=${values[0]}
|
x=${values[0]}
|
||||||
y=${values[1]}
|
y=${values[1]}
|
||||||
@@ -75,24 +50,8 @@ function run_cycle () {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function count_active () {
|
|
||||||
local k
|
|
||||||
local -i count=0
|
|
||||||
|
|
||||||
for k in "${!life[@]}"; do
|
|
||||||
if [[ ${life[$k]} == "#" ]]; then
|
|
||||||
((count++))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "$count"
|
|
||||||
}
|
|
||||||
|
|
||||||
x=$loops; y=$loops; z=$loops
|
x=$loops; y=$loops; z=$loops
|
||||||
|
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
if ((y==loops)); then # 1st line
|
|
||||||
((max=loops+${#line}+loops+1))
|
|
||||||
fi
|
|
||||||
for ((j=0; j<${#line}; ++j)); do
|
for ((j=0; j<${#line}; ++j)); do
|
||||||
((curx=x+j))
|
((curx=x+j))
|
||||||
c=${line:j:1}
|
c=${line:j:1}
|
||||||
@@ -105,7 +64,6 @@ done
|
|||||||
for ((i=0; i<6; ++i)); do
|
for ((i=0; i<6; ++i)); do
|
||||||
run_cycle
|
run_cycle
|
||||||
done
|
done
|
||||||
#echo "================================="
|
|
||||||
res=${#life[@]}
|
res=${#life[@]}
|
||||||
|
|
||||||
printf "%s : res=%d\n" "$CMD" "$res"
|
printf "%s : res=%d\n" "$CMD" "$res"
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# ex1.bash: Advent2020 game, day 17/game 1.
|
# ex1.bash: Advent2020 game, day 17/game 2.
|
||||||
|
|
||||||
CMD=${0##*/}
|
CMD=${0##*/}
|
||||||
#shopt -s extglob
|
#shopt -s extglob
|
||||||
|
Reference in New Issue
Block a user