46 lines
825 B
Bash
Executable File
46 lines
825 B
Bash
Executable File
#!/bin/bash
|
|
|
|
declare -A cores
|
|
for ((i=-50;i<=50;i++)); do
|
|
for ((j=-50;j<=50;j++)); do
|
|
for ((k=-50;k<=50;k++)); do
|
|
cores[$i,$j,$k]=0
|
|
done
|
|
done
|
|
done
|
|
|
|
while read line; do
|
|
if [[ ${line:0:2} == "on" ]]; then
|
|
new_value=1
|
|
else
|
|
new_value=0
|
|
fi
|
|
t=${line#*x=}
|
|
t=${t%%,*}
|
|
x_1=${t%\.\.*}
|
|
x_2=${t#*\.\.}
|
|
t=${line#*y=}
|
|
t=${t%%,*}
|
|
y_1=${t%\.\.*}
|
|
y_2=${t#*\.\.}
|
|
t=${line#*z=}
|
|
t=${t%%,*}
|
|
z_1=${t%\.\.*}
|
|
z_2=${t#*\.\.}
|
|
|
|
if [ $x_1 -lt -50 ] || [ $x_2 -gt 50 ] || [ $y_1 -lt -50 ] || [ $y_2 -gt 50 ] \
|
|
|| [ $z_1 -lt -50 ] || [ $z_2 -gt 50 ]; then
|
|
continue
|
|
fi
|
|
|
|
for ((x=x_1;x<=x_2;x++)); do
|
|
for ((y=y_1;y<=y_2;y++)); do
|
|
for ((z=z_1;z<=z_2;z++)); do
|
|
cores[$x,$y,$z]=$new_value
|
|
done
|
|
done
|
|
done
|
|
done
|
|
|
|
echo $(( $(sed 's/ /+/g' <<< ${cores[@]}) ))
|